libpurple/protocols/oscar/userinfo.c

branch
release-2.x.y
changeset 35977
9b7b48f446f4
parent 33806
13870c71e6c6
child 35989
2b5a26ddbb69
child 35990
dcbaf8e5e624
--- a/libpurple/protocols/oscar/userinfo.c	Tue May 06 12:25:44 2014 +0200
+++ b/libpurple/protocols/oscar/userinfo.c	Tue May 06 12:43:32 2014 +0200
@@ -336,11 +336,11 @@
 		bi = g_hash_table_lookup(od->buddyinfo, purple_normalize(account, userinfo->bn));
 
 	if ((bi != NULL) && (bi->ipaddr != 0)) {
-		tmp =  g_strdup_printf("%hhu.%hhu.%hhu.%hhu",
-						(bi->ipaddr & 0xff000000) >> 24,
-						(bi->ipaddr & 0x00ff0000) >> 16,
-						(bi->ipaddr & 0x0000ff00) >> 8,
-						(bi->ipaddr & 0x000000ff));
+		tmp =  g_strdup_printf("%u.%u.%u.%u",
+			0xFF & (bi->ipaddr & 0xff000000) >> 24,
+			0xFF & (bi->ipaddr & 0x00ff0000) >> 16,
+			0xFF & (bi->ipaddr & 0x0000ff00) >> 8,
+			0xFF & (bi->ipaddr & 0x000000ff));
 		oscar_user_info_add_pair(user_info, _("IP Address"), tmp);
 		g_free(tmp);
 	}
@@ -400,11 +400,11 @@
 	purple_notify_user_info_add_pair(user_info, _("UIN"), who);
 	oscar_user_info_convert_and_add(account, od, user_info, _("Nick"), info->nick);
 	if ((bi != NULL) && (bi->ipaddr != 0)) {
-		char *tstr =  g_strdup_printf("%hhu.%hhu.%hhu.%hhu",
-						(bi->ipaddr & 0xff000000) >> 24,
-						(bi->ipaddr & 0x00ff0000) >> 16,
-						(bi->ipaddr & 0x0000ff00) >> 8,
-						(bi->ipaddr & 0x000000ff));
+		char *tstr =  g_strdup_printf("%u.%u.%u.%u",
+			0xFF & (bi->ipaddr & 0xff000000) >> 24,
+			0xFF & (bi->ipaddr & 0x00ff0000) >> 16,
+			0xFF & (bi->ipaddr & 0x0000ff00) >> 8,
+			0xFF & (bi->ipaddr & 0x000000ff));
 		purple_notify_user_info_add_pair(user_info, _("IP Address"), tstr);
 		g_free(tstr);
 	}

mercurial