Author: ek.kato
Date: Mon Jan 5 22:42:58 2009
New Revision: 5700
Modified:
branches/1.5/emacs/context.c
branches/1.5/scm/japanese.scm
branches/1.5/uim/bsdlook.c
branches/1.5/uim/skk.c
branches/1.5/uim/uim-error.c
branches/1.5/uim/uim-helper-client.c
Log:
* Port r5646, r5685, r5693, and r5694:5699 from trunk.
Modified: branches/1.5/emacs/context.c
==============================================================================
--- branches/1.5/emacs/context.c (original)
+++ branches/1.5/emacs/context.c Mon Jan 5 22:42:58 2009
@@ -306,6 +306,7 @@
/* free others */
free(ua->encoding);
free(ua->im);
+ free(ua->prop->list);
free(ua->prop);
free(ua->comstr);
Modified: branches/1.5/scm/japanese.scm
==============================================================================
--- branches/1.5/scm/japanese.scm (original)
+++ branches/1.5/scm/japanese.scm Mon Jan 5 22:42:58 2009
@@ -474,11 +474,11 @@
((("z" "w" "e"). ())(("��" "��" "����") ("��" "��" "��")))
((("z" "w" "o"). ())(("��" "��" "����") ("��" "��" "��")))
- ((("n" "w" "a"). ())(("��" "��" "��") ("��" "��" "��")))
- ((("n" "w" "i"). ())(("��" "��" "��") ("��" "��" "��")))
- ((("n" "w" "u"). ())(("��" "��" "��") ("��" "��" "��")))
- ((("n" "w" "e"). ())(("��" "��" "��") ("��" "��" "��")))
- ((("n" "w" "o"). ())(("��" "��" "��") ("��" "��" "��")))
+ ;((("n" "w" "a"). ())(("��" "��" "��") ("��" "��" "��")))
+ ;((("n" "w" "i"). ())(("��" "��" "��") ("��" "��" "��")))
+ ;((("n" "w" "u"). ())(("��" "��" "��") ("��" "��" "��")))
+ ;((("n" "w" "e"). ())(("��" "��" "��") ("��" "��" "��")))
+ ;((("n" "w" "o"). ())(("��" "��" "��") ("��" "��" "��")))
((("b" "w" "a"). ())(("��" "��" "�̎�") ("��" "��" "��")))
((("b" "w" "i"). ())(("��" "��" "�̎�") ("��" "��" "��")))
Modified: branches/1.5/uim/bsdlook.c
==============================================================================
--- branches/1.5/uim/bsdlook.c (original)
+++ branches/1.5/uim/bsdlook.c Mon Jan 5 22:42:58 2009
@@ -163,14 +163,16 @@
void
uim_look_finish(uim_look_ctx *ctx)
{
- if (!ctx || ctx->front0 == 0)
+ if (!ctx)
return;
- if (munmap(ctx->front0, ctx->len) == -1) {
+ if (ctx->front0 > 0 && munmap(ctx->front0, ctx->len) == -1)
perror("uim_look_finish");
- return;
- }
- close(ctx->fd);
+
+ if (ctx->fd > 0)
+ close(ctx->fd);
+
+ free(ctx);
return;
}
Modified: branches/1.5/uim/skk.c
==============================================================================
--- branches/1.5/uim/skk.c (original)
+++ branches/1.5/uim/skk.c Mon Jan 5 22:42:58 2009
@@ -479,6 +479,7 @@
}
free(sl->head);
free(sl->cands);
+ free(sl);
}
static struct skk_cand_array *
@@ -3539,25 +3540,24 @@
{
struct skk_line *sl, *tmp;
- if (!skk_dic)
- return;
+ if (skk_dic) {
+ if (skk_dic->addr)
+ munmap(skk_dic->addr, skk_dic->size);
+
+ sl = skk_dic->head.next;
+ while (sl) {
+ tmp = sl;
+ sl = sl->next;
+ free_skk_line(tmp);
+ }
- if (skk_dic->addr)
- munmap(skk_dic->addr, skk_dic->size);
+ if (skk_dic->skkserv_state & SKK_SERV_CONNECTED)
+ close_skkserv();
+ free(skk_dic->skkserv_hostname);
- sl = skk_dic->head.next;
- while (sl) {
- tmp = sl;
- sl = sl->next;
- free_skk_line(tmp);
+ free(skk_dic);
+ skk_dic = NULL;
}
-
- if (skk_dic->skkserv_state & SKK_SERV_CONNECTED)
- close_skkserv();
- free(skk_dic->skkserv_hostname);
-
- free(skk_dic);
- skk_dic = NULL;
if (use_look && skk_look_ctx) {
uim_look_finish(skk_look_ctx);
Modified: branches/1.5/uim/uim-error.c
==============================================================================
--- branches/1.5/uim/uim-error.c (original)
+++ branches/1.5/uim/uim-error.c Mon Jan 5 22:42:58 2009
@@ -187,11 +187,15 @@
void *
uim_realloc(void *p, size_t size)
{
- p = realloc(p, size);
- if (!p)
+ void *newp;
+
+ newp = realloc(p, size);
+ if (!newp) {
+ free(p);
uim_fatal_error("realloc() failed");
+ }
- return p;
+ return newp;
}
void *
Modified: branches/1.5/uim/uim-helper-client.c
==============================================================================
--- branches/1.5/uim/uim-helper-client.c (original)
+++ branches/1.5/uim/uim-helper-client.c Mon Jan 5 22:42:58 2009
@@ -153,6 +153,7 @@
if (uim_disconnect_cb)
uim_disconnect_cb();
+ free(uim_read_buf);
uim_fd = -1;
}