summaryrefslogtreecommitdiff
path: root/japanese/FreeWnn-lib/files
diff options
context:
space:
mode:
authorSatoshi Asami <asami@FreeBSD.org>1997-09-10 06:52:02 +0000
committerSatoshi Asami <asami@FreeBSD.org>1997-09-10 06:52:02 +0000
commit4bc273eb214ab9cad06b724c90dc62b0d24c69e1 (patch)
treec5f4733a0d56b1af11c08158a7ad0ae8cda9888e /japanese/FreeWnn-lib/files
parentoriginal distribution updated to 1.94.4. (diff)
Fix many bugs. Share files that can be shared.
PR: 4409 Submitted by: Satoshi Taoka <taoka@infonets.hiroshima-u.ac.jp>
Notes
Notes: svn path=/head/; revision=7843
Diffstat (limited to 'japanese/FreeWnn-lib/files')
-rw-r--r--japanese/FreeWnn-lib/files/patch-aa99
-rw-r--r--japanese/FreeWnn-lib/files/patch-ab22
-rw-r--r--japanese/FreeWnn-lib/files/patch-ad40
-rw-r--r--japanese/FreeWnn-lib/files/patch-ae14
-rw-r--r--japanese/FreeWnn-lib/files/patch-af45
-rw-r--r--japanese/FreeWnn-lib/files/patch-ag11
-rw-r--r--japanese/FreeWnn-lib/files/patch-ah41
-rw-r--r--japanese/FreeWnn-lib/files/patch-ai61
-rw-r--r--japanese/FreeWnn-lib/files/patch-aj28
-rw-r--r--japanese/FreeWnn-lib/files/patch-ak79
-rw-r--r--japanese/FreeWnn-lib/files/patch-al20
11 files changed, 372 insertions, 88 deletions
diff --git a/japanese/FreeWnn-lib/files/patch-aa b/japanese/FreeWnn-lib/files/patch-aa
index f7bd47d50fc8..2ac4202cc650 100644
--- a/japanese/FreeWnn-lib/files/patch-aa
+++ b/japanese/FreeWnn-lib/files/patch-aa
@@ -75,50 +75,6 @@ diff -arcN ../Xsi.org/Wnn/pubdic/Imakefile ./Wnn/pubdic/Imakefile
InstallMultiple($(FZK_SRC),$(JWNNFZKSRCDIR))
depend::
-diff -arcN ../Xsi.org/Wnn/uum/jhlp.c ./Wnn/uum/jhlp.c
-*** ../Xsi.org/Wnn/uum/jhlp.c Fri Aug 19 10:32:12 1994
---- ./Wnn/uum/jhlp.c Wed Aug 21 20:19:26 1996
-***************
-*** 771,777 ****
- #endif
- int pid;
-
-! if ((pid = wait3(&status, WNOHANG | WUNTRACED, NULL)) == child_id) {
- if (WIFSTOPPED(status)) {
- #ifdef SIGCONT
- kill(pid, SIGCONT);
---- 771,782 ----
- #endif
- int pid;
-
-! /*
-! * Remove warning.
-! * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
-! */
-! /* if ((pid = wait3(&status, WNOHANG | WUNTRACED, NULL)) == child_id) { */
-! if ((pid = wait3((int *)&status, WNOHANG | WUNTRACED, NULL)) == child_id) {
- if (WIFSTOPPED(status)) {
- #ifdef SIGCONT
- kill(pid, SIGCONT);
-***************
-*** 1636,1642 ****
---- 1641,1656 ----
- char *b, *pty;
- int no;
- {
-+ /*
-+ * Change pseudo-devices.
-+ * Because FreeBSD's master pseudo-devices are pty[p-sP-S][0-9a-v].
-+ * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
-+ */
-+ #ifdef __FreeBSD__
-+ sprintf(b, "%s%1c%1c", pty, "pqrsPQRS"[(no >> 5)], ((no & 0x1f > 9)? 'a' : '0') + (no & 0x1f));
-+ #else /* ! __FreeBSD__ */
- sprintf(b, "%s%1c%1x", pty, 'p' + (no >> 4), no & 0x0f);
-+ #endif /* ! __FreeBSD__ */
- }
- #endif /* !sgi */
-
diff -arcN ../Xsi.org/config/Project.tmpl ./config/Project.tmpl
*** ../Xsi.org/config/Project.tmpl Mon Aug 29 17:40:17 1994
--- ./config/Project.tmpl Wed Aug 21 20:07:05 1996
@@ -175,43 +131,22 @@ diff -arcN ../Xsi.org/config/Project.tmpl ./config/Project.tmpl
#define WnnInstallDicMultiple(list,dest) @@\
***************
-*** 1134,1150 ****
- $(WNNTOUCH) $(DESTDIR)dest/$$i); fi \ @@\
- done
-
- #ifndef BuildWnn
- #define BuildWnn YES
- #endif
- #ifndef BuildCWnn
-! #define BuildCWnn YES
- #endif
- #ifndef BuildKWnn
-! #define BuildKWnn YES
- #endif
- #ifndef BuildXwnmo
-! #define BuildXwnmo YES
- #endif
-
- #ifndef BuildJserver
---- 1145,1165 ----
- $(WNNTOUCH) $(DESTDIR)dest/$$i); fi \ @@\
- done
-
-+ /*
-+ * Only Japanese
-+ * - Satoshi
-+ */
- #ifndef BuildWnn
- #define BuildWnn YES
- #endif
- #ifndef BuildCWnn
-! #define BuildCWnn NO
- #endif
- #ifndef BuildKWnn
-! #define BuildKWnn NO
+*** 1236,1243 ****
+ #else
+ IMTOP = $(CONTRIBSRC)/programs/Xsi
#endif
- #ifndef BuildXwnmo
-! #define BuildXwnmo NO
+! WNNWNNDIR = /usr/local/lib/wnn
+! WNNBINDIR = /usr/local/bin
+ WNNINCDIR = $(INCROOT)
+ WNNLIBDIR = $(USRLIBDIR)
+ WNNTERM_LIB = termLibrary
+--- 1251,1259 ----
+ #else
+ IMTOP = $(CONTRIBSRC)/programs/Xsi
#endif
-
- #ifndef BuildJserver
+! PREFIX = /usr/local
+! WNNWNNDIR = ${PREFIX}/lib/wnn
+! WNNBINDIR = ${PREFIX}/bin
+ WNNINCDIR = $(INCROOT)
+ WNNLIBDIR = $(USRLIBDIR)
+ WNNTERM_LIB = termLibrary
diff --git a/japanese/FreeWnn-lib/files/patch-ab b/japanese/FreeWnn-lib/files/patch-ab
index 5bcae60ee528..92af97ad2933 100644
--- a/japanese/FreeWnn-lib/files/patch-ab
+++ b/japanese/FreeWnn-lib/files/patch-ab
@@ -1,19 +1,29 @@
---- ./Wnn/jserver/de.c.org Thu Aug 18 18:31:23 1994
-+++ ./Wnn/jserver/de.c Fri Feb 28 01:13:16 1997
-@@ -264,7 +264,16 @@
+--- ./Wnn/jserver/de.c.orig Fri Aug 19 10:31:23 1994
++++ ./Wnn/jserver/de.c Fri Aug 1 18:54:55 1997
+@@ -65,6 +65,9 @@
+
+ #include <sys/ioctl.h>
+
++#if (defined(__unix__) || defined(unix)) && !defined(USG)
++#include <sys/param.h>
++#endif
+ #ifdef SYSVR2
+ #include <sys/param.h>
+ #ifndef SIGCHLD
+@@ -264,7 +267,16 @@
fclose(stdin);
fclose(stdout);
if(!noisy){
-+#ifndef __FreeBSD__
++#if !(defined(BSD) && (BSD >= 199306)) /* !4.4BSD-Lite by Taoka */
fclose(stderr);
-+#else /* __FreeBSD__ */
++#else /* 4.4BSD-Lite */
+ int fd = open("/dev/null", O_WRONLY);
+ if (fd < 0) {
+ xerror("Cannot open /dev/null\n");
+ }
+ dup2(fd, 2);
+ close(fd);
-+#endif /* __FreeBSD__ */
++#endif /* 4.4BSD-Lite */
}
#if defined(hpux) || defined(SOLARIS)
diff --git a/japanese/FreeWnn-lib/files/patch-ad b/japanese/FreeWnn-lib/files/patch-ad
new file mode 100644
index 000000000000..0cbf0efb0822
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-ad
@@ -0,0 +1,40 @@
+--- ./Wnn/jserver/b_index.c.orig Tue Jun 28 11:06:49 1994
++++ ./Wnn/jserver/b_index.c Sat Jul 19 00:45:21 1997
+@@ -99,8 +99,8 @@
+
+ /** For each tuple in ri1[0] create b_nodes */
+ for (i=0; i<jt->maxri1[0]; i++){
+- serial = (jt->ri1[0]+i)->pter;
+- yomi = KANJI_str(jt->ri2[serial].kanjipter + jt->kanji, 0);
++ serial = ntohs((jt->ri1[0]+i)->pter);
++ yomi = KANJI_str(ntohs(jt->ri2[serial].kanjipter) + jt->kanji, 0);
+ b_index_add(jt, yomi, serial);
+ }
+ return(b_cnt);
+@@ -133,7 +133,7 @@
+ int serial;
+ {
+ w_char *yomi;
+- yomi = KANJI_str(jt->ri2[serial].kanjipter + jt->kanji, 0);
++ yomi = KANJI_str(ntohs(jt->ri2[serial].kanjipter) + jt->kanji, 0);
+ delete_b_node(jt, yomi, 0, 0 );
+ }
+
+@@ -160,7 +160,7 @@
+ tmp_node = jt->bind[tmp_node].pter_son;
+ }
+ yo_kanji = KANJI_str(
+- jt->ri2[jt->bind[tmp_node].pter].kanjipter+jt->kanji, 0);
++ ntohs(jt->ri2[jt->bind[tmp_node].pter].kanjipter)+jt->kanji, 0);
+ if ( yomi[level] > yo_kanji[level] ) {
+ buf_node1 = buf_node2;
+ buf_node2 = jt->bind[buf_node2].pter_next ;
+@@ -216,7 +216,7 @@
+ tmp_node = jt->bind[tmp_node].pter_son;
+ }
+ yo_kanji = KANJI_str(
+- jt->ri2[jt->bind[tmp_node].pter].kanjipter+jt->kanji, 0);
++ ntohs(jt->ri2[jt->bind[tmp_node].pter].kanjipter)+jt->kanji, 0);
+
+ if ( yomi[level] > yo_kanji[level] ) {
+ buf_node1 = buf_node2;
diff --git a/japanese/FreeWnn-lib/files/patch-ae b/japanese/FreeWnn-lib/files/patch-ae
new file mode 100644
index 000000000000..7ea048b9903a
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-ae
@@ -0,0 +1,14 @@
+--- ./Contrib/dic/gerodic/Makefile.orig Sun Jun 27 00:09:13 1993
++++ ./Contrib/dic/gerodic/Makefile Tue Jul 29 12:06:28 1997
+@@ -4,8 +4,9 @@
+ # Jun. 26th '93 Wnn Consortium
+ #
+
+-WNNBINDIR=/usr/local/bin/Wnn4
+-WNNWNNDIR=/usr/local/lib/wnn
++PREFIX = /usr/local
++WNNBINDIR=${PREFIX}/bin/Wnn4
++WNNWNNDIR=${PREFIX}/lib/wnn
+
+ WNNOWNER=wnn
+
diff --git a/japanese/FreeWnn-lib/files/patch-af b/japanese/FreeWnn-lib/files/patch-af
new file mode 100644
index 000000000000..7bda975ebb7d
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-af
@@ -0,0 +1,45 @@
+--- Wnn/jutil/wnnstat.c.orig Tue Jul 29 01:21:32 1997
++++ Wnn/jutil/wnnstat.c Tue Jul 29 01:41:42 1997
+@@ -69,7 +69,7 @@
+ #define W_DIC_ALL 5
+ #define W_VERSION 6
+
+-#ifdef JAPANSE
++#ifdef JAPANESE
+ extern int eujis_to_jis8(), eujis_to_sjis();
+ #endif
+ #ifdef CHINESE
+@@ -129,13 +129,13 @@
+ strcpy(lang, WNN_DEFAULT_LANG);
+
+ #ifdef JAPANESE
+- while ((c = getopt(argc,argv,"EewdDfFUSJVL:K")) != EOF) {
++ while ((c = getopt(argc,argv,"weEdDfFUSJVL:")) != EOF) {
+ #endif
+ #ifdef CHINESE
+- while ((c = getopt(argc,argv,"EewdDfFUBCVL:K")) != EOF) {
++ while ((c = getopt(argc,argv,"weEdDfFUBCVL:")) != EOF) {
+ #endif
+ # ifdef KOREAN
+- while ((c = getopt(argc,argv,"EewdDfFUVL:K")) != EOF) {
++ while ((c = getopt(argc,argv,"weEdDfFUKVL:")) != EOF) {
+ #endif
+ switch(c){
+ case 'w':
+@@ -317,13 +317,13 @@
+ usage()
+ {
+ #ifdef JAPANESE
+- fprintf(stderr, "wnnstat [-weEdDfFKSUJ] [-L lang_name] [server_name]\n");
++ fprintf(stderr, "wnnstat [-weEdDfFUSJV] [-L lang_name] [server_name]\n");
+ #endif /* JAPANESE */
+ #ifdef CHINESE
+- fprintf(stderr, "wnnstat [-weEdDfFSUJBC] [-L lang_name] [server_name]\n");
++ fprintf(stderr, "wnnstat [-weEdDfFUBCV] [-L lang_name] [server_name]\n");
+ #endif /* CHINESE */
+ #ifdef KOREAN
+- fprintf(stderr, "kwnnstat [-weEdDfFKU] [-L lang_name] [server_name]\n");
++ fprintf(stderr, "kwnnstat [-weEdDfFUKV] [-L lang_name] [server_name]\n");
+ #endif /* KOREAN */
+ exit(-1);
+ }
diff --git a/japanese/FreeWnn-lib/files/patch-ag b/japanese/FreeWnn-lib/files/patch-ag
new file mode 100644
index 000000000000..d11ee32a427b
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-ag
@@ -0,0 +1,11 @@
+--- ./kWnn/kd/uumrc.orig Tue Jun 28 11:29:51 1994
++++ ./kWnn/kd/uumrc Sat Jul 19 02:48:17 1997
+@@ -8,7 +8,7 @@
+ setconvenv @LIBDIR/@LANG/wnnenvrc
+ setkankanaenv @LIBDIR/@LANG/wnnenvrc_R
+
+-setjishopath @LIBDIR/@LANG/dic/pubdic/
++setjishopath @LIBDIR/@LANG/dic/sys/
+ sethindopath @LIBDIR/@LANG/dic/usr/@USR/
+
+ setuumkey @LIBDIR/@LANG/uumkey
diff --git a/japanese/FreeWnn-lib/files/patch-ah b/japanese/FreeWnn-lib/files/patch-ah
new file mode 100644
index 000000000000..a4fa296159c4
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-ah
@@ -0,0 +1,41 @@
+--- ./kWnn/etc/Imakefile.orig Wed Aug 17 10:11:33 1994
++++ ./kWnn/etc/Imakefile Sat Jul 19 23:53:01 1997
+@@ -1,6 +1,8 @@
+ XCOMM
+ XCOMM $Id: Imakefile,v 1.2 1994/08/17 01:11:33 kuwa Exp $
+ XCOMM
++XCOMM For Mule, add sources (yincoding.c py_table.c zy_table.c) 1
++XCOMM -- S. Taoka
+ #define DoNormalLib YES
+
+ #include <Library.tmpl>
+@@ -19,6 +21,9 @@
+ xutoj.c \
+ dic_atojis.c \
+ msg.c \
++ yincoding.c \
++ py_table.c \
++ zy_table.c \
+ server_env.c
+
+ OBJS= strings.o \
+@@ -32,6 +37,9 @@
+ xutoj.o \
+ dic_atojis.o \
+ msg.o \
++ yincoding.o \
++ py_table.o \
++ zy_table.o \
+ server_env.o
+
+ LibraryObjectRule()
+@@ -51,6 +59,9 @@
+ LinkSourceFile(xutoj.c,$(WNNETCSRC))
+ LinkSourceFile(dic_atojis.c,$(WNNETCSRC))
+ LinkSourceFile(msg.c,$(WNNETCSRC))
++LinkSourceFile(yincoding.c,$(WNNETCSRC))
++LinkSourceFile(py_table.c,$(WNNETCSRC))
++LinkSourceFile(zy_table.c,$(WNNETCSRC))
+ LinkSourceFile(server_env.c,$(WNNETCSRC))
+
+ DependTarget()
diff --git a/japanese/FreeWnn-lib/files/patch-ai b/japanese/FreeWnn-lib/files/patch-ai
new file mode 100644
index 000000000000..e7cf3360fbb4
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-ai
@@ -0,0 +1,61 @@
+--- ./kWnn/jlib/Imakefile.orig Wed Aug 17 10:11:40 1994
++++ ./kWnn/jlib/Imakefile Sat Jul 19 23:55:17 1997
+@@ -1,6 +1,9 @@
+ XCOMM
+ XCOMM $Id: Imakefile,v 1.2 1994/08/17 01:11:40 kuwa Exp $
+ XCOMM
++XCOMM For Mule, add sources (yincoding.c py_table.c zy_table.c) 1
++XCOMM -- S. Taoka
++XCOMM
+ #define DoNormalLib YES
+
+ #include <Library.tmpl>
+@@ -10,7 +13,9 @@
+ LINKS = getopt.c jl.c js.c wnnerrmsg.c
+ JLIBDEFINES = -DWRITE_CHECK
+ INCLUDES = -I$(KWNNINCLUDESRC) -I$(TOP)
+- DEFINES = $(KWNNDEFINES) $(KWNNLANGDEF) $(JLIBDEFINES)
++ DEFINES = $(KWNNDEFINES) $(KWNNLANGDEF) $(CWNNLANGDEF) $(JLIBDEFINES)
++XCOMM # for Mule
++XCOMM # -- S. Taoka
+ INSTALLFLAGS = $(INSTBINFLAGS)
+ LINTLIBS =
+
+@@ -28,6 +33,15 @@
+ OBJ4= strings.o
+ SRC5= $(KWNNETCSRC)/bcopy.c
+ OBJ5= bcopy.o
++SRC6= $(KWNNETCSRC)/yincoding.c
++XCOMM for Mule
++XCOMM -- S. Taoka
++OBJ6= yincoding.o
++SRC7= $(KWNNETCSRC)/py_table.c
++OBJ7= py_table.o
++SRC8= $(KWNNETCSRC)/zy_table.c
++OBJ8= zy_table.o
++
+ LOCAL_RKSRCS= $(KWNNROMKANSRC)/rk_bltinfn.c \
+ $(KWNNROMKANSRC)/rk_main.c \
+ $(KWNNROMKANSRC)/rk_modread.c \
+@@ -40,8 +54,8 @@
+ $(KWNNROMKANSRC)/rk_read.o \
+ $(KWNNROMKANSRC)/rk_vars.o
+
+-LOCAL_ETCSRCS = $(SRC4) $(SRC5)
+-LOCAL_ETCOBJS = $(OBJ4) $(OBJ5)
++LOCAL_ETCSRCS = $(SRC4) $(SRC5) $(SRC6) $(SRC7) $(SRC8)
++LOCAL_ETCOBJS = $(OBJ4) $(OBJ5) $(OBJ6) $(OBJ7) $(OBJ8)
+ SRCS= $(SRC1) $(SRC3) $(LOCAL_ETCSRCS)
+ OBJS= $(OBJ1) $(OBJ3) $(LOCAL_ETCOBJS) $(LOCAL_RKOBJS)
+
+@@ -80,6 +94,10 @@
+ WnnSpecialObjectRule($(OBJ3),$(SRC3),$(KWNNETCSRC),)
+ WnnSpecialObjectRule($(OBJ4),$(SRC4),$(KWNNETCSRC),)
+ WnnSpecialObjectRule($(OBJ5),$(SRC5),$(KWNNETCSRC),)
++WnnSpecialObjectRule($(OBJ6),$(SRC6),$(KWNNETCSRC),)
++WnnSpecialObjectRule($(OBJ7),$(SRC7),$(KWNNETCSRC),)
++WnnSpecialObjectRule($(OBJ8),$(SRC8),$(KWNNETCSRC),)
++
+
+ $(LOCAL_RKOBJS) : $(LOCAL_RKSRCS)
+ @case '${MFLAGS}' in *[ik]*) set +e;; esac; \
diff --git a/japanese/FreeWnn-lib/files/patch-aj b/japanese/FreeWnn-lib/files/patch-aj
new file mode 100644
index 000000000000..53e082d82d66
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-aj
@@ -0,0 +1,28 @@
+--- ./Wnn/jlib.V3/Imakefile.orig Wed Aug 17 10:10:13 1994
++++ ./Wnn/jlib.V3/Imakefile Fri Aug 1 14:11:09 1997
+@@ -19,6 +19,10 @@
+ OBJ3= sstrings.o
+ SRCS= $(SRC1) $(SRC2) $(SRC3)
+ OBJS= $(OBJ1) $(OBJ2) $(OBJ3)
++SRC4= $(WNNETCSRC)/xutoj.c
++OBJ4= xutoj.o
++SRCS= $(SRC1) $(SRC2) $(SRC3) $(SRC4)
++OBJS= $(OBJ1) $(OBJ2) $(OBJ3) $(OBJ4)
+
+ LibraryObjectRule()
+
+@@ -31,7 +35,7 @@
+
+ LintLibraryTarget(jd,$(SRCS))
+ InstallLibrary(jd,$(WNNLIBDIR))
+-InstallNonExecFile($(WNNINCLUDESRC)/jlib.h,$(JWNNINCDIR))
++InstallNonExecFile(jlib.h,$(JWNNINCDIR))
+
+ #if DebugLibJd
+ DebuggedLibraryTarget(jd,$(OBJS))
+@@ -42,4 +46,5 @@
+
+ WnnSpecialObjectRule($(OBJ2),$(SRC2),$(WNNETCSRC),)
+ WnnSpecialObjectRule($(OBJ3),$(SRC3),$(WNNETCSRC),)
++WnnSpecialObjectRule($(OBJ4),$(SRC4),$(WNNETCSRC),)
+ DependTarget()
diff --git a/japanese/FreeWnn-lib/files/patch-ak b/japanese/FreeWnn-lib/files/patch-ak
new file mode 100644
index 000000000000..1181bb7434f6
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-ak
@@ -0,0 +1,79 @@
+--- ../Xsi.orig/Wnn/uum/jhlp.c Fri Aug 19 10:32:12 1994
++++ ./Wnn/uum/jhlp.c Fri Aug 1 18:54:18 1997
+@@ -80,6 +80,9 @@
+
+ jmp_buf kk_env;
+
++#if (defined(__unix__) || defined(unix)) && !defined(USG)
++#include <sys/param.h>
++#endif
+ #ifdef SYSVR2
+ # include <sys/param.h>
+ #endif /* SYSVR2 */
+@@ -263,9 +266,11 @@
+
+
+ #if defined(BSD42) && !defined(DGUX)
++#if !(defined(BSD) && (BSD >= 199306))
+ if (saveutmp() < 0) {
+ puts("Can't save utmp\n");
+ }
++#endif
+ #endif /* BSD42 */
+
+
+@@ -771,7 +776,12 @@
+ #endif
+ int pid;
+
+- if ((pid = wait3(&status, WNOHANG | WUNTRACED, NULL)) == child_id) {
++/*
++ * Remove warning.
++ * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
++ */
++/* if ((pid = wait3(&status, WNOHANG | WUNTRACED, NULL)) == child_id) { */
++ if ((pid = wait3((int *)&status, WNOHANG | WUNTRACED, NULL)) == child_id) {
+ if (WIFSTOPPED(status)) {
+ #ifdef SIGCONT
+ kill(pid, SIGCONT);
+@@ -1140,9 +1150,11 @@
+ setpgrp(0, pid);
+ #endif /* BSD42 */
+
++#if !(defined(BSD) && (BSD >= 199306))
+ if (setutmp(ttypfd) == ERROR) {
+ puts("Can't set utmp.");
+ }
++#endif
+
+ #ifdef linux
+ setsid();
+@@ -1562,9 +1574,11 @@
+ perror(prog);
+ }
+
++#if !(defined(BSD) && (BSD >= 199306))
+ if (resetutmp(ttypfd) == ERROR) {
+ printf("Can't reset utmp.");
+ }
++#endif
+ #ifdef TIOCSSIZE
+ pty_rowcol.ts_lines = 0;
+ pty_rowcol.ts_cols = 0;
+@@ -1636,7 +1650,16 @@
+ char *b, *pty;
+ int no;
+ {
++/*
++ * Change pseudo-devices.
++ * Because FreeBSD's master pseudo-devices are pty[p-sP-S][0-9a-v].
++ * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20
++ */
++#if (defined(BSD) && (BSD >= 199306)) /* 4.4BSD-Lite by Taoka */
++ sprintf(b, "%s%1c%1c", pty, "pqrsPQRS"[(no >> 5)], ((no & 0x1f > 9)? 'a' : '0') + (no & 0x1f));
++#else /* ! 4.4BSD-Lite */
+ sprintf(b, "%s%1c%1x", pty, 'p' + (no >> 4), no & 0x0f);
++#endif /* ! 4.4BSD-Lite */
+ }
+ #endif /* !sgi */
+
diff --git a/japanese/FreeWnn-lib/files/patch-al b/japanese/FreeWnn-lib/files/patch-al
new file mode 100644
index 000000000000..d4423556f7af
--- /dev/null
+++ b/japanese/FreeWnn-lib/files/patch-al
@@ -0,0 +1,20 @@
+--- ./Wnn/jlib.V3/jlib.h.orig Tue Sep 17 06:30:30 1991
++++ ./Wnn/jlib.V3/jlib.h Fri Sep 5 21:37:24 1997
+@@ -51,12 +51,14 @@
+ /*
+ Nihongo Henkan Library Header File
+ */
+-/*
+ #include <setjmp.h>
+-*/
+-
+
+ #define w_char unsigned short
++#ifndef WCHAR_T
++#define wchar_t w_char
++#define wchar w_char
++#define WCHAR_T
++#endif
+
+ #define JLIB
+