namazu-ml(avocado)


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

Re: Namazu v1.2.0.5 released (Re: namazu-1.2.0.5-beta-2)



Kaz SHiMZ <kshimz@xxxxxxxxx> wrote:

>namazu 1.2.0.3 までは、OS/2 のコマンドプロンプトから検索した結果は、
>SJIS (OS/2 のネイティブな内部日本語コードは SJIS なので)で表示さ
>れているのですが、1.2.0.5 では EUC で表示されています。検索自体は
>うまく行っているので、出力部分でのコード変換がスッポ抜けています。

ひえーごめんなさい。とりあえず添付のパッチをあてると直ると思います
が、夜中にでも作業して 1.2.0.6 にしますね。本当に慌ただしくて申し
訳ないです。

-- Satoru Takabayashi

diff -c namazu-1.2.0.5/src/codeconv.c namazu-1.2.0.5-fix/src/codeconv.c
*** namazu-1.2.0.5/src/codeconv.c	Mon Sep  7 14:31:26 1998
--- namazu-1.2.0.5-fix/src/codeconv.c	Mon Sep  7 20:22:59 1998
***************
*** 179,185 ****
  {
      int c, c2, state = 0, non_ja;
  
!     if (strcmp(Lang, "ja")) { /* Lang != ja */
          non_ja = 1;
      } else {
          non_ja = 0;
--- 179,185 ----
  {
      int c, c2, state = 0, non_ja;
  
!     if (! is_lang_ja(Lang)) { /* Lang != ja */
          non_ja = 1;
      } else {
          non_ja = 0;
***************
*** 295,300 ****
--- 295,303 ----
  {
      int i, m, n, f;
  
+     if (! is_lang_ja(Lang)) { /* Lang != ja */
+         return 0;
+     }
      for (i = 0, m = 0, n = 0, f = 0; *(in + i); i++) {
  	if (*(in + i) == ESC) {
  	    jistoeuc(in);
diff -c namazu-1.2.0.5/src/form.c namazu-1.2.0.5-fix/src/form.c
*** namazu-1.2.0.5/src/form.c	Mon Sep  7 14:31:26 1998
--- namazu-1.2.0.5-fix/src/form.c	Mon Sep  7 20:22:59 1998
***************
*** 82,95 ****
  #define iseuc(c)  ((c) >= 0xa1 && (c) <= 0xfe)
  
  /* replace <FORM INPUT TYPE="TEXT" NAME="key"  VALUE="hogehoge"> */
! int replace_key_value(uchar *p, uchar *ks)
  {
      if (!cmp_element(p, "INPUT TYPE=\"TEXT\" NAME=\"key\"")) {
          for (; *p; p++)
              fputc(*p, stdout);
          printf(" VALUE=\"");
  
          /* because of having possibility of containig japanese */
          euctojisput(ks, 1); 
          printf("\"");
          return 0;
--- 82,99 ----
  #define iseuc(c)  ((c) >= 0xa1 && (c) <= 0xfe)
  
  /* replace <FORM INPUT TYPE="TEXT" NAME="key"  VALUE="hogehoge"> */
! int replace_key_value(uchar *p, uchar *orig_ks)
  {
+     uchar ks[BUFSIZ];
+ 
+     strcpy(ks, orig_ks);
      if (!cmp_element(p, "INPUT TYPE=\"TEXT\" NAME=\"key\"")) {
          for (; *p; p++)
              fputc(*p, stdout);
          printf(" VALUE=\"");
  
          /* because of having possibility of containig japanese */
+         codeconv(ks);
          euctojisput(ks, 1); 
          printf("\"");
          return 0;
diff -c namazu-1.2.0.5/src/messages.c namazu-1.2.0.5-fix/src/messages.c
*** namazu-1.2.0.5/src/messages.c	Mon Sep  7 14:31:26 1998
--- namazu-1.2.0.5-fix/src/messages.c	Mon Sep  7 20:22:59 1998
***************
*** 55,61 ****
  
  void initialize_message(void)
  {
!     if (!strcmp(Lang, "ja")) {
          MSG_USAGE = "  usage: %s [-nwsvhcaoCSHFRUL] \"key string\" [index dir(s)] \n\
       -n (num)  : 一度に表示する件数\n\
       -w (num)  : 表示するリストの先頭番号\n\
--- 55,61 ----
  
  void initialize_message(void)
  {
!     if (is_lang_ja(Lang)) {
          MSG_USAGE = "  usage: %s [-nwsvhcaoCSHFRUL] \"key string\" [index dir(s)] \n\
       -n (num)  : 一度に表示する件数\n\
       -w (num)  : 表示するリストの先頭番号\n\
diff -c namazu-1.2.0.5/src/namazu.h namazu-1.2.0.5-fix/src/namazu.h
*** namazu-1.2.0.5/src/namazu.h	Mon Sep  7 14:31:26 1998
--- namazu-1.2.0.5-fix/src/namazu.h	Mon Sep  7 20:22:59 1998
***************
*** 15,20 ****
--- 15,21 ----
  #define Getcwd(a,b) getcwd(a,b)
  #endif
  
+ #define is_lang_ja(a) (!strcmp(a,"ja"))
  
  /* 検索結果のデータ構造 */
  struct hlist {
diff -c namazu-1.2.0.5/src/output.c namazu-1.2.0.5-fix/src/output.c
*** namazu-1.2.0.5/src/output.c	Mon Sep  7 14:31:26 1998
--- namazu-1.2.0.5-fix/src/output.c	Mon Sep  7 20:22:59 1998
***************
*** 111,117 ****
      }
      buf[i] = (uchar) NULL;
  #if	defined(WIN32) || defined(OS2)
!     if (strcmp(Lang, "ja")) {
          euctosjis(buf);
      }
  #endif
--- 111,117 ----
      }
      buf[i] = (uchar) NULL;
  #if	defined(WIN32) || defined(OS2)
!     if (is_kang_ja(Lang)) {
          euctosjis(buf);
      }
  #endif
***************
*** 124,130 ****
  
      strcpy(buf, s);
  #if	defined(WIN32) || defined(OS2)
!     if (strcmp(Lang, "ja")) {
          euctosjis(buf);
      }    
  #endif
--- 124,130 ----
  
      strcpy(buf, s);
  #if	defined(WIN32) || defined(OS2)
!     if (is_lang_ja(Lang)) {
          euctosjis(buf);
      }    
  #endif
diff -c namazu-1.2.0.5/src/search.c namazu-1.2.0.5-fix/src/search.c
*** namazu-1.2.0.5/src/search.c	Mon Sep  7 14:31:26 1998
--- namazu-1.2.0.5-fix/src/search.c	Mon Sep  7 20:22:59 1998
***************
*** 219,225 ****
      /* none of the above (normal or phrase) */
  
      /* if under Japanese mode, do wakatigaki */
!     if (!strcmp(Lang, "ja"))
          wakati(key);
  
      if (strchr(key, '\t')) {
--- 219,225 ----
      /* none of the above (normal or phrase) */
  
      /* if under Japanese mode, do wakatigaki */
!     if (is_lang_ja(Lang))
          wakati(key);
  
      if (strchr(key, '\t')) {
***************
*** 696,702 ****
  
  void do_query_preprocessing(uchar *keystring)
  {
!     if (!strcmp(Lang, "ja")) {
          if (codeconv(keystring)) {
              zen2han(keystring);
              /* don't invoke external Japanese processor anymore.
--- 696,702 ----
  
  void do_query_preprocessing(uchar *keystring)
  {
!     if (is_lang_ja(Lang)) {
          if (codeconv(keystring)) {
              zen2han(keystring);
              /* don't invoke external Japanese processor anymore.