summaryrefslogtreecommitdiff
path: root/japanese/skkserv/patches
diff options
context:
space:
mode:
Diffstat (limited to 'japanese/skkserv/patches')
-rw-r--r--japanese/skkserv/patches/patch-aa21
-rw-r--r--japanese/skkserv/patches/patch-ab13
-rw-r--r--japanese/skkserv/patches/patch-ac15
-rw-r--r--japanese/skkserv/patches/patch-ad13
-rw-r--r--japanese/skkserv/patches/patch-ae14
-rw-r--r--japanese/skkserv/patches/patch-af41
-rw-r--r--japanese/skkserv/patches/patch-ag114
-rw-r--r--japanese/skkserv/patches/patch-bsearch123
-rw-r--r--japanese/skkserv/patches/patch-jisyo28
9 files changed, 382 insertions, 0 deletions
diff --git a/japanese/skkserv/patches/patch-aa b/japanese/skkserv/patches/patch-aa
new file mode 100644
index 00000000000..23128327c5d
--- /dev/null
+++ b/japanese/skkserv/patches/patch-aa
@@ -0,0 +1,21 @@
+$NetBSD: patch-aa,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- Makefile.in.orig Mon Feb 3 18:21:39 1997
++++ Makefile.in Tue Dec 21 20:03:09 1999
+@@ -33,7 +33,7 @@
+ JISYO = @JISYO@
+ JISYODIR = $(datadir)/skk
+
+-SUBDIRS = lisp skkserv jisyo-tools doc etc
++SUBDIRS = skkserv jisyo-tools
+
+ MDEFINES = CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \
+ EMACS='$(EMACS)' JISYO='$(JISYO)' JISYODIR='$(JISYODIR)' \
+@@ -50,7 +50,6 @@
+ echo making $@ in $$subdir; \
+ (cd $$subdir && $(MAKE) $(MDEFINES) $@) || exit 1; \
+ done
+- $(INSTALL_DATA) jisyo/$(JISYO) $(JISYODIR)/$(JISYO)
+
+ clean:
+ cd lisp; $(MAKE) clean
diff --git a/japanese/skkserv/patches/patch-ab b/japanese/skkserv/patches/patch-ab
new file mode 100644
index 00000000000..125f6a8fa94
--- /dev/null
+++ b/japanese/skkserv/patches/patch-ab
@@ -0,0 +1,13 @@
+$NetBSD: patch-ab,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- configure.in.orig Mon Feb 3 17:02:01 1997
++++ configure.in Tue Dec 21 15:46:54 1999
+@@ -18,7 +18,7 @@
+ AC_PROG_GCC_TRADITIONAL
+ AC_FUNC_SETPGRP
+ AC_TYPE_SIGNAL
+-AC_CHECK_FUNCS(bzero tiocnotty getdtablesize)
++AC_CHECK_FUNCS(bzero setsid getdtablesize)
+
+ AC_CHECK_FUNC(dbm_open, , [DBMLIB="-ldbm"])
+
diff --git a/japanese/skkserv/patches/patch-ac b/japanese/skkserv/patches/patch-ac
new file mode 100644
index 00000000000..0542b2cfc61
--- /dev/null
+++ b/japanese/skkserv/patches/patch-ac
@@ -0,0 +1,15 @@
+$NetBSD: patch-ac,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- config.h.in.orig Fri Jan 17 20:27:10 1997
++++ config.h.in Tue Dec 21 15:52:49 1999
+@@ -15,8 +15,8 @@
+ /* Define if you have the getdtablesize function. */
+ #undef HAVE_GETDTABLESIZE
+
+-/* Define if you have the tiocnotty function. */
+-#undef HAVE_TIOCNOTTY
++/* Define if you have the setsid function. */
++#undef HAVE_SETSID
+
+ /* Define if you have the <fcntl.h> header file. */
+ #undef HAVE_FCNTL_H
diff --git a/japanese/skkserv/patches/patch-ad b/japanese/skkserv/patches/patch-ad
new file mode 100644
index 00000000000..15df3e012da
--- /dev/null
+++ b/japanese/skkserv/patches/patch-ad
@@ -0,0 +1,13 @@
+$NetBSD: patch-ad,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- configure.orig Fri Feb 7 14:00:43 1997
++++ configure Tue Dec 21 15:46:55 1999
+@@ -1191,7 +1191,7 @@
+ EOF
+
+
+-for ac_func in bzero tiocnotty getdtablesize
++for ac_func in bzero setsid getdtablesize
+ do
+ echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
+ echo "configure:1198: checking for $ac_func" >&5
diff --git a/japanese/skkserv/patches/patch-ae b/japanese/skkserv/patches/patch-ae
new file mode 100644
index 00000000000..5ef74e1009a
--- /dev/null
+++ b/japanese/skkserv/patches/patch-ae
@@ -0,0 +1,14 @@
+$NetBSD: patch-ae,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- skkserv/Makefile.in.orig Fri Feb 7 11:05:23 1997
++++ skkserv/Makefile.in Tue Dec 21 07:41:57 1999
+@@ -28,7 +28,8 @@
+ SERVERDIR = @libexecdir@
+
+ DEFS = -I$(srcdir) -I$(top_srcdir) $(CFLAGS) @DEFS@ @PRIVATE@ \
+- -DDEFAULT_JISYO=\"$(JISYODIR)/$(JISYO)\"
++ -DDEFAULT_JISYO=\"$(JISYODIR)/$(JISYO)\" \
++ -DSKKSERV_UID=${SKKUID} -DSKKSERV_GID=${SKKGID}
+
+ all: skkserv
+
diff --git a/japanese/skkserv/patches/patch-af b/japanese/skkserv/patches/patch-af
new file mode 100644
index 00000000000..5085219f185
--- /dev/null
+++ b/japanese/skkserv/patches/patch-af
@@ -0,0 +1,41 @@
+$NetBSD: patch-af,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- skkserv/skkserv.c.orig Tue Jan 21 04:16:36 1997
++++ skkserv/skkserv.c Tue Dec 21 15:50:59 1999
+@@ -132,6 +132,16 @@
+ int ctlterm; /* fildes for control terminal */
+ void reread();
+
++#ifdef SKKSERV_UID
++ gid_t gid = SKKSERV_GID;
++
++ /* revoke privilege if any */
++ if (getuid() == 0) {
++ setgroups(1, &gid);
++ setgid(SKKSERV_GID);
++ setuid(SKKSERV_UID);
++ }
++#endif
+ pgmnm = argv[0];
+ debug = 0;
+ errout = stderr;
+@@ -200,7 +210,10 @@
+ fclose(stderr);
+
+ /* detach child process from control terminal */
+-#ifdef HAVE_TIOCNOTTY
++#ifdef HAVE_SETSID
++ setsid();
++#else
++#ifdef TIOCNOTTY
+ if ((ctlterm = open("/dev/tty", 2)) >= 0) {
+ ioctl(ctlterm, TIOCNOTTY, 0);
+ close(ctlterm);
+@@ -214,6 +227,7 @@
+ setpgrp();
+ signal(SIGHUP, SIG_IGN);
+ if (fork() != 0) exit(0);
++#endif
+ #endif
+ } else { /* debug mode */
+ fprintf(errout, "SKK-JISYO is %s\n", jname);
diff --git a/japanese/skkserv/patches/patch-ag b/japanese/skkserv/patches/patch-ag
new file mode 100644
index 00000000000..b2aad4f39e2
--- /dev/null
+++ b/japanese/skkserv/patches/patch-ag
@@ -0,0 +1,114 @@
+$NetBSD: patch-ag,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+--- jisyo-tools/skkdic-expr.c.orig Tue Dec 17 14:51:28 1996
++++ jisyo-tools/skkdic-expr.c Tue Dec 21 20:37:29 1999
+@@ -78,41 +78,62 @@
+ }
+ }
+
++#if !defined(dbm_pagfno) || defined(DBM_SUFFIX)
++#define NEW_DB
++#endif
++
+ /* 作業用データベースファイルを削除
+ file_name には content が格納される */
+ static void db_remove_files()
+ {
+- char pag_name[256];
+- char dir_name[256];
++ char db_name[256];
+
+ db_remove_file(file_name);
+- sprintf(pag_name, "%s.pag", file_name);
+- db_remove_file(pag_name);
+- sprintf(dir_name, "%s.dir", file_name);
+- db_remove_file(dir_name);
++#ifdef NEW_DB
++ sprintf(db_name, "%s.db", file_name);
++ db_remove_file(db_name);
++#else
++ sprintf(db_name, "%s.pag", file_name);
++ db_remove_file(db_name);
++ sprintf(db_name, "%s.dir", file_name);
++ db_remove_file(db_name);
++#endif
+
+ if (okurigana_flag) {
+ db_remove_file(okuri_head_name);
+- sprintf(pag_name, "%s.pag", okuri_head_name);
+- db_remove_file(pag_name);
+- sprintf(dir_name, "%s.dir", okuri_head_name);
+- db_remove_file(dir_name);
++#ifdef NEW_DB
++ sprintf(db_name, "%s.db", okuri_head_name);
++ db_remove_file(db_name);
++#else
++ sprintf(db_name, "%s.pag", okuri_head_name);
++ db_remove_file(db_name);
++ sprintf(db_name, "%s.dir", okuri_head_name);
++ db_remove_file(db_name);
++#endif
+
+ db_remove_file(okuri_tail_name);
+- sprintf(pag_name, "%s.pag", okuri_tail_name);
+- db_remove_file(pag_name);
+- sprintf(dir_name, "%s.dir", okuri_tail_name);
+- db_remove_file(dir_name);
++#ifdef NEW_DB
++ sprintf(db_name, "%s.db", okuri_tail_name);
++ db_remove_file(db_name);
++#else
++ sprintf(db_name, "%s.pag", okuri_tail_name);
++ db_remove_file(db_name);
++ sprintf(db_name, "%s.dir", okuri_tail_name);
++ db_remove_file(db_name);
++#endif
+ }
+ }
+
+ /* データベースファイルを作成 */
+-static void db_make_files()
++static void db_make_files(tmpdir)
++ char *tmpdir;
+ {
+- sprintf(file_name, "/tmp/skkjisyo.%d", getpid());
++ int pid = getpid();
++
++ sprintf(file_name, "%s/skkjisyo.%d", tmpdir, pid);
+ if (okurigana_flag) {
+- sprintf(okuri_head_name, "/tmp/skkhead.%d", getpid());
+- sprintf(okuri_tail_name, "/tmp/skktail.%d", getpid());
++ sprintf(okuri_head_name, "%s/skkhead.%d", tmpdir, pid);
++ sprintf(okuri_tail_name, "%s/skktail.%d", tmpdir, pid);
+ }
+
+ db_remove_files();
+@@ -698,7 +719,7 @@
+ for (key = dbm_firstkey(db); key.dptr != NULL; key = dbm_nextkey(db)) {
+ content = dbm_fetch(db, key);
+ for(i = 0; i < key.dsize; ++ i)
+- putc((key.dptr)[i], output);
++ putc(((char *) key.dptr)[i], output);
+ putc(' ', output);
+ fseek(dbcontent, getpos(content.dptr), 0);
+ db_gets(kanji, BLEN, dbcontent);
+@@ -716,7 +737,7 @@
+ if (entry.dptr != NULL) continue;
+
+ for(i = 0; i < key.dsize; ++ i)
+- putc((key.dptr)[i], output);
++ putc(((char *) key.dptr)[i], output);
+ putc(' ', output);
+ putc('/', output);
+ okuri_type_out(&key, output);
+@@ -775,9 +796,8 @@
+ exit(1);
+ }
+
+- sprintf(file_name, "%s/skkjisyo.%d", tmpdir, getpid());
+ set_signal_handler();
+- db_make_files();
++ db_make_files(tmpdir);
+
+ negate = 0;
+ for (; i < argc; ++ i) {
diff --git a/japanese/skkserv/patches/patch-bsearch b/japanese/skkserv/patches/patch-bsearch
new file mode 100644
index 00000000000..ea66753b588
--- /dev/null
+++ b/japanese/skkserv/patches/patch-bsearch
@@ -0,0 +1,123 @@
+$NetBSD: patch-bsearch,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+Binary search patch.
+Originally from skk-users mailing list
+(Masahiro Doteguchi, Mailinglist-Id: 1779).
+
+--- skkserv/skkserv.c.patch1 Tue Dec 21 15:50:59 1999
++++ skkserv/skkserv.c Tue Dec 21 16:01:06 1999
+@@ -107,7 +107,7 @@
+ * Global Variables
+ */
+
+-char pgmver[] = "3.9.4 "; /* version number */
++char pgmver[] = "3.9.4 (binary search) "; /* version number */
+
+ char *pgmnm; /* program name */
+ char *jname; /* name of shared dictionary */
+@@ -538,7 +538,7 @@
+ }
+
+ /*
+- * reply to client: linear search
++ * reply to client: binary search
+ */
+
+ search(commsock)
+@@ -551,6 +551,7 @@
+ int n; /* number of characters from client */
+ int sttpnt; /* start point of searching */
+ int endpnt; /* end point of searching */
++ int curpnt; /* current point of searching */
+ int errcod = 0; /* error flag */
+ int sstyle; /* search style */
+
+@@ -659,18 +660,36 @@
+ endpnt = jtab1[KANA_END - code + 1];
+ }
+ }
+- fseek(jisho, sttpnt, 0);
+ if (debug)
+- fprintf(stderr, "from %d to %d\n", sttpnt, endpnt);
++ fprintf(errout, "from %d to %d\n", sttpnt, endpnt);
+
+- while ((c = fgetc(jisho)) != EOF) {
++ for (;;) {
++ if ((sstyle & 0x4) == 0) { /* binary search? */
++ curpnt = (sttpnt + endpnt) / 2;
++ fseek(jisho, curpnt, 0);
++ while ((c = fgetc(jisho)) != EOF) {
++ curpnt++;
++ if (c == EOL) break;
++ }
++ if (c == EOF) break;
++ if (curpnt >= endpnt) {
++ fseek(jisho, sttpnt, 0);
++ sstyle |= 0x4; /* linear search */
++ }
++ }
++
++ if (debug) {fprintf(errout, "%d:%d\t%d\t%d\t", sstyle, sttpnt, curpnt, endpnt);}
++ c = fgetc(jisho);
+ pbuf = &combuf[1]; /* ' ' is end-symbol */
+ while (c == *pbuf && c != ' ' && c != EOL) {
+- if (debug) {fprintf(errout, "1:%d:%d:%d:%d:\n", c, *pbuf, ' ', EOL);}
++/* if (debug) {fprintf(errout, "1:%d:%d:%d:%d:", c, *pbuf, ' ', EOL);}*/
++ if (debug) {fprintf(errout, "%c", c);}
+ c = fgetc(jisho); pbuf++;
+- }
+- if (debug) {fprintf(errout, "1:%d:%d:%d:%d:\n", c, *pbuf, ' ', EOL);}
++ }
++/* if (debug) {fprintf(errout, "1:%d:%d:%d:%d:", c, *pbuf, ' ', EOL);}*/
++ if (debug) {fprintf(errout, "%c", c);}
+ if (c == ' ' && (*pbuf == ' ' || *pbuf == '\n')) { /* found */
++ if (debug) {fprintf(errout, "found\n");}
+ if ((errcod = write(commsock, SERVER_FOUND, 1)) >= 0)
+ while ((c = fgetc(jisho)) != EOF) {
+ *pbuf = c;
+@@ -686,18 +705,35 @@
+ }
+ return(0);
+ }
+- if (comp(*pbuf, c, sstyle)) {
+- if (debug) {
+- fprintf(stderr, "comp break %d \n", ftell(jisho));
+- }
+- break;
++ if (debug) {
++ int ch;
++
++ if (c != ' ')
++ do {
++ ch = fgetc(jisho);
++ fprintf(errout, "%c", ch);
++ } while (ch != ' ' && ch != EOL);
++ fprintf(errout, "unmatched\n");
+ }
+- /* fix 1992/3/6 under suggestion */
+- /* of guchi@pfu.fujitsu.co.jp */
+- while ((c = fgetc(jisho)) != EOF) {
+- if (c == EOL) break;
++ if (sstyle & 0x4) {
++ if (comp(*pbuf, c, sstyle&~0x4)) {
++ if (debug) {
++ fprintf(stderr, "comp break %d \n", ftell(jisho));
++ }
++ break;
++ }
++ /* fix 1992/3/6 under suggestion */
++ /* of guchi@pfu.fujitsu.co.jp */
++ while ((c = fgetc(jisho)) != EOF) {
++ if (c == EOL) break;
++ }
++ if (ftell(jisho) >= endpnt) break;
++ } else {
++ if (comp(*pbuf, c, sstyle&~0x4))
++ endpnt = curpnt;
++ else
++ sttpnt = curpnt;
+ }
+- if (ftell(jisho) >= endpnt) break;
+ }
+
+ if ((errcod = write(commsock, SERVER_NOT_FOUND, 1)) >= 0) {
diff --git a/japanese/skkserv/patches/patch-jisyo b/japanese/skkserv/patches/patch-jisyo
new file mode 100644
index 00000000000..d2ce4467bb9
--- /dev/null
+++ b/japanese/skkserv/patches/patch-jisyo
@@ -0,0 +1,28 @@
+$NetBSD: patch-jisyo,v 1.1.1.1 1999/12/24 03:19:23 itohy Exp $
+
+Dictionary (SKK-JISYO.L) corrigenda.
+Partially from skk-dic mailing list.
+
+--- jisyo/SKK-JISYO.L.fix1 Mon Dec 20 16:28:52 1999
++++ jisyo/SKK-JISYO.L Mon Dec 20 16:28:56 1999
+@@ -35040,9 +35040,9 @@
+ きょうぞんきょうえい /共存共栄/
+ きょうぞんほう /共存法/
+ きょうぞんほうほう /共存方法/
+-きょうたい /匡体/筐体/狂態/矯態/嬌態/筺体/
++きょうたい /筐体/狂態/嬌態/
+ きょうたいいき /狭帯域/
+-きょうたいじっそうぎじゅつ /匡体実装技術/
++きょうたいじっそうぎじゅつ /筐体実装技術/
+ きょうたく /供託/教卓/
+ きょうたくきん /供託金/
+ きょうたくしょ /供託所/
+@@ -36904,7 +36904,7 @@
+ ぎじんほう /擬人法/
+ ぎせい /犠牲/擬声/擬制/
+ ぎせいご /擬声語/
+-ぎせいしゃ /儀牲者/犠牲者/
++ぎせいしゃ /犠牲者/
+ ぎせき /議席/
+ ぎせきすう /議席数/
+ ぎせきはいぶん /議席配分/