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.