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) {