Author: iratqq
Date: Fri Apr 11 00:49:41 2008
New Revision: 5409

Modified:
  trunk/uim/mana.c
  trunk/uim/prime.c
  trunk/uim/skk.c
  trunk/uim/uim-helper.c

Log:
* uim/uim-helper.c (uim_helper_send_message):
 - Use uim_asprintf.
* uim/skk.c (search_line_from_server):
 - Ditto.
* uim/prime.c (prime_send_command, prime_lib_init):
 - Ditto.
* uim/mana.c (mana_eval):
 - Ditto.


Modified: trunk/uim/mana.c
==============================================================================
--- trunk/uim/mana.c    (original)
+++ trunk/uim/mana.c    Fri Apr 11 00:49:41 2008
@@ -194,7 +194,6 @@
  char *ret_buf;
  char *eval_buf;
  uim_lisp ret;
-  int len;

  if (mana_pid == 0)
    return uim_scm_f();
@@ -210,9 +209,10 @@
  fflush(log);
#endif

-  len = strlen("'") + strlen(ret_buf) + 1;
-  eval_buf = uim_malloc(len);
-  snprintf(eval_buf, len, "'%s", ret_buf);
+  if (uim_asprintf(&eval_buf, "'%s", ret_buf) < 0 || eval_buf == NULL) {
+    free(ret_buf);
+    return uim_scm_f();
+  }
  ret = uim_scm_eval_c_string(eval_buf);
  free(ret_buf);
  free(eval_buf);

Modified: trunk/uim/prime.c
==============================================================================
--- trunk/uim/prime.c   (original)
+++ trunk/uim/prime.c   Fri Apr 11 00:49:41 2008
@@ -207,9 +207,9 @@
    if (!result)
      return MAKE_STR("error\n\t\n");
  } else {
-    int len = strlen(str);
-    char *buf = uim_malloc(len + 2);
-    snprintf(buf, len + 2,"%s\n", str);
+    char *buf;
+    if (uim_asprintf(&buf, "%s\n", str) < 0 || buf == NULL)
+      return MAKE_STR("");
    result = uim_ipc_send_command(&prime_pid, &primer, &primew, prime_command,
                                  buf);
    free(buf);
@@ -227,7 +227,7 @@
prime_lib_init(uim_lisp use_udp_)
{
  char *option;
-  int len, timeout_count = 0;
+  int timeout_count = 0;

  use_unix_domain_socket = C_BOOL(use_udp_);

@@ -241,9 +241,8 @@
    prime_fd = prime_init_ud(prime_ud_path);
    if (prime_fd == -1) {
      unlink(prime_ud_path);
-      len = strlen("-u ") + strlen(prime_ud_path) + 1;
-      option = uim_malloc(len);
-      snprintf(option, len, "-u %s", prime_ud_path);
+ if (uim_asprintf(&option, "-u %s", prime_ud_path) < 0 || option == NULL)
+       return uim_scm_f();
      prime_pid = uim_ipc_open_command_with_option(prime_pid, &primer, &primew,
                                                   prime_command, option);
      free(option);

Modified: trunk/uim/skk.c
==============================================================================
--- trunk/uim/skk.c     (original)
+++ trunk/uim/skk.c     Fri Apr 11 00:49:41 2008
@@ -750,9 +750,10 @@
    return NULL;
  }

-  len = strlen(idx) + 2;
-  line = uim_malloc(len);
-  snprintf(line, len, "%s ", idx);
+  if (uim_asprintf(&line, "%s ", idx) < 0 || line == NULL) {
+    skkserv_disconnected(di);
+    return NULL;
+  }

  if ((nr = read(skkservsock, &r, 1)) == -1 || nr == 0) {
    skkserv_disconnected(di);

Modified: trunk/uim/uim-helper.c
==============================================================================
--- trunk/uim/uim-helper.c      (original)
+++ trunk/uim/uim-helper.c      Fri Apr 11 00:49:41 2008
@@ -105,7 +105,7 @@
uim_helper_send_message(int fd, const char *message)
{
  int res;
-  int len, out_len;
+  int out_len;
  sig_t old_sigpipe;
  char *buf, *bufp;

@@ -123,13 +123,12 @@
    return;
#endif

-  len = strlen(message) + 1;
-  buf = uim_malloc(len + 1);
-  snprintf(buf, len + 1, "%s\n", message);
+  if (uim_asprintf(&buf, "%s\n", message) || buf == NULL)
+    return;

  old_sigpipe = signal(SIGPIPE, SIG_IGN);

-  out_len = len;
+  out_len = strlen(buf);
  bufp = buf;
  while (out_len > 0) {
    if ((res = write(fd, bufp, out_len)) < 0) {

Reply via email to