2
|
1
|
|
2 /*
|
|
3 * aim_search.c
|
|
4 *
|
|
5 * TODO: Add aim_usersearch_name()
|
|
6 *
|
|
7 */
|
|
8
|
|
9 #include <aim.h>
|
|
10
|
237
|
11 u_long aim_usersearch_address(struct aim_session_t *sess,
|
|
12 struct aim_conn_t *conn,
|
|
13 char *address)
|
2
|
14 {
|
237
|
15 struct command_tx_struct *newpacket;
|
2
|
16
|
|
17 if (!address)
|
|
18 return -1;
|
|
19
|
237
|
20 if (!(newpacket = aim_tx_new(0x0002, conn, 10+strlen(address))))
|
|
21 return -1;
|
2
|
22
|
237
|
23 newpacket->lock = 1;
|
2
|
24
|
237
|
25 aim_putsnac(newpacket->data, 0x000a, 0x0002, 0x0000, sess->snac_nextid);
|
2
|
26
|
237
|
27 aimutil_putstr(newpacket->data+10, address, strlen(address));
|
2
|
28
|
237
|
29 aim_tx_enqueue(sess, newpacket);
|
2
|
30
|
|
31 {
|
|
32 struct aim_snac_t snac;
|
|
33
|
237
|
34 snac.id = sess->snac_nextid;
|
2
|
35 snac.family = 0x000a;
|
|
36 snac.type = 0x0002;
|
|
37 snac.flags = 0x0000;
|
|
38
|
|
39 snac.data = malloc(strlen(address)+1);
|
|
40 memcpy(snac.data, address, strlen(address)+1);
|
|
41
|
237
|
42 aim_newsnac(sess, &snac);
|
2
|
43 }
|
|
44
|
237
|
45 return (sess->snac_nextid++);
|
2
|
46 }
|
|
47
|