# HG changeset patch # User Hu Yong # Date 1226386271 0 # Node ID 16434c2b52f4a5e86b2a5629fa3f7fc790c62d91 # Parent 95735ee46dd9451b6f3dbc43b4853ca5f99a0b65 Change QQ number as unsigned long diff -r 95735ee46dd9 -r 16434c2b52f4 libpurple/protocols/qq/buddy_info.c --- a/libpurple/protocols/qq/buddy_info.c Mon Nov 03 02:20:48 2008 +0000 +++ b/libpurple/protocols/qq/buddy_info.c Tue Nov 11 06:51:11 2008 +0000 @@ -228,7 +228,7 @@ g_return_if_fail(uid != 0); qd = (qq_data *) gc->proto_data; - g_snprintf(raw_data, sizeof(raw_data), "%d", uid); + g_snprintf(raw_data, sizeof(raw_data), "%u", uid); qq_send_cmd_mess(gc, QQ_CMD_GET_BUDDY_INFO, (guint8 *) raw_data, strlen(raw_data), update_class, action); } @@ -457,7 +457,7 @@ data[data_len] = '\0'; if (qd->uid != atoi((gchar *) data)) { /* return should be my uid */ purple_debug_info("QQ", "Failed Updating info\n"); - qq_got_attention(gc, _("Failed changing buddy information.")); + qq_got_message(gc, _("Failed changing buddy information.")); } } @@ -531,10 +531,6 @@ g_return_if_fail(icon_path != NULL); - /* Fixme: - * icon_path is always null - * purple_imgstore_get_filename is always new file - * QQ buddy may set custom icon if level is over 16 */ purple_debug_info("QQ", "Change my icon to %s\n", icon_path); segments = g_strsplit_set(icon_path, G_DIR_SEPARATOR_S, 0); for (index = 0; segments[index] != NULL; index++) { @@ -583,7 +579,7 @@ return icon_path; } -static void update_buddy_icon(PurpleAccount *account, const gchar *who, gint face) +void qq_update_buddy_icon(PurpleAccount *account, const gchar *who, gint face) { PurpleBuddy *buddy; const gchar *icon_name_prev = NULL; @@ -594,19 +590,21 @@ g_return_if_fail(account != NULL && who != NULL); - purple_debug_info("QQ", "Update %s icon to %d\n", who, face); + /* purple_debug_info("QQ", "Update %s icon to %d\n", who, face); */ icon_name = qq_get_icon_name(face); - purple_debug_info("QQ", "icon file name is %s\n", icon_name); + g_return_if_fail(icon_name != NULL); + /* purple_debug_info("QQ", "icon file name is %s\n", icon_name); */ if ((buddy = purple_find_buddy(account, who))) { icon_name_prev = purple_buddy_icons_get_checksum_for_user(buddy); - if (icon_name_prev != NULL) { - purple_debug_info("QQ", "Previous icon is %s\n", icon_name_prev); - } + /* + purple_debug_info("QQ", "Previous icon is %s\n", + icon_name_prev != NULL ? icon_name_prev : "(NULL)"); + */ } if (icon_name_prev != NULL && !strcmp(icon_name, icon_name_prev)) { - purple_debug_info("QQ", "Icon is not changed\n"); + /* purple_debug_info("QQ", "Icon is not changed\n"); */ g_free(icon_name); return; } @@ -620,6 +618,8 @@ if (!g_file_get_contents(icon_path, &icon_file_content, &icon_file_size, NULL)) { purple_debug_error("QQ", "Failed reading icon file %s\n", icon_path); } else { + purple_debug_info("QQ", "Update %s icon to %d (%s)\n", + who, face, icon_path); purple_buddy_icons_set_for_user(account, who, icon_file_content, icon_file_size, icon_name); } @@ -640,7 +640,7 @@ qd = (qq_data *) gc->proto_data; - uid = strtol(segments[QQ_INFO_UID], NULL, 10); + uid = strtoul(segments[QQ_INFO_UID], NULL, 10); who = uid_to_purple_name(uid); qq_filter_str(segments[QQ_INFO_NICK]); @@ -678,7 +678,7 @@ purple_blist_server_alias_buddy(buddy, bd->nickname); /* convert face num from packet (0-299) to local face (1-100) */ - update_buddy_icon(gc->account, who, bd->face); + qq_update_buddy_icon(gc->account, who, bd->face); g_free(who); g_free(alias_utf8); @@ -821,7 +821,7 @@ bd = qq_buddy_data_find(gc, uid); if (bd == NULL) { - purple_debug_error("QQ", "Got levels of %d not in my buddy list\n", uid); + purple_debug_error("QQ", "Got levels of %u not in my buddy list\n", uid); continue; } @@ -856,7 +856,7 @@ bd = qq_buddy_data_find(gc, uid); if (bd == NULL) { - purple_debug_error("QQ", "Got levels of %d not in my buddy list\n", uid); + purple_debug_error("QQ", "Got levels of %u not in my buddy list\n", uid); return; }