diff src/protocols/gg/gg.c @ 4051:a5c49e9c6a53

[gaim-migrate @ 4261] (18:27:24) Paco-Paco: The new gaim prpl semantics dictate that gaim<=>prpl communication is always done in UTF-8. This patch brings gadu-gadu up-to-date with respect to this practice. committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sun, 08 Dec 2002 23:29:45 +0000
parents 988485669631
children c3968c878c68
line wrap: on
line diff
--- a/src/protocols/gg/gg.c	Fri Dec 06 18:42:52 2002 +0000
+++ b/src/protocols/gg/gg.c	Sun Dec 08 23:29:45 2002 +0000
@@ -1,6 +1,6 @@
 /*
  * gaim - Gadu-Gadu Protocol Plugin
- * $Id: gg.c 3850 2002-10-16 19:57:03Z hermanator $
+ * $Id: gg.c 4261 2002-12-08 23:29:45Z lschiere $
  *
  * Copyright (C) 2001 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * 
@@ -42,13 +42,6 @@
 #include <time.h>
 #include <sys/stat.h>
 #include <ctype.h>
-#ifdef HAVE_LANGINFO_CODESET
-#include <langinfo.h>
-#endif
-#ifdef HAVE_ICONV
-#include <iconv.h>
-#include "iconv_string.h"
-#endif
 /* Library from EKG (Eksperymentalny Klient Gadu-Gadu) */
 #include "libgg.h"
 #include "multi.h"
@@ -115,12 +108,7 @@
 
 static gchar *charset_convert(const gchar *locstr, const char *encsrc, const char *encdst)
 {
-#ifdef HAVE_ICONV
-	gchar *result = NULL;
-	if (iconv_string(encdst, encsrc, locstr, locstr + strlen(locstr) + 1, &result, NULL) >= 0)
-		return result;
-#endif
-	return g_strdup(locstr);
+	return (g_convert (locstr, strlen (locstr), encdst, encsrc, NULL, NULL, NULL));
 }
 
 static gboolean invalid_uin(const char *uin)
@@ -168,20 +156,6 @@
 	}
 }
 
-static const gchar *find_local_charset(void)
-{
-	const gchar *gg_localenc = g_getenv("GG_CHARSET");
-
-	if (gg_localenc == NULL) {
-#ifdef HAVE_LANGINFO_CODESET
-		gg_localenc = nl_langinfo(CODESET);
-#else
-		gg_localenc = "US-ASCII";
-#endif
-	}
-	return gg_localenc;
-}
-
 static char *handle_errcode(struct gaim_connection *gc, int errcode)
 {
 	static char msg[AGG_BUF_LEN];
@@ -362,7 +336,7 @@
 			g_snprintf(user, sizeof(user), "%lu", e->event.msg.sender);
 			if (!allowed_uin(gc, user))
 				break;
-			imsg = charset_convert(e->event.msg.message, "CP1250", find_local_charset());
+			imsg = charset_convert(e->event.msg.message, "CP1250", "UTF-8");
 			strip_linefeed(imsg);
 			/* e->event.msg.time - we don't know what this time is for */
 			serv_got_im(gc, user, imsg, 0, time(NULL), -1);
@@ -630,7 +604,7 @@
 	}
 
 	if (strlen(msg) > 0) {
-		imsg = charset_convert(msg, find_local_charset(), "CP1250");
+		imsg = charset_convert(msg, "UTF-8", "CP1250");
 		if (gg_send_message(gd->sess, (flags & IM_FLAG_CHECKBOX)
 				    ? GG_CLASS_MSG : GG_CLASS_CHAT,
 				    strtol(who, (char **)NULL, 10), imsg) < 0)
@@ -709,7 +683,7 @@
 		if (i % 8 == 0)
 			j = 0;
 
-		p = charset_convert(g_strstrip(webdata_tbl[i]), "CP1250", find_local_charset());
+		p = charset_convert(g_strstrip(webdata_tbl[i]), "CP1250", "UTF-8");
 
 		oldibuf = ibuf;
 
@@ -1114,9 +1088,9 @@
 		srch->request = g_strdup_printf("Mode=1&Email=%s", eemail);
 		g_free(eemail);
 	} else {
-		gchar *new_first = charset_convert(first, find_local_charset(), "CP1250");
-		gchar *new_last = charset_convert(last, find_local_charset(), "CP1250");
-		gchar *new_city = charset_convert(city, find_local_charset(), "CP1250");
+		gchar *new_first = charset_convert(first, "UTF-8", "CP1250");
+		gchar *new_last = charset_convert(last, "UTF-8", "CP1250");
+		gchar *new_city = charset_convert(city, "UTF-8", "CP1250");
 
 		gchar *enew_first = gg_urlencode(new_first);
 		gchar *enew_last = gg_urlencode(new_last);
@@ -1220,7 +1194,7 @@
 
 	/* If it's invalid uin then maybe it's nickname? */
 	if (invalid_uin(who)) {
-		gchar *new_who = charset_convert(who, find_local_charset(), "CP1250");
+		gchar *new_who = charset_convert(who, "UTF-8", "CP1250");
 		gchar *enew_who = gg_urlencode(new_who);
 		
 		g_free(new_who);