Mercurial > pidgin
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 { |
