diff libpurple/protocols/oscar/oscar.c @ 19920:0ed8a2a86a1b

explicit merge of 'fc49baf44017a8fd511c607b435668baf2a0f518' and 'b50640e3caa45410064cc403c759c1b427800a1e' to branch 'org.maemo.garage.pidgin.pidgin.dialog-transience'
author Gabriel Schulhof <nix@go-nix.ca>
date Fri, 17 Aug 2007 22:10:43 +0000
parents ee7d92af97f7 47942d19f301
children 6a0d9fa477d4
line wrap: on
line diff
--- a/libpurple/protocols/oscar/oscar.c	Fri Aug 17 21:01:20 2007 +0000
+++ b/libpurple/protocols/oscar/oscar.c	Fri Aug 17 22:10:43 2007 +0000
@@ -482,7 +482,7 @@
 
 	/* Attempt to send as ASCII */
 	if (oscar_charset_check(from) == AIM_CHARSET_ASCII) {
-		*msg = g_convert(from, strlen(from), "ASCII", "UTF-8", NULL, &msglen, NULL);
+		*msg = g_convert(from, -1, "ASCII", "UTF-8", NULL, &msglen, NULL);
 		*charset = AIM_CHARSET_ASCII;
 		*charsubset = 0x0000;
 		*msglen_int = msglen;
@@ -504,7 +504,7 @@
 		b = purple_find_buddy(account, destsn);
 		if ((b != NULL) && (PURPLE_BUDDY_IS_ONLINE(b)))
 		{
-			*msg = g_convert(from, strlen(from), "UCS-2BE", "UTF-8", NULL, &msglen, NULL);
+			*msg = g_convert(from, -1, "UCS-2BE", "UTF-8", NULL, &msglen, NULL);
 			if (*msg != NULL)
 			{
 				*charset = AIM_CHARSET_UNICODE;
@@ -527,7 +527,7 @@
 	 * XXX - We need a way to only attempt to convert if we KNOW "from"
 	 * can be converted to "charsetstr"
 	 */
-	*msg = g_convert(from, strlen(from), charsetstr, "UTF-8", NULL, &msglen, NULL);
+	*msg = g_convert(from, -1, charsetstr, "UTF-8", NULL, &msglen, NULL);
 	if (*msg != NULL) {
 		*charset = AIM_CHARSET_CUSTOM;
 		*charsubset = 0x0000;
@@ -538,7 +538,7 @@
 	/*
 	 * Nothing else worked, so send as UCS-2BE.
 	 */
-	*msg = g_convert(from, strlen(from), "UCS-2BE", "UTF-8", NULL, &msglen, &err);
+	*msg = g_convert(from, -1, "UCS-2BE", "UTF-8", NULL, &msglen, &err);
 	if (*msg != NULL) {
 		*charset = AIM_CHARSET_UNICODE;
 		*charsubset = 0x0000;
@@ -2261,8 +2261,9 @@
 
 /* When other people ask you for authorization */
 static void
-purple_auth_grant(struct name_data *data)
+purple_auth_grant(gpointer cbdata)
 {
+	struct name_data *data = cbdata;
 	PurpleConnection *gc = data->gc;
 	OscarData *od = gc->proto_data;
 
@@ -2282,8 +2283,9 @@
 }
 
 static void
-purple_auth_dontgrant_msgprompt(struct name_data *data)
+purple_auth_dontgrant_msgprompt(gpointer cbdata)
 {
+	struct name_data *data = cbdata;
 	purple_request_input(data->gc, NULL, _("Authorization Denied Message:"),
 					   NULL, _("No reason given."), TRUE, FALSE, NULL,
 					   _("_OK"), G_CALLBACK(purple_auth_dontgrant),
@@ -2404,8 +2406,8 @@
 
 				purple_account_request_authorization(account, sn, NULL, NULL,
 						reason, purple_find_buddy(account, sn) != NULL,
-						G_CALLBACK(purple_auth_grant),
-						G_CALLBACK(purple_auth_dontgrant_msgprompt), data);
+						purple_auth_grant,
+						purple_auth_dontgrant_msgprompt, data);
 				g_free(reason);
 			}
 		} break;
@@ -4346,10 +4348,10 @@
 
 	charset = oscar_charset_check(str);
 	if (charset == AIM_CHARSET_UNICODE) {
-		encoded = g_convert(str, strlen(str), "UCS-2BE", "UTF-8", NULL, ret_len, NULL);
+		encoded = g_convert(str, -1, "UCS-2BE", "UTF-8", NULL, ret_len, NULL);
 		*encoding = "unicode-2-0";
 	} else if (charset == AIM_CHARSET_CUSTOM) {
-		encoded = g_convert(str, strlen(str), "ISO-8859-1", "UTF-8", NULL, ret_len, NULL);
+		encoded = g_convert(str, -1, "ISO-8859-1", "UTF-8", NULL, ret_len, NULL);
 		*encoding = "iso-8859-1";
 	} else {
 		encoded = g_strdup(str);
@@ -5170,8 +5172,8 @@
 
 	purple_account_request_authorization(account, sn, NULL,
 			(buddy ? purple_buddy_get_alias_only(buddy) : NULL),
-			reason, buddy != NULL, G_CALLBACK(purple_auth_grant),
-			G_CALLBACK(purple_auth_dontgrant_msgprompt), data);
+			reason, buddy != NULL, purple_auth_grant,
+			purple_auth_dontgrant_msgprompt, data);
 	g_free(reason);
 
 	return 1;