Author: iratqq
Date: Sat Jan 17 08:25:01 2009
New Revision: 5734

Modified:
   trunk/fep/callbacks.c
   trunk/fep/helper.c

Log:
* fep/helper.c (send_im_list):
* fep/callbacks.c (get_mode_str, switch_system_global_im_cb)
  (prop_list_update_cb): Use uim_asprintf().


Modified: trunk/fep/callbacks.c
==============================================================================
--- trunk/fep/callbacks.c       (original)
+++ trunk/fep/callbacks.c       Sat Jan 17 08:25:01 2009
@@ -335,8 +335,7 @@

   assert(!s_start_callbacks);

-  str = malloc(strlen(s_im_str) + strlen(s_label_str) + strlen("[]") + 1);
-  sprintf(str, "%s[%s]", s_im_str, s_label_str);
+  uim_asprintf(&str, "%s[%s]", s_im_str, s_label_str);
   strhead(str, s_max_width);

   return str;
@@ -360,19 +359,10 @@
 static void switch_system_global_im_cb(void *ptr, const char *name)
 {
   char *buf;
-  int len = 0;

-#define HEADER_FORMAT "im_change_whole_desktop\n%s\n"
-
-  len += strlen(HEADER_FORMAT);
-  len += name ? strlen(name) : 0;
-
-  buf = malloc(len);
-  snprintf(buf, len, HEADER_FORMAT, name ? name : "");
+  uim_asprintf(&buf, "im_change_whole_desktop\n%s\n", name ? name : "");
   uim_helper_send_message(g_helper_fd, buf);
   free(buf);
-
-#undef HEADER_FORMAT
 }

 /*
@@ -666,8 +656,7 @@
   }

   enc = get_enc();
- message_buf = malloc(strlen("prop_list_update\ncharset=") + strlen(enc) + strlen("\n") + strlen(str) + 1);
-  sprintf(message_buf, "prop_list_update\ncharset=%s\n%s", enc, str);
+  uim_asprintf(&message_buf, "prop_list_update\ncharset=%s\n%s", enc, str);
   uim_helper_send_message(g_helper_fd, message_buf);
   free(message_buf);
   debug(("prop_list_update_cb send message\n"));

Modified: trunk/fep/helper.c
==============================================================================
--- trunk/fep/helper.c  (original)
+++ trunk/fep/helper.c  Sat Jan 17 08:25:01 2009
@@ -192,22 +192,17 @@
   int nr_im = uim_get_nr_im(g_context);
   const char *current_im_name = uim_get_current_im_name(g_context);
   const char *enc = get_enc();
- char *message = malloc(strlen("im_list\ncharset=") + strlen(enc) + strlen("\n") + 1);
-  sprintf(message, "im_list\ncharset=%s\n", enc);
+  char *message;

+  uim_asprintf(&message, "im_list\ncharset=%s\n", enc);
   for (i = 0; i < nr_im; i++) {
     const char *name = uim_get_im_name(g_context, i);
     const char *langcode = uim_get_im_language(g_context, i);
     const char *lang = uim_get_language_name_from_locale(langcode);
     const char *short_desc = uim_get_im_short_desc(g_context, i);
+    char *im_str;

-    char *im_str = malloc(strlen(name) + strlen("\t") +
-        (lang != NULL ? strlen(lang) : 0) + strlen("\t") +
-        (short_desc != NULL ? strlen(short_desc) : 0) + strlen("\t") +
-        (strcmp(name, current_im_name) == 0 ? strlen("selected") : 0) +
-        strlen("\n") + 1);
-
-    sprintf(im_str, "%s\t%s\t%s\t%s\n", name,
+    uim_asprintf(&im_str, "%s\t%s\t%s\t%s\n", name,
         (lang != NULL ? lang : ""),
         (short_desc != NULL ? short_desc : ""),
         (strcmp(name, current_im_name) == 0 ? "selected" : ""));

Reply via email to