Mercurial > pidgin.yaz
comparison libfaim/aim_info.c @ 1248:920c86b753d7
[gaim-migrate @ 1258]
bah
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Wed, 13 Dec 2000 03:31:15 +0000 |
parents | 1d8f05ea6bdf |
children | 4c5c2fcb83cd |
comparison
equal
deleted
inserted
replaced
1247:f50146ce818e | 1248:920c86b753d7 |
---|---|
8 | 8 |
9 | 9 |
10 #include <faim/aim.h> | 10 #include <faim/aim.h> |
11 | 11 |
12 struct aim_priv_inforeq { | 12 struct aim_priv_inforeq { |
13 char sn[MAXSNLEN]; | 13 char sn[MAXSNLEN+1]; |
14 unsigned short infotype; | 14 unsigned short infotype; |
15 }; | 15 }; |
16 | 16 |
17 faim_export unsigned long aim_getinfo(struct aim_session_t *sess, | 17 faim_export unsigned long aim_getinfo(struct aim_session_t *sess, |
18 struct aim_conn_t *conn, | 18 struct aim_conn_t *conn, |
19 const char *sn, | 19 const char *sn, |
20 unsigned short infotype) | 20 unsigned short infotype) |
21 { | 21 { |
22 struct command_tx_struct *newpacket; | 22 struct command_tx_struct *newpacket; |
23 struct aim_priv_inforeq privdata; | |
23 int i = 0; | 24 int i = 0; |
24 | 25 |
25 if (!sess || !conn || !sn) | 26 if (!sess || !conn || !sn) |
26 return 0; | 27 return 0; |
27 | 28 |
37 i += aimutil_putstr(newpacket->data+i, sn, strlen(sn)); | 38 i += aimutil_putstr(newpacket->data+i, sn, strlen(sn)); |
38 | 39 |
39 newpacket->lock = 0; | 40 newpacket->lock = 0; |
40 aim_tx_enqueue(sess, newpacket); | 41 aim_tx_enqueue(sess, newpacket); |
41 | 42 |
42 { | 43 strncpy(privdata.sn, sn, sizeof(privdata.sn)); |
43 struct aim_snac_t snac; | 44 privdata.infotype = infotype; |
44 | 45 aim_cachesnac(sess, 0x0002, 0x0005, 0x0000, &privdata, sizeof(struct aim_priv_inforeq)); |
45 snac.id = sess->snac_nextid; | 46 |
46 snac.family = 0x0002; | 47 return sess->snac_nextid; |
47 snac.type = 0x0005; | |
48 snac.flags = 0x0000; | |
49 | |
50 snac.data = malloc(sizeof(struct aim_priv_inforeq)); | |
51 strcpy(((struct aim_priv_inforeq *)snac.data)->sn, sn); | |
52 ((struct aim_priv_inforeq *)snac.data)->infotype = infotype; | |
53 | |
54 aim_newsnac(sess, &snac); | |
55 } | |
56 | |
57 return (sess->snac_nextid++); | |
58 } | 48 } |
59 | 49 |
60 faim_internal int aim_parse_locateerr(struct aim_session_t *sess, | 50 faim_internal int aim_parse_locateerr(struct aim_session_t *sess, |
61 struct command_rx_struct *command) | 51 struct command_rx_struct *command) |
62 { | 52 { |