namazu-ml(avocado)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
patch for Namazu-1.1.1.2 on OS/2
- From: Kaz SHiMZ <kshimz@xxxxxxxxx>
- Date: Mon, 23 Feb 1998 21:15:28 +0900
- X-ml-name: namazu
- X-mail-count: 00248
清水@住友林業です。
とりあえず動いているように見える Namazu-1.1.1.2 for OS/2 用の patch を
流します。ヒマと侠気のある方は、テストしてみてください。
%diff -u srnmz.c.orig srnmz.c > diff.os2
%diff -u mknmz.pl.orig mknmz.pl >> diff.os2
%diff -u wdnmz.pl.orig wdnmz.pl >> diff.os2
した結果 (diff.os2)です。率直な話、99.9999% は広瀬さんの WIN32 化の流用
になってます。違うところは、mknmz.pl のパイプ処理のところだけで、OS/2 の
perl 5.004_01 ではまともに動くので、UNIX 側に振ってあります。
なお、ChaSen に絡む部分もやっつけましたが、ChaSen の OS/2 化の予定は現在
のところありません。
# 誰かやって〜
また、OS/2 用の Makefile のサンプルは、次のメールで流します。
では。
--- srnmz.c.orig Sat Feb 21 14:43:24 1998
+++ srnmz.c Mon Feb 23 20:47:48 1998
@@ -451,7 +451,7 @@
}
}
-#ifdef WIN32
+#if defined(WIN32) || defined(OS2)
unsigned char jistojms(unsigned char c1, unsigned char c2)
{
@@ -502,7 +502,7 @@
}
}
-#endif /* #ifdef WIN32 */
+#endif /* (WIN32 || OS2) */
/* デバッグ用のセコイ関数 */
@@ -559,7 +559,7 @@
}
}
buf[i] = (uchar)NULL;
-#ifdef WIN32
+#if defined(WIN32) || defined(OS2)
euctosjis(buf);
#endif
fputs(buf, stdout);
@@ -1487,7 +1487,7 @@
{
uchar buf[1024];
strcpy(buf, USAGE);
-#ifdef WIN32
+#if defined(WIN32) || defined(OS2)
euctosjis(buf);
#endif
fputs(VERSION, stderr);
@@ -1634,7 +1634,7 @@
}
-#ifdef __WIN32__
+#if defined(__WIN32__) || defined(__EMX__)
/* ChaSen forWin は system で呼び出す */
/* 林@富士ファコム制御さんから頂きました [11/13/97] */
@@ -1686,7 +1686,7 @@
return;
}
-#else /* #ifdef WIN32 */
+#else /* !(__WIN32__ || __EMX__) */
/* fork して日本語わかち書きプログラムを呼び出す */
@@ -1774,7 +1774,7 @@
return;
}
-#endif /* #ifdef WIN32 */
+#endif /* (__WIN32__ || __EMX__) */
/* おかしな EUC を訂正する。古いパッチをあてた
kakasi -Ea -w の '0xa4' バグを吸収する
@@ -2082,13 +2082,13 @@
}
if (codeconv(keystring)) {
-#ifdef __WIN32__
- zen2han(keystring);
+#if defined(__WIN32__) || defined(__EMX__)
+ zen2han(keystring);
euctosjis(keystring);
wakati2(keystring);
sjistoeuc(keystring);
correcteuc(keystring);
-#else
+#else /* !(__WIN32__ || __EMX__) */
#ifndef CHASEN /* ChaSen を使う場合は自前で全角->半角コンヴァート */
zen2han(keystring);
#endif
@@ -2097,7 +2097,7 @@
#endif
wakati(keystring);
correcteuc(keystring);
-#endif /* #ifdef WIN32 */
+#endif /* (__WIN32__ || __EMX__) */
}
--- mknmz.pl.orig Fri Feb 20 22:43:50 1998
+++ mknmz.pl Mon Feb 23 20:26:36 1998
@@ -111,7 +111,7 @@
##
## このプログラムの動作に関係する定数
##
-$SYSTEM = "%OPT_SYSTEM%"; # 動作環境 UNIX/WIN32
+$SYSTEM = "%OPT_SYSTEM%"; # 動作環境 UNIX/WIN32/OS2
$ADMIN = '%OPT_ADMIN_EMAIL%'; # 管理者のメールアドレス
$CGI_ACTION = '%OPT_URL_CGIBIN%/namazu.cgi'; # <FORM> の ACTION の指定
@@ -365,7 +365,7 @@
if ($SYSTEM eq "UNIX") {
$PSC = "/";
$CCS = "euc";
- } elsif ($SYSTEM eq "WIN32") {
+ } elsif (($SYSTEM eq "WIN32") or ($SYSTEM eq "OS2")) {
$PSC = "\\";
$CCS = "sjis";
}
@@ -910,7 +910,7 @@
$PROTOCOL = cwd() . "$PSC" if $PROTOCOL eq "\t";
$file_segment = &findfiles;
- if ($SYSTEM eq "UNIX") {
+ if (($SYSTEM eq "UNIX") or ($SYSTEM eq "OS2")) {
open(FLIST, "|$NKF -jZ >$FLIST_") || die "$FLIST_: $!\n";
} elsif ($SYSTEM eq "WIN32") {
# 例によって Win32 のパイプは変なので別処理になる
@@ -1015,7 +1015,7 @@
$url = $tmp;
$url =~ s/(.*)\/($DEFAULT_FILE)$/$1\//; # 省略可能なファイル名なら削除
$url =~ s/^\../$PROTOCOL/;
- if ($SYSTEM eq "WIN32") {
+ if (($SYSTEM eq "WIN32") or ($SYSTEM eq "OS2")) {
$url =~ s|\\|/|g; # \ を / に
$url =~ s#^([A-Z]):#/$1|#; # ドライヴ部分を /C| のように置き換え
}
--- wdnmz.pl.orig Fri Feb 20 22:43:50 1998
+++ wdnmz.pl Mon Feb 23 20:27:30 1998
@@ -48,7 +48,7 @@
sub usage () {
if ($SYSTEM eq "UNIX") {
print $USAGE;
- } elsif ($SYSTEM eq "WIN32") {
+ } elsif (($SYSTEM eq "WIN32") or ($SYSTEM eq "OS2")) {
open(NKF, "|$NKF -s");
print NKF $USAGE;
close(NKF);
--
住友林業株式会社 情報システム部 清水 和佳
TEL: +81-3-5322-6672 FAX: +81-3-5322-6658 Niftyserve: XLW01034
e-mail: <kshimz@xxxxxxxxx>