[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freewnn:00695] Re: uum patch for 1.1.1-a018



小野寛生です

hiroo> その後は、いいじまさんの uum patch をあてるつもりです。
手を付け始めました。

飯島 = IIJIMA Kengo <kiij@mx1.freemail.ne.jp> wrote:
飯島> その部分を修正して、juum-a018.patch として添付いたします。

    strncpy(lang_dir, argv[i++], 31);
    lang_dir[31] = '\0';

と magic number が沢山入っていたので、sheader.h で 
    #define LANGDIRLEN 32
して
    strncpy (lang_dir, p, LANGDIRLEN-1);
    lang_dir[LANGDIRLEN-1] = '\0';
などと書くようにしました。    

飯島>  getlang_linux.patch として、添付いたします。

+#ifdef define(linux)
+      lang = setlocale (LC_ALL, "");
+#else

    #ifdef linux
か、
    #if defined(linux)
ですよね?

尚、<URL:http://www.gnu.org/prep/standards_11.html#SEC12> に、
コンパイラに全部渡せとあるので (超訳)、こうやって手をつけるところから

  if(linux)
      lang = setlocale(LC_ALL, "");
  else
      ...

と徐々に直してゆこうかと思いますが、どうでしょうか?
一応 GNU coding standard に従うという話になっていたと思いますので。

    #define HOGE
となっていて、
    #define HOGE 1
でない場合があったら困りますが…。
(1) そんなことはまずないので大丈夫。(出会った時に対処で済む)。
(2) 自前 (や configure) で定義していない場合は cpp 使った方が安全。
(3) まざるの嫌だから従来通りで行こうよ。
のどれがよいでしょう?

あとは、cuum 以外へも同じ変更を加えて動かせるようにするつもりです。


http://www.freewnn.org/ FreeWnn Project