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 {