[Anthy-dev 2523] Re: anthy-7012

アーカイブの一覧に戻る

SANETO Takanori sanew****@ba2*****
2005年 10月 12日 (水) 17:37:18 JST


Yuichi Yoshida wrote:
> anthy-7012をリリースしました。

FreeBSDのportsをいじってanthy-7012を使うようにしてbuildしてみたところ、
anthy.dicを作るところで落ちてしまいました。
ちょっと調べたところ、src-diclib/matrix.cで、hash arrayの要素が空かどう
かの判断を index == -1 で見ているところと !ptr で見ているところがあり、
後者が間違っているように見えます。(indexは-1で初期化されているが ptrは初
期化されていない)
下記のような修正を入れると、落ちなくなりました。パッチの後半部分では、if
(!sa) の部分は残していますが、削除してしまってもいいかも。
(別の解としては、ptrがNULLで初期化されるよう、arrayの確保にcallocを使
う、という手もあるかもしれません)

生成された anthy.dic などが正しいかどうかは未確認ですが、ひとまずお知ら
せまで。

--- src-diclib/matrix.c.orig    Wed Oct 12 16:03:42 2005
+++ src-diclib/matrix.c Wed Oct 12 16:11:34 2005
@@ -304,7 +304,7 @@
     ae = &m->row_array->array[i];
     /**/
     ae->value = offset;
-    if (!ae->ptr) {
+    if (ae->index == -1) {
       continue;
     }
     /**/
@@ -342,6 +342,7 @@
     struct sparse_array *sa;
     int j;
     ae = &s->row_array->array[i];
+    if (ae->index == -1) continue;
     sa = ae->ptr;
     if (!sa) {
       continue;


-- 
SANETO Takanori <sanew****@ba2*****>




Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る