Mercurial > pidgin
view libfaim/aim_buddylist.c @ 305:77404a4692b1
[gaim-migrate @ 315]
12:10:45 EWarmenhoven: ok, the new method for chosing a font: it tries the requested font at the requested size. if it can't do that, it tries the requested font at any size. if it can't do that, it tries courier at any size, then helvetica at any size. if it can't do *that*, it tries the person's default outgoing font, if they have one. if it can't do that, it tries courier, helvetica, then times, all in their most boring form (no bold, italics, etc) at any size. if it *still* can't do that, then there's just no hope, and it segfaults. but at least there's a few more layers of protection and probability that you're going to get *something* right
12:11:43 EWarmenhoven: i don't even know that it'll segfault, but i'm pretty sure it will, since by the time you get down there, it returns NULL :-P
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 01 Jun 2000 19:13:00 +0000 |
parents | 0f14e6d8a51b |
children | e4c34ca88d9b |
line wrap: on
line source
#include <faim/aim.h> /* * aim_add_buddy() * * Adds a single buddy to your buddy list after login. * */ u_long aim_add_buddy(struct aim_session_t *sess, struct aim_conn_t *conn, char *sn ) { struct command_tx_struct *newpacket; int i; if(!sn) return -1; if (!(newpacket = aim_tx_new(0x0002, conn, 10+1+strlen(sn)))) return -1; newpacket->lock = 1; i = aim_putsnac(newpacket->data, 0x0003, 0x0004, 0x0000, sess->snac_nextid); i += aimutil_put8(newpacket->data+i, strlen(sn)); i += aimutil_putstr(newpacket->data+i, sn, strlen(sn)); aim_tx_enqueue(sess, newpacket ); { struct aim_snac_t snac; snac.id = sess->snac_nextid; snac.family = 0x0003; snac.type = 0x0004; snac.flags = 0x0000; snac.data = malloc( strlen( sn ) + 1 ); memcpy( snac.data, sn, strlen( sn ) + 1 ); aim_newsnac(sess, &snac); } return( sess->snac_nextid++ ); } u_long aim_remove_buddy(struct aim_session_t *sess, struct aim_conn_t *conn, char *sn ) { struct command_tx_struct *newpacket; int i; if(!sn) return -1; if (!(newpacket = aim_tx_new(0x0002, conn, 10+1+strlen(sn)))) return -1; newpacket->lock = 1; i = aim_putsnac(newpacket->data, 0x0003, 0x0005, 0x0000, sess->snac_nextid); i += aimutil_put8(newpacket->data+i, strlen(sn)); i += aimutil_putstr(newpacket->data+i, sn, strlen(sn)); aim_tx_enqueue(sess, newpacket); { struct aim_snac_t snac; snac.id = sess->snac_nextid; snac.family = 0x0003; snac.type = 0x0005; snac.flags = 0x0000; snac.data = malloc( strlen( sn ) + 1 ); memcpy( snac.data, sn, strlen( sn ) + 1 ); aim_newsnac(sess, &snac ); } return( sess->snac_nextid++ ); }