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" : ""));