comparison src/server.c @ 281:7b06ba09ffe2

[gaim-migrate @ 291] So someone today told me I should make it so the permit list works, so I did. committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Tue, 30 May 2000 23:49:54 +0000
parents e606585a38bd
children 0f14e6d8a51b
comparison
equal deleted inserted replaced
280:e606585a38bd 281:7b06ba09ffe2
342 342
343 343
344 344
345 void serv_set_permit_deny() 345 void serv_set_permit_deny()
346 { 346 {
347 #ifndef USE_OSCAR
347 char buf[MSG_LEN]; 348 char buf[MSG_LEN];
348 int at; 349 int at;
349 GList *list; 350 GList *list;
350 351
351 #ifndef USE_OSCAR
352 /* FIXME! We flash here. */ 352 /* FIXME! We flash here. */
353 if (permdeny == 1 || permdeny == 3) { 353 if (permdeny == 1 || permdeny == 3) {
354 g_snprintf(buf, sizeof(buf), "toc_add_permit"); 354 g_snprintf(buf, sizeof(buf), "toc_add_permit");
355 sflap_send(buf, -1, TYPE_DATA); 355 sflap_send(buf, -1, TYPE_DATA);
356 } else { 356 } else {
377 buf[at] = 0; 377 buf[at] = 0;
378 sflap_send(buf, -1, TYPE_DATA); 378 sflap_send(buf, -1, TYPE_DATA);
379 #else 379 #else
380 /* oscar requires us to do everyone at once (?) */ 380 /* oscar requires us to do everyone at once (?) */
381 /* I think this code is OK now. */ 381 /* I think this code is OK now. */
382 list = deny; at = 0; 382 char buf[BUF_LONG]; int at; GList *list, *grp, *bud;
383 if (list == NULL) return; 383 if (permdeny == 3) { /* Permit Some : Only people on buddy list and
384 while (list) { 384 on permit list */
385 at += g_snprintf(&buf[at], sizeof(buf) - at, "%s&", list->data); 385 struct group *g; struct buddy *b;
386 list = list->next; 386 at = 0; list = permit; grp = groups;
387 } 387 debug_print("Setting permit list...\n");
388 aim_bos_changevisibility(gaim_sess, gaim_conn, 388 while (grp) {
389 AIM_VISIBILITYCHANGE_DENYADD, buf); 389 g = (struct group *)grp->data;
390 bud = g->members;
391 while (bud) {
392 b = (struct buddy *)bud->data;
393 at += g_snprintf(&buf[at], sizeof(buf) - at,
394 "%s&", b->name);
395 bud = bud->next;
396 }
397 grp = grp->next;
398 }
399 while (list) {
400 at += g_snprintf(&buf[at], sizeof(buf) - at, "%s&",
401 list->data);
402 list = list->next;
403 }
404 aim_bos_changevisibility(gaim_sess, gaim_conn,
405 AIM_VISIBILITYCHANGE_PERMITADD, buf);
406 } else { /* Deny Some : Deny people on deny list */
407 list = deny; at = 0;
408 if (list == NULL) return;
409 while (list) {
410 at += g_snprintf(&buf[at], sizeof(buf) - at, "%s&",
411 list->data);
412 list = list->next;
413 }
414 aim_bos_changevisibility(gaim_sess, gaim_conn,
415 AIM_VISIBILITYCHANGE_DENYADD, buf);
416 }
390 #endif 417 #endif
391 } 418 }
392 419
393 void serv_set_idle(int time) 420 void serv_set_idle(int time)
394 { 421 {