Misc Change Log

`OpenBSD で scheme のアプリ開発' みたいなことをやってます。

2005-07-01

script-fu がクラッシュする件

http://distantland.hp.infoseek.co.jp/...

OpenBSD でも起こるのだけど、これで解決。

--- gimp-2.2.8/plug-ins/script-fu/siod/slib.c.orig      Tue Jan 11 20:27:32 2005
+++ gimp-2.2.8/plug-ins/script-fu/siod/slib.c   Fri Jul  1 10:40:55 2005
@@ -1131,6 +1131,8 @@
       cname = name;
       while ((c = *cname++))
        hash = ((hash * 17) ^ c) % n;
+      if (hash < 0)
+        hash = -hash;
       sl = obarray[hash];
     }

たしかにこのままでは c < 0 のときに動作しなくなることがある。

この手の文字列処理って、 思い込みで書いてるのでけっこう気が付きにくいんだよね。

Posted at 23:34 | Permalink | Category | Comments