# HG changeset patch # User Sadrul Habib Chowdhury # Date 1182049213 0 # Node ID b2438a35c5f7cccfc51520ea20fe9bbd7bbb7387 # Parent 36400e6f8954f61b55a65a793afddeceef373b73# Parent 1a282f3d8057699bbc82d32090085f7e9eb94ad7 merge of '86936c1215d2a20fa7f31db4a460494f112b0b6a' and 'ad0ef0d110ad7358d259add59b0dcf24291794db' diff -r 36400e6f8954 -r b2438a35c5f7 libpurple/blist.c --- a/libpurple/blist.c Sun Jun 17 02:49:10 2007 +0000 +++ b/libpurple/blist.c Sun Jun 17 03:00:13 2007 +0000 @@ -35,8 +35,6 @@ #include "value.h" #include "xmlnode.h" -#define PATHSIZE 1024 - static PurpleBlistUiOps *blist_ui_ops = NULL; static PurpleBuddyList *purplebuddylist = NULL; diff -r 36400e6f8954 -r b2438a35c5f7 libpurple/protocols/qq/group_im.c --- a/libpurple/protocols/qq/group_im.c Sun Jun 17 02:49:10 2007 +0000 +++ b/libpurple/protocols/qq/group_im.c Sun Jun 17 03:00:13 2007 +0000 @@ -341,7 +341,7 @@ read_packet_dw(data, cursor, data_len, &(im_group->member_uid)); read_packet_w(data, cursor, data_len, &unknown); /* 0x0001? */ read_packet_w(data, cursor, data_len, &(im_group->msg_seq)); - read_packet_dw(data, cursor, data_len, (guint32 *) & (im_group->send_time)); + read_packet_time(data, cursor, data_len, &im_group->send_time); read_packet_dw(data, cursor, data_len, &unknown4); /* versionID */ /* * length includes font_attr diff -r 36400e6f8954 -r b2438a35c5f7 libpurple/protocols/qq/login_logout.c --- a/libpurple/protocols/qq/login_logout.c Sun Jun 17 02:49:10 2007 +0000 +++ b/libpurple/protocols/qq/login_logout.c Sun Jun 17 03:00:13 2007 +0000 @@ -181,7 +181,7 @@ /* 031-032: server listening port */ bytes += read_packet_w(data, &cursor, len, &lrop.server_port); /* 033-036: login time for current session */ - bytes += read_packet_dw(data, &cursor, len, (guint32 *) &lrop.login_time); + bytes += read_packet_time(data, &cursor, len, &lrop.login_time); /* 037-062: 26 bytes, unknown */ bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.unknown1, 26); /* 063-066: unknown server1 ip address */ @@ -203,7 +203,7 @@ /* 123-126: login IP of last session */ bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.last_client_ip, 4); /* 127-130: login time of last session */ - bytes += read_packet_dw(data, &cursor, len, (guint32 *) &lrop.last_login_time); + bytes += read_packet_time(data, &cursor, len, &lrop.last_login_time); /* 131-138: 8 bytes unknown */ bytes += read_packet_data(data, &cursor, len, (guint8 *) &lrop.unknown6, 8); diff -r 36400e6f8954 -r b2438a35c5f7 libpurple/protocols/qq/packet_parse.c --- a/libpurple/protocols/qq/packet_parse.c Sun Jun 17 02:49:10 2007 +0000 +++ b/libpurple/protocols/qq/packet_parse.c Sun Jun 17 03:00:13 2007 +0000 @@ -65,6 +65,19 @@ } } +/* read four bytes as "time_t" from buf, + * return the number of bytes read if succeeds, otherwise return -1 + * This function is a wrapper around read_packet_dw() to avoid casting. */ +gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t) +{ + guint32 time; + gint ret = read_packet_dw(buf, cursor, buflen, &time); + if (ret != -1 ) { + *t = time; + } + return ret; +} + /* read datalen bytes from buf, * return the number of bytes read if succeeds, otherwise return -1 */ gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen) { diff -r 36400e6f8954 -r b2438a35c5f7 libpurple/protocols/qq/packet_parse.h --- a/libpurple/protocols/qq/packet_parse.h Sun Jun 17 02:49:10 2007 +0000 +++ b/libpurple/protocols/qq/packet_parse.h Sun Jun 17 03:00:13 2007 +0000 @@ -39,6 +39,7 @@ gint read_packet_b(guint8 *buf, guint8 **cursor, gint buflen, guint8 *b); gint read_packet_w(guint8 *buf, guint8 **cursor, gint buflen, guint16 *w); gint read_packet_dw(guint8 *buf, guint8 **cursor, gint buflen, guint32 *dw); +gint read_packet_time(guint8 *buf, guint8 **cursor, gint buflen, time_t *t); gint read_packet_data(guint8 *buf, guint8 **cursor, gint buflen, guint8 *data, gint datalen); gint create_packet_b(guint8 *buf, guint8 **cursor, guint8 b); gint create_packet_w(guint8 *buf, guint8 **cursor, guint16 w); diff -r 36400e6f8954 -r b2438a35c5f7 pidgin/gtkutils.c --- a/pidgin/gtkutils.c Sun Jun 17 02:49:10 2007 +0000 +++ b/pidgin/gtkutils.c Sun Jun 17 03:00:13 2007 +0000 @@ -525,7 +525,7 @@ { PurplePluginProtocolInfo *prpl_info; const char *protoname = NULL; - char buf[MAXPATHLEN]; + char *tmp; char *filename = NULL; GdkPixbuf *pixbuf; @@ -541,12 +541,14 @@ * Status icons will be themeable too, and then it will look up * protoname from the theme */ - g_snprintf(buf, sizeof(buf), "%s.png", protoname); + tmp = g_strconcat(protoname, ".png", NULL); filename = g_build_filename(DATADIR, "pixmaps", "pidgin", "protocols", size == PIDGIN_PRPL_ICON_SMALL ? "16" : size == PIDGIN_PRPL_ICON_MEDIUM ? "22" : "48", - buf, NULL); + tmp, NULL); + g_free(tmp); + pixbuf = gdk_pixbuf_new_from_file(filename, NULL); g_free(filename);