src/gaim-socket.h

Fri, 13 Feb 2004 05:37:12 +0000

author
Mark Doliner <markdoliner@pidgin.im>
date
Fri, 13 Feb 2004 05:37:12 +0000
changeset 8250
e855dcce1fa0
parent 8046
c581b20a47d6
child 9713
bb37562302a1
permissions
-rw-r--r--

[gaim-migrate @ 8973]
1) Minor changes to the network listen code again. Tim, let me know
if you have any other suggestions.

2) Changed how charsets are handled in oscar a tad bit. I think this
should guarantee that Gaim doesn't crash when people send funky
messages, or have funky away messages or really anything that is
using a charset that isn't utf8, iso-8859-1, ucs-2be, or ascii.

Ethan, this should fix the problem with that person's away message.
Although, the message itself still looks kinda funky to me. The
encoding is Windows-31J, which is apparently a valid iconv encoding?
You would know more than I.

3) Fix the following crash:
1. IM yourself a message on AIM
2. Do NOT begin to type a second message, but instead hit CTRL+up

3478
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
1 /*
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
2 * gaim-remote
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
3 *
8046
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 3478
diff changeset
4 * Gaim is the legal property of its developers, whose names are too numerous
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 3478
diff changeset
5 * to list here. Please refer to the COPYRIGHT file distributed with this
c581b20a47d6 [gaim-migrate @ 8730]
Sean Egan <seanegan@pidgin.im>
parents: 3478
diff changeset
6 * source distribution.
3478
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
7 *
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
8 * This program is free software; you can redistribute it and/or modify
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
9 * it under the terms of the GNU General Public License as published by
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
11 * (at your option) any later version.
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
12 *
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
13 * This program is distributed in the hope that it will be useful,
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
16 * GNU General Public License for more details.
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
17 *
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
18 * You should have received a copy of the GNU General Public License
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
19 * along with this program; if not, write to the Free Software
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
21 *
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
22 */
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
23
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
24 #ifndef _GAIM_SOCKET_H_
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
25 #define _GAIM_SOCKET_H_
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
26
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
27 struct gaim_cui_packet {
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
28 guchar type;
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
29 guchar subtype;
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
30 guint32 length;
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
31 char *data;
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
32 };
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
33
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
34
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
35 void cui_send_packet (int fd, struct gaim_cui_packet *p);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
36 gint gaim_connect_to_session(gint session);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
37 gboolean gaim_session_exists(int sess);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
38
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
39 struct gaim_cui_packet *cui_packet_new(guchar type, guchar subtype);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
40 void cui_packet_free(struct gaim_cui_packet *p);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
41 void cui_packet_append_string(struct gaim_cui_packet *p, char *str);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
42 void cui_packet_append_char(struct gaim_cui_packet *p, char c);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
43 void cui_packet_append_raw(struct gaim_cui_packet *p, char *str, int len);
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
44
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
45
28a897f24a35 [gaim-migrate @ 3532]
Sean Egan <seanegan@pidgin.im>
parents:
diff changeset
46 #endif /* _GAIM_SOCKET_H_ */

mercurial