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;
 }

Reply via email to