changeset 387:2bbeef7b4fdd

Do non UTF8-encode/decode null pointers
author Mikael Berthe <mikael@lilotux.net>
date Fri, 29 Jul 2005 19:09:07 +0100
parents 41ef80a34ba5
children f211238d5812
files mcabber/src/jabglue.c
diffstat 1 files changed, 13 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/mcabber/src/jabglue.c	Fri Jul 29 18:40:03 2005 +0100
+++ b/mcabber/src/jabglue.c	Fri Jul 29 19:09:07 2005 +0100
@@ -35,6 +35,9 @@
 
 #define JABBER_AGENT_GROUP "Jabber Agents"
 
+#define to_utf8(s)   ((s) ? g_locale_to_utf8((s),   -1, NULL,NULL,NULL) : NULL)
+#define from_utf8(s) ((s) ? g_locale_from_utf8((s), -1, NULL,NULL,NULL) : NULL)
+
 jconn jc;
 static time_t LastPingTime;
 static unsigned int KeepaliveDelay;
@@ -286,7 +289,7 @@
   if (!msg)
       msg = settings_get_status_msg(st);
 
-  utf8_msg = g_locale_to_utf8(msg, -1, NULL, NULL, NULL);
+  utf8_msg = to_utf8(msg);
   xmlnode_insert_cdata(xmlnode_insert_tag(x, "status"), utf8_msg,
           (unsigned) -1);
 
@@ -307,7 +310,7 @@
 
 void jb_send_msg(const char *jid, const char *text)
 {
-  gchar *buffer = g_locale_to_utf8(text, -1, NULL, NULL, NULL);
+  gchar *buffer = to_utf8(text);
   xmlnode x = jutil_msgnew(TMSG_CHAT, (char*)jid, 0, (char*)buffer);
   jab_send(jc, x);
   xmlnode_free(x);
@@ -337,14 +340,14 @@
   xmlnode_put_attrib(z, "jid", jid);
 
   if (name) {
-    gchar *name_utf8 = g_locale_to_utf8(name, -1, NULL, NULL, NULL);
+    gchar *name_utf8 = to_utf8(name);
     z = xmlnode_insert_tag(z, "name");
     xmlnode_insert_cdata(z, name_utf8, (unsigned) -1);
     g_free(name_utf8);
   }
 
   if (group) {
-    char *group_utf8 = g_locale_to_utf8(group, -1, NULL, NULL, NULL);
+    char *group_utf8 = to_utf8(group);
     z = xmlnode_insert_tag(z, "group");
     xmlnode_insert_cdata(z, group_utf8, (unsigned) -1);
     g_free(group_utf8);
@@ -414,7 +417,7 @@
   // XXX We should check name's and group's correctness
 
   cleanjid = jidtodisp(jid);
-  name_utf8 = g_locale_to_utf8(name, -1, NULL, NULL, NULL);
+  name_utf8 = to_utf8(name);
 
   x = jutil_iqnew(JPACKET__SET, NS_ROSTER);
   y = xmlnode_insert_tag(xmlnode_get_tag(x, "query"), "item");
@@ -422,7 +425,7 @@
   xmlnode_put_attrib(y, "name", name_utf8);
 
   if (group) {
-    gchar *group_utf8 = g_locale_to_utf8(group, -1, NULL, NULL, NULL);
+    gchar *group_utf8 = to_utf8(group);
     y = xmlnode_insert_tag(y, "group");
     xmlnode_insert_cdata(y, group_utf8, (unsigned) -1);
     g_free(group_utf8);
@@ -521,13 +524,13 @@
       gchar *group_noutf8 = NULL;
 
       if (name) {
-        name_noutf8 = g_locale_from_utf8(name, -1, NULL, NULL, NULL);
+        name_noutf8 = from_utf8(name);
         buddyname = name_noutf8;
       } else
         buddyname = cleanalias;
 
       if (group)
-        group_noutf8 = g_locale_from_utf8(group, -1, NULL, NULL, NULL);
+        group_noutf8 = from_utf8(group);
 
       roster_add_user(cleanalias, buddyname, group_noutf8, ROSTER_TYPE_USER);
       if (name_noutf8)  g_free(name_noutf8);
@@ -543,7 +546,7 @@
         const char *enc, time_t timestamp)
 {
   char *jid;
-  gchar *buffer = g_locale_from_utf8(body, -1, NULL, NULL, NULL);
+  gchar *buffer = from_utf8(body);
 
   /*
   //char *u, *h, *r;
@@ -852,7 +855,7 @@
           ust = offline;
 
         if ((x = xmlnode_get_tag(packet->x, "status")) != NULL)
-          p = g_locale_from_utf8(xmlnode_get_data(x), -1, NULL, NULL, NULL);
+          p = from_utf8(xmlnode_get_data(x));
         else
           p = NULL;