namazu-dev(ring)


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

proposal: nmz/mode.X-Mailer: Mew version 1.94 on Emacs 20.4 / Mule 4.0 (HANANOEN)



nmz/var.[ch] を見ると、うじゃうじゃとグローバル変数が使われ
ています。これらはほとんど動作のモードを切り替えるための変数
です。

そこで、 mode.[ch] を導入し、それらの変数を mode.c の中の 
static なグローバル変数に閉じ込めて (オブジェクト指向のクラ
ス変数っぽい?)、それぞれにアクセス関数を用意すればいいのでは
ないかと考えました。

こんな感じ:

mode.c:

  /*
   * default settings 
   */
  static int htmlmode   = 0;
  static int sortmethod = SORT_BY_SCORE;
    :

  void set_htmlmode(int mode)
  {
      htmlmode = mode;
  }

  int is_htmlmode(void)
  {
      return htmlmode;
  }

  void set_sortmethod(int method)
  {
      sortmethod = method;
  }

  int get_sortmethod(void)
  {
      return sortmethod;
  }

mode.h:

  extern void set_htmlmode(int);
  extern int  is_htmlmode(void);
  extern void set_sortmethod(int);
  extern int  get_sortmethod(void);
    :


「賛成です」「こんなやり方は汚い」「もっといい方法がある」と
いった意見をもらえると助かります。(プログラミングに自信がな
いので…)

-- Satoru Takabayashi