r4139 - in trunk/src/target/OM-2007.2/applications/openmoko-dialer2: . src/phone-kit

chris at sita.openmoko.org chris at sita.openmoko.org
Fri Feb 29 15:31:28 CET 2008


Author: chris
Date: 2008-02-29 15:31:27 +0100 (Fri, 29 Feb 2008)
New Revision: 4139

Modified:
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
   trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c
Log:
        * src/phone-kit/moko-sms.c: (on_incoming_sms):
        Decode UCS-2 messages correctly (thanks Erin Yueh)


Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog	2008-02-29 12:26:57 UTC (rev 4138)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/ChangeLog	2008-02-29 14:31:27 UTC (rev 4139)
@@ -1,3 +1,8 @@
+2008-02-29  Chris Lord  <chris at openedhand.com>
+
+	* src/phone-kit/moko-sms.c: (on_incoming_sms):
+	Decode UCS-2 messages correctly (thanks Erin Yueh)
+
 2008-02-01  Chris Lord  <chris at openedhand.com>
 
 	* src/phone-kit/moko-network.c: (io_func):

Modified: trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c
===================================================================
--- trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c	2008-02-29 12:26:57 UTC (rev 4138)
+++ trunk/src/target/OM-2007.2/applications/openmoko-dialer2/src/phone-kit/moko-sms.c	2008-02-29 14:31:27 UTC (rev 4139)
@@ -298,10 +298,21 @@
     message = g_strdup (sms->payload.data);
     break;
   case ALPHABET_UCS2 :
-    g_debug ("Decoding UCS-2 message");
-    message = g_utf16_to_utf8 ((const gunichar2 *)sms->payload.data,
-                               sms->payload.length, NULL, NULL, NULL);
-    break;
+    {
+      gint i;
+      gunichar2 *ucs2 = sms->payload.data;
+
+      g_debug ("Decoding UCS-2 message");
+
+      for (i = 0; i < sms->payload.length / 2; i++) {
+        ucs2[i] = GUINT16_FROM_BE(ucs2[i]);
+
+        message = g_utf16_to_utf8 ((const gunichar2 *)sms->payload.data,
+                                   sms->payload.length, NULL, NULL, NULL);
+      }
+
+      break;
+    }
   }
   
   /* Store message in the journal */





More information about the commitlog mailing list