Mercurial > pidgin
view src/protocols/zephyr/init_et.c @ 9740:2bb5e2cd64bd
[gaim-migrate @ 10605]
" A few days back, someone on #gaim was wondering how to
block IM's from IRC, which isn't supported by gaim, as
this isn't supported at a protocol level. I decided to
implement gaim's privacy options (permit lists, deny
lists, block all users, and permit people on buddy
list) at a local level for IRC and
Zephyr. Jabber, SILC, and Trepia don't seem to support
deny or permit lists in Gaim, but I don't use the
latter two protocols and wasn't sure about how to
implemnt in in Jabber.
When implementing it, I noticed that changes in privacy
settings didn't automatically cause blist.xml to get
scheduled
for writing (even on exit). To fix this, I needed to
make schedule_blist_save in blist.c non-static and call
it from serv_set_permit_deny() in server.c, and
gaim_privacy_{permit,deny}_{add,remove} in privacy.c ." --Arun A Tharuvai
committer: Tailor Script <tailor@pidgin.im>
| author | Luke Schierer <lschiere@pidgin.im> |
|---|---|
| date | Wed, 11 Aug 2004 23:52:48 +0000 |
| parents | 43dec50d8d51 |
| children | 64895571248f |
line wrap: on
line source
/* * $Header$ * $Source$ * $Locker$ * * Copyright 1986, 1987, 1988 by MIT Information Systems and * the MIT Student Information Processing Board. * * For copyright info, see mit-sipb-copyright.h. */ #include <sysdep.h> /* #include "error_table.h" */ #include "mit-sipb-copyright.h" #ifndef lint static const char rcsid_init_et_c[] = "$Header$"; #endif /* struct foobar { struct et_list etl; struct error_table et; }; */ extern struct et_list * _et_list; /* int init_error_table(msgs, base, count) */ /* const char * const * msgs; */ /* int base; */ /* int count; */ /* { */ /* struct foobar * new_et; */ /* if (!base || !count || !msgs) */ /* return 0; */ /* new_et = (struct foobar *) malloc(sizeof(struct foobar)); */ /* if (!new_et) */ /* return errno; /\* oops *\/ */ /* new_et->etl.table = &new_et->et; */ /* new_et->et.msgs = msgs; */ /* new_et->et.base = base; */ /* new_et->et.n_msgs= count; */ /* new_et->etl.next = _et_list; */ /* _et_list = &new_et->etl; */ /* return 0; */ /* } */
