diff -ur Xsi/Contrib/dic/gerodic/Makefile Xsi.netbsd/Contrib/dic/gerodic/Makefile --- Xsi/Contrib/dic/gerodic/Makefile Sun Jun 27 00:09:13 1993 +++ Xsi.netbsd/Contrib/dic/gerodic/Makefile Sat Apr 25 01:36:50 1998 @@ -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 -ur Xsi/Wnn/etc/bdic.c Xsi.netbsd/Wnn/etc/bdic.c --- Xsi/Wnn/etc/bdic.c Wed Apr 7 13:33:19 1993 +++ Xsi.netbsd/Wnn/etc/bdic.c Thu Jun 11 21:20:58 1998 @@ -66,6 +66,7 @@ #ifndef JS #include #include +#include #include "commonhd.h" #include "jslib.h" #include "jh.h" diff -ur Xsi/Wnn/etc/msg.c Xsi.netbsd/Wnn/etc/msg.c --- Xsi/Wnn/etc/msg.c Fri Aug 19 09:58:52 1994 +++ Xsi.netbsd/Wnn/etc/msg.c Sat Apr 25 02:22:50 1998 @@ -50,12 +50,14 @@ */ #include +#include #include "commonhd.h" #include "wnn_os.h" #include "msg.h" extern char *getenv(); +#if 0 static char * bsearch(ky, bs, nel, width, compar) char *ky; @@ -100,6 +102,7 @@ } return ((char *) 0); /* not found */ } +#endif static char * getlang(lang) @@ -136,10 +139,10 @@ static int _search(id, bd) -register int id; +register void *id; register struct msg_bd *bd; { - return(id - bd->msg_id); + return((long)id - bd->msg_id); } static void @@ -199,13 +202,13 @@ static char * get_msg_bd(cd, id) register struct msg_cat *cd; -register int id; +register long id; { register struct msg_bd *bd; if(cd->msg_bd == 0 || cd->msg_cnt == 0) return(NULL); bd = (struct msg_bd *) - bsearch(id, cd->msg_bd, cd->msg_cnt, sizeof(struct msg_bd), _search); + bsearch((const void *)id, (const void *)cd->msg_bd, cd->msg_cnt, sizeof(struct msg_bd), _search); if(bd == NULL) return(NULL); return(bd->msg); @@ -361,7 +364,7 @@ register char *lang; { register struct msg_cat *cd; - char ret[128]; + static char ret[128]; register char *msg_bd; if(catd == 0) diff -ur Xsi/Wnn/etc/xutoj.c Xsi.netbsd/Wnn/etc/xutoj.c --- Xsi/Wnn/etc/xutoj.c Fri Aug 19 09:58:50 1994 +++ Xsi.netbsd/Wnn/etc/xutoj.c Thu Jun 11 21:21:58 1998 @@ -50,6 +50,7 @@ */ #define NEED_CR +#include #include "commonhd.h" #include "config.h" #include "wnn_os.h" diff -ur Xsi/Wnn/jlib/jl.c Xsi.netbsd/Wnn/jlib/jl.c --- Xsi/Wnn/jlib/jl.c Fri Aug 19 10:30:50 1994 +++ Xsi.netbsd/Wnn/jlib/jl.c Thu Jun 11 21:41:12 1998 @@ -55,6 +55,7 @@ #include "commonhd.h" #include "config.h" #include +#include #include #ifdef SYSVR2 # include @@ -65,6 +66,7 @@ #include #include #include +#include #include "wnnerror.h" #include "jd_sock.h" @@ -355,7 +357,7 @@ register char *name; { register struct wnn_file_name_id *f, *f1; - if((f = (struct wnn_file_name_id *)malloc(sizeof(struct wnn_file_name_id) + + if((f = malloc(sizeof(struct wnn_file_name_id) + strlen(name) + 1)) == NULL){ wnn_errorno=WNN_ALLOC_FAIL; return(-1); } @@ -1319,7 +1321,7 @@ if (wnn_errorno == WNN_JSERVER_DEAD) { jl_disconnect(env);return(-1); } - if((int)error_handler == WNN_NO_CREATE || + if((long)error_handler == WNN_NO_CREATE || (rw == WNN_DIC_RDONLY)){ sprintf(tmp, "%s \"%s\" %s", msg_get(wnn_msg_cat, 200, NULL, env->lang), @@ -1340,7 +1342,7 @@ /* "辞書ファイル \"%s\" が無いよ。作る?(Y/N)", */ - if((int)error_handler == WNN_CREATE || + if((long)error_handler == WNN_CREATE || call_error_handler(error_handler, tmp)){ if(create_file(env, dic_name,JISHO, -1, /* -1 is dummy */ pwd_dic, @@ -1360,7 +1362,7 @@ if(wnn_errorno == WNN_JSERVER_DEAD) { jl_disconnect(env);return(-1); } - if((int)error_handler == WNN_NO_CREATE || + if((long)error_handler == WNN_NO_CREATE || (hrw == WNN_DIC_RDONLY)){ sprintf(tmp, "%s \"%s\" %s", msg_get(wnn_msg_cat, 203, NULL, env->lang), @@ -1381,7 +1383,7 @@ /* "頻度ファイル \"%s\" が無いよ。作る?(Y/N)", */ - if((int)error_handler == WNN_CREATE || + if((long)error_handler == WNN_CREATE || call_error_handler(error_handler, tmp)){ if(create_file(env, hindo_name, HINDO, fid, "", pwd_hindo, error_handler, @@ -1402,7 +1404,7 @@ jl_disconnect(env); return(-1); }else if(wnn_errorno == WNN_HINDO_NO_MATCH){ - if((int)error_handler == WNN_NO_CREATE){ + if((long)error_handler == WNN_NO_CREATE){ return(-1); } sprintf(tmp, @@ -1411,7 +1413,7 @@ /* "辞書と頻度 \"%s\" の整合性が無いよ。作り直す?(Y/N)", */ - if(!((int)error_handler == WNN_CREATE || + if(!((long)error_handler == WNN_CREATE || call_error_handler(error_handler, tmp))){ return(-1); } @@ -1511,7 +1513,7 @@ fprintf(fp,"%d\n",rand()); #else srandom(time(0)+getuid()); - fprintf(fp,"%d\n",random()); + fprintf(fp,"%ld\n",random()); #endif #endif /* HITACHI */ fclose(fp); @@ -2416,9 +2418,9 @@ int level = 0; int x; wnn_errorno = 0; - if((int)error_handler == WNN_CREATE){ + if((long)error_handler == WNN_CREATE){ confirm_state = CREATE_WITHOUT_CONFIRM; - }else if((int)error_handler == WNN_NO_CREATE){ + }else if((long)error_handler == WNN_NO_CREATE){ confirm_state = NO_CREATE; }else{ confirm_state = CONFIRM; @@ -2870,7 +2872,7 @@ return(0); /* dir already exists */ } } - if((int)error_handler != WNN_CREATE){ + if((long)error_handler != WNN_CREATE){ sprintf(gomi, "%s \"%s\" %s%s", msg_get(wnn_msg_cat, 210, NULL, env->lang), dirname, diff -ur Xsi/Wnn/jlib/js.c Xsi.netbsd/Wnn/jlib/js.c --- Xsi/Wnn/jlib/js.c Fri Aug 19 10:30:48 1994 +++ Xsi.netbsd/Wnn/jlib/js.c Thu Jun 11 21:39:10 1998 @@ -75,6 +75,8 @@ #include #include +#include +#include #ifdef UX386 #include #else @@ -221,7 +223,7 @@ #endif return -1; } - if (connect(sd,(caddr_t)&saddr,strlen(saddr.sun_path)+sizeof(saddr.sun_family)) == ERROR) { + if (connect(sd,(const struct sockaddr *)&saddr,SUN_LEN(&saddr)) == ERROR) { #if DEBUG xerror("jslib:Can't connect socket.\n"); @@ -294,7 +296,7 @@ signal(SIGALRM, connect_timeout); alarm(timeout); } - ret = connect(sd, (caddr_t)&saddr_in, sizeof(saddr_in)); + ret = connect(sd, (const struct sockaddr *)&saddr_in, sizeof(saddr_in)); if (timeout != 0 && timeout > 0) { alarm(0); signal(SIGALRM, SIG_IGN); diff -ur Xsi/Wnn/jlib.V3/Imakefile Xsi.netbsd/Wnn/jlib.V3/Imakefile --- Xsi/Wnn/jlib.V3/Imakefile Wed Aug 17 10:10:13 1994 +++ Xsi.netbsd/Wnn/jlib.V3/Imakefile Sat Apr 25 01:36:51 1998 @@ -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 -ur Xsi/Wnn/jlib.V3/jlib.h Xsi.netbsd/Wnn/jlib.V3/jlib.h --- Xsi/Wnn/jlib.V3/jlib.h Tue Sep 17 06:30:30 1991 +++ Xsi.netbsd/Wnn/jlib.V3/jlib.h Sat Apr 25 01:36:51 1998 @@ -51,12 +51,14 @@ /* Nihongo Henkan Library Header File */ -/* #include -*/ - #define w_char unsigned short +#ifndef WCHAR_T +#define wchar_t w_char +#define wchar w_char +#define WCHAR_T +#endif #define JLIB diff -ur Xsi/Wnn/jserver/Imakefile Xsi.netbsd/Wnn/jserver/Imakefile --- Xsi/Wnn/jserver/Imakefile Tue Aug 23 11:19:34 1994 +++ Xsi.netbsd/Wnn/jserver/Imakefile Sat Aug 8 10:43:01 1998 @@ -5,7 +5,7 @@ XCOMM Jserver usually fork and remove association with controll XCOMM terminal. -DNOTFORK is for DEBUG. - JSERVERDEFINES = -DJSERVER -DWRITE_CHECK + JSERVERDEFINES = -DJSERVER -DWRITE_CHECK -DSRAND48 INCLUDES = -I$(WNNINCLUDESRC) -I$(TOP) DEFINES = $(WNNDEFINES) $(JSERVERDEFINES) $(WNNTERM) LOCAL_INSTFLAGS = $(INSTUIDFLAGS) -o $(WNNOWNER) diff -ur Xsi/Wnn/jserver/b_index.c Xsi.netbsd/Wnn/jserver/b_index.c --- Xsi/Wnn/jserver/b_index.c Tue Jun 28 11:06:49 1994 +++ Xsi.netbsd/Wnn/jserver/b_index.c Sat Apr 25 01:36:50 1998 @@ -99,8 +99,8 @@ /** For each tuple in ri1[0] create b_nodes */ for (i=0; imaxri1[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 -ur Xsi/Wnn/jserver/bnsetu_kai.c Xsi.netbsd/Wnn/jserver/bnsetu_kai.c --- Xsi/Wnn/jserver/bnsetu_kai.c Fri Aug 19 10:31:21 1994 +++ Xsi.netbsd/Wnn/jserver/bnsetu_kai.c Thu Jun 11 21:51:04 1998 @@ -573,7 +573,7 @@ } /* 接続可能か */ - if (sbnptr->status_bkwd = kan_ck_vector(giji_hinsi, vector) == WNN_CONNECT_BK) + if ((sbnptr->status_bkwd = kan_ck_vector(giji_hinsi, vector)) == WNN_CONNECT_BK) goto _Can_connect; #ifdef nodef /* 数字に接続できないが,アスキには接続できる */ diff -ur Xsi/Wnn/jserver/de.c Xsi.netbsd/Wnn/jserver/de.c --- Xsi/Wnn/jserver/de.c Fri Aug 19 10:31:23 1994 +++ Xsi.netbsd/Wnn/jserver/de.c Tue Aug 4 00:33:03 1998 @@ -53,6 +53,11 @@ */ #include #include +#include +#include +#include +#include +#include #include "commonhd.h" #include "config.h" #include "jd_sock.h" @@ -65,6 +70,9 @@ #include +#if (defined(__unix__) || defined(unix)) && !defined(USG) +#include +#endif #ifdef SYSVR2 #include #ifndef SIGCHLD @@ -81,8 +89,10 @@ #include "msg.h" #ifdef BSD42 +#ifndef NOFILE #define NOFILE getdtablesize() #endif +#endif #ifdef HITACHI #undef NOFILE @@ -133,9 +143,9 @@ /* Communication Buffers */ static char snd_buf[R_BUF_SIZ]; /** 送信バッファ **/ -static int sbp; /** 送信バッファポインタ **/ +static long sbp; /** 送信バッファポインタ **/ -static int rbc; /** 受信バッファcounter **/ +static long rbc; /** 受信バッファcounter **/ static char rcv_buf[S_BUF_SIZ]; /** 受信バッファ **/ #if defined(EAGAIN) @@ -157,11 +167,11 @@ int cur_clp; /** 現在のクライアントの番号 **/ -static int *all_socks; /** ビットパターン +static long *all_socks; /** ビットパターン which jserver to select を保持 **/ -static int *ready_socks; /** データのきているソケットの +static long *ready_socks; /** データのきているソケットの ビットパターンを保持 **/ -static int *dummy1_socks, +static long *dummy1_socks, *dummy2_socks; static int no_of_ready_socks; @@ -185,6 +195,7 @@ int get2_cur(); char cmd_name[80]; +extern unsigned int create_cswidth __P((char *)); /* No arguments are used. Only options. */ void @@ -208,7 +219,7 @@ if(wnn_msg_cat == NULL){ fprintf(stderr, "libwnn: Cannot open message file for libwnn.a\n"); } - if (cswidth_name = get_cswidth_name(LANG_NAME)) + if ((cswidth_name = get_cswidth_name(LANG_NAME)) != 0) set_cswidth(create_cswidth(cswidth_name)); setuid(geteuid()); @@ -264,7 +275,16 @@ fclose(stdin); fclose(stdout); if(!noisy){ +#if !(defined(BSD) && (BSD >= 199306)) /* !4.4BSD-Lite by Taoka */ fclose(stderr); +#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 /* 4.4BSD-Lite */ } #if defined(hpux) || defined(SOLARIS) @@ -317,15 +337,15 @@ void socket_disc_init() { - int sel_w; /* long word(==int) width of all_socks */ + long sel_w; /* long word(==int) width of all_socks */ nofile = NOFILE; sel_w = (nofile-1)/BINTSIZE + 1; - all_socks = (int *)calloc( sel_w,(sizeof(int))); - ready_socks = (int *)malloc( sel_w*(sizeof(int))); - dummy1_socks= (int *)malloc( sel_w*(sizeof(int))); - dummy2_socks= (int *)malloc( sel_w*(sizeof(int))); - sel_width = sel_w*sizeof(int); /* byte width */ + all_socks = (long *)calloc( sel_w,(sizeof(long))); + ready_socks = (long *)malloc( sel_w*(sizeof(long))); + dummy1_socks= (long *)malloc( sel_w*(sizeof(long))); + dummy2_socks= (long *)malloc( sel_w*(sizeof(long))); + sel_width = sel_w*sizeof(long); /* byte width */ sel_bwidth = sel_width*8; /* bit width */ } @@ -340,7 +360,7 @@ top: errno = 0; if((no_of_ready_socks - =select(nofile,ready_socks,dummy1_socks,dummy2_socks,0))==-1){ + =select(nofile,(fd_set *)ready_socks, (fd_set *)dummy1_socks, (fd_set *)dummy2_socks,0))==-1){ if(errno == EINTR) goto top; xerror("select error"); } @@ -380,7 +400,7 @@ register int sd; register int full, i; FILE *f[3]; - char gomi[1024]; + static char gomi[1024]; #ifdef AF_UNIX if((serverNO == 0) && (sock_tst(ready_socks,accept_blk[UNIX_ACPT].sd))){ sock_clr(ready_socks,accept_blk[UNIX_ACPT].sd); @@ -462,7 +482,7 @@ exit(1); } #ifdef SRAND48 - srand48(time((long *)0)); + srand48(time((time_t *)0)); #else srand((int)time((long *)0)); #endif @@ -503,7 +523,7 @@ #endif /* !SOLARIS */ for (;;) { addrlen = sizeof(addr_un); - if (accept(sock_d_un, &addr_un, &addrlen) < 0) break; + if (accept(sock_d_un, (struct sockaddr *)&addr_un, &addrlen) < 0) break; /* EWOULDBLOCK EXPECTED, but we don't check */ } shutdown(sock_d_un, 2); @@ -520,7 +540,7 @@ #endif /* !SOLARIS */ for (;;) { addrlen = sizeof(addr_in); - if (accept(sock_d_in, &addr_in, &addrlen) < 0) break; + if (accept(sock_d_in, (struct sockaddr *)&addr_in, &addrlen) < 0) break; /* EWOULDBLOCK EXPECTED, but we don't check */ } shutdown(sock_d_in, 2); @@ -647,7 +667,7 @@ char *p; { register int c; - while(c= *p++) putc_cur(c); + while((c= *p++) != 0) putc_cur(c); putc_cur(0); } @@ -657,7 +677,7 @@ w_char *p; { register int c; - while(c= *p++) put2_cur(c); + while((c= *p++) != 0) put2_cur(c); put2_cur(0); } diff -ur Xsi/Wnn/jserver/de_header.h Xsi.netbsd/Wnn/jserver/de_header.h --- Xsi/Wnn/jserver/de_header.h Tue Jun 28 11:06:53 1994 +++ Xsi.netbsd/Wnn/jserver/de_header.h Sat Aug 8 10:43:13 1998 @@ -232,22 +232,22 @@ extern int ave_hyouka(); extern int cmp_hyouka(); /* de.c */ -extern void del_client(); -extern void demon_fin(); -extern void gets_cur(); -extern void getws_cur(); -extern int get2_cur(); -extern int get4_cur(); -extern int getc_cur(); -extern void puts_cur(); -extern void putws_cur(); -extern void putnws_cur(); -extern void put2_cur(); -extern void put4_cur(); -extern void putc_cur(); -extern void putc_purge(); -extern void js_who(); -extern void js_kill(); +extern void del_client(void); +extern void demon_fin(void); +extern void gets_cur(char *); +extern void getws_cur(w_char *); +extern int get2_cur(void); +extern int get4_cur(void); +extern int getc_cur(void); +extern void puts_cur(char *); +extern void putws_cur(w_char *); +extern void putnws_cur(w_char *, int); +extern void put2_cur(int); +extern void put4_cur(int); +extern void putc_cur(int); +extern void putc_purge(void); +extern void js_who(void); +extern void js_kill(void); /* dispatch.c */ extern void do_command(); extern void get_file_name(); diff -ur Xsi/Wnn/jserver/do_env.c Xsi.netbsd/Wnn/jserver/do_env.c --- Xsi/Wnn/jserver/do_env.c Wed Apr 28 09:25:54 1993 +++ Xsi.netbsd/Wnn/jserver/do_env.c Thu Aug 6 18:57:22 1998 @@ -49,6 +49,9 @@ /* Version 4.0 */ #include +#include +#include +#include #include "demcom.h" #include "commonhd.h" @@ -76,7 +79,8 @@ /* register int i; */ - char tmp_buf[256]; + + static char tmp_buf[256]; version = get4_cur(); gets_cur(tmp_buf); @@ -322,10 +326,10 @@ static int disconnect_last_sticky() { - register int i; + register long i; - register int min = 0x7fffffff; - register int eid = -1; + register long min = LONG_MAX; + register long eid = -1; for(i=0;iref_count==0) { diff -ur Xsi/Wnn/jserver/do_filecom.c Xsi.netbsd/Wnn/jserver/do_filecom.c --- Xsi/Wnn/jserver/do_filecom.c Thu May 27 13:42:53 1993 +++ Xsi.netbsd/Wnn/jserver/do_filecom.c Thu Jun 11 21:15:18 1998 @@ -55,6 +55,7 @@ #include #include #include +#include #include "demcom.h" #include "commonhd.h" diff -ur Xsi/Wnn/jserver/do_hindo_s.c Xsi.netbsd/Wnn/jserver/do_hindo_s.c --- Xsi/Wnn/jserver/do_hindo_s.c Wed Oct 7 08:14:19 1992 +++ Xsi.netbsd/Wnn/jserver/do_hindo_s.c Sat Apr 25 02:38:12 1998 @@ -48,6 +48,7 @@ */ /* Version 4.0 */ +#include #include "commonhd.h" #include "jslib.h" #include "kaiseki.h" diff -ur Xsi/Wnn/jserver/error.c Xsi.netbsd/Wnn/jserver/error.c --- Xsi/Wnn/jserver/error.c Tue Jun 28 11:06:55 1994 +++ Xsi.netbsd/Wnn/jserver/error.c Sat Apr 25 02:32:56 1998 @@ -91,11 +91,11 @@ my_error(x) register char *x; { - long obakenoQ; + time_t obakenoQ; /* struct passed *getpwiuid(); */ if(!noisy)return; - obakenoQ = time((long *)0); + obakenoQ = time(NULL); if(c_c){ #ifdef SYSVR2 fprintf(stderr , "client %s : %s %s errno =%d\n\n" , diff -ur Xsi/Wnn/jserver/initjserv.c Xsi.netbsd/Wnn/jserver/initjserv.c --- Xsi/Wnn/jserver/initjserv.c Fri Aug 19 10:31:25 1994 +++ Xsi.netbsd/Wnn/jserver/initjserv.c Thu Jun 11 21:20:18 1998 @@ -50,6 +50,7 @@ */ #include #include +#include #include "commonhd.h" #include "de_header.h" #include "wnn_malloc.h" @@ -358,7 +359,7 @@ return(num); case 'd': case 'D': - return (atoi(*(st+1))); + return (atoi(st+1)); case 'o': case 'O': sscanf(st +1, "%o",&num); diff -ur Xsi/Wnn/jserver/jbiki.c Xsi.netbsd/Wnn/jserver/jbiki.c --- Xsi/Wnn/jserver/jbiki.c Tue Mar 22 15:21:37 1994 +++ Xsi.netbsd/Wnn/jserver/jbiki.c Thu Jun 11 21:54:45 1998 @@ -262,13 +262,13 @@ if(yomi[0] == 0) return(ui1p->yomi1 > 0); y1 = yomi[0]<< 16 | yomi[1]; - if(tmp = (ui1p->yomi1 - y1)){ + if((tmp = (ui1p->yomi1 - y1)) != 0){ return((ui1p->yomi1 > y1)?1:-1); } if(yomi[1] == 0) return(0); if(yomi[2] == 0) return(ui1p->yomi2 > 0); y2 = yomi[2] << 16 | yomi[3]; - if(tmp = (ui1p->yomi2 - y2)){ + if((tmp = (ui1p->yomi2 - y2)) != 0){ return((ui1p->yomi2 > y2)?1:-1); } hop = ((struct uind2 *)((ui1p->pter) + jtl->hontai)); diff -ur Xsi/Wnn/jserver/jikouho.c Xsi.netbsd/Wnn/jserver/jikouho.c --- Xsi/Wnn/jserver/jikouho.c Fri Aug 19 10:31:25 1994 +++ Xsi.netbsd/Wnn/jserver/jikouho.c Thu Jun 11 21:16:29 1998 @@ -53,6 +53,7 @@ ************************************************/ #include #include +#include #include "commonhd.h" #include "de_header.h" #include "jdata.h" diff -ur Xsi/Wnn/jserver/jikouho_d.c Xsi.netbsd/Wnn/jserver/jikouho_d.c --- Xsi/Wnn/jserver/jikouho_d.c Tue Jun 28 11:06:57 1994 +++ Xsi.netbsd/Wnn/jserver/jikouho_d.c Thu Jun 11 21:16:49 1998 @@ -53,6 +53,7 @@ ************************************************/ #include #include +#include #include "commonhd.h" #include "de_header.h" #include "jdata.h" diff -ur Xsi/Wnn/jserver/jishoop.c Xsi.netbsd/Wnn/jserver/jishoop.c --- Xsi/Wnn/jserver/jishoop.c Tue Sep 22 13:49:43 1992 +++ Xsi.netbsd/Wnn/jserver/jishoop.c Sat Apr 25 02:33:37 1998 @@ -364,7 +364,7 @@ w_char *kanji,*comment, *yomi; { register UCHAR *dest = jtl->kanji + jtl->maxkanji; - int len; + long len; #if defined(CONVERT_by_STROKE) || defined(CONVERT_with_SiSheng) if((jtl->syurui & 0xff) != WNN_REV_DICT){ @@ -373,7 +373,7 @@ #endif /* CONVERT_by_STROKE || CONVERT_with_SiSheng */ yomi = NULL; } - len = (int)kanjiaddr(dest, kanji, yomi, comment); + len = (long)kanjiaddr(dest, kanji, yomi, comment); jtl->maxkanji += len; } diff -ur Xsi/Wnn/jserver/readfile.c Xsi.netbsd/Wnn/jserver/readfile.c --- Xsi/Wnn/jserver/readfile.c Fri Sep 25 07:35:47 1992 +++ Xsi.netbsd/Wnn/jserver/readfile.c Sat Apr 25 01:36:50 1998 @@ -423,6 +423,7 @@ jt2 = (struct JT *)malloc(sizeof(struct JT)); *jt2 = *jt1; + jt2->node = 0; if(alloc_dict(jt2) == -1){ free(jt2); diff -ur Xsi/Wnn/jutil/wnnstat.c Xsi.netbsd/Wnn/jutil/wnnstat.c --- Xsi/Wnn/jutil/wnnstat.c Tue Jun 28 11:07:31 1994 +++ Xsi.netbsd/Wnn/jutil/wnnstat.c Sat Apr 25 01:36:50 1998 @@ -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 @@ -125,13 +125,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': @@ -310,13 +310,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 -ur Xsi/Wnn/pubdic/Imakefile Xsi.netbsd/Wnn/pubdic/Imakefile --- Xsi/Wnn/pubdic/Imakefile Tue Aug 23 11:21:30 1994 +++ Xsi.netbsd/Wnn/pubdic/Imakefile Sat Apr 25 01:36:49 1998 @@ -96,11 +96,17 @@ instserver:: install WnnMakeDirectories(install,$(JWNNDICDIR)) -#if WnnInstallDicForcibly +/* + * Bugfix. + * Because "NO" is same to "YES"!! + * And some additional bugfix. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20 + */ +#if (WnnInstallDicForcibly == YES) InstallMultiple($(DIC),$(JWNNPUBDICDIR)) install:: - @for i in $(DICS); \ + @for i in $(DIC); \ do \ $(WNNTOUCH) $(DESTDIR)$(JWNNPUBDICDIR)/$$i ;\ done @@ -108,7 +114,20 @@ #else WnnInstallDicMultiple($(DIC),$(JWNNPUBDICDIR)) #endif + +#if (WnnInstallDicForcibly == YES) InstallMultiple($(FZKDATA),$(JWNNPUBDICDIR)) + +install:: + @for i in $(FZKDATA); \ + do \ + $(WNNTOUCH) $(DESTDIR)$(JWNNPUBDICDIR)/$$i ;\ + done + +#else +WnnInstallDicMultiple($(FZKDATA),$(JWNNPUBDICDIR)) +#endif + InstallMultiple($(FZK_SRC),$(JWNNFZKSRCDIR)) depend:: diff -ur Xsi/Wnn/uum/jhlp.c Xsi.netbsd/Wnn/uum/jhlp.c --- Xsi/Wnn/uum/jhlp.c Fri Aug 19 10:32:12 1994 +++ Xsi.netbsd/Wnn/uum/jhlp.c Sat Apr 25 01:36:51 1998 @@ -80,6 +80,9 @@ jmp_buf kk_env; +#if (defined(__unix__) || defined(unix)) && !defined(USG) +#include +#endif #ifdef SYSVR2 # include #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 -ur Xsi/config/Project.tmpl Xsi.netbsd/config/Project.tmpl --- Xsi/config/Project.tmpl Mon Aug 29 17:40:17 1994 +++ Xsi.netbsd/config/Project.tmpl Sat Apr 25 01:36:52 1998 @@ -389,6 +389,8 @@ XCOMM ----------------------------------------------------------------------- XCOMM X Window System make variables; these need to be coordinated with rules + SYS_LIBRARIES = -lcrypt /* For FreeBSD */ + /* * This list must be reflected in the DIRS_TO_BUILD list in the top-level * Makefile. @@ -413,6 +415,9 @@ XAPPLOADDIR = XAppLoadDir /* application default resource dir */ FONTCFLAGS = FontCompilerFlags + INSTINCFLAGS = InstIncFlags -c /* XXX - dirty hack by */ + INSTDATFLAGS = InstDatFlags -c /* XXX - Satoshi */ + INSTBINFLAGS = InstBinFlags -c /* XXX - Asami */ INSTAPPFLAGS = $(INSTDATFLAGS) /* XXX - this should go away - XXX */ #ifdef UseInstalled @@ -1117,10 +1122,16 @@ #undef ImakeSubCmdHelper #endif +/* + * Change a variavle's name from "$imakeprefix" to "$(IMAKEPREFIX)". + * Because it caused a error on XFree86 3.1.2S and 3.1.2E. + * The Imake rule of XFree86 3.1.2S and 3.1.2E FreeBSD was changed. + * Patched by Hidekazu Kuroki(hidekazu@cs.titech.ac.jp) 1996/8/20 + */ #ifdef UseInstalled -#define ImakeSubCmdHelper $(IMAKE) -DUseInstalled -I$$imakeprefix$(IMIRULESRC) -I$(IRULESRC) $(IMAKE_DEFINES) +#define ImakeSubCmdHelper $(IMAKE) -DUseInstalled -I$(IMAKEPREFIX)$(IMIRULESRC) -I$(IRULESRC) $(IMAKE_DEFINES) #else -#define ImakeSubCmdHelper $$imakeprefix$(IMAKE) -I$$imakeprefix$(IMIRULESRC) -I$$imakeprefix$(IRULESRC) $(IMAKE_DEFINES) +#define ImakeSubCmdHelper $(IMAKEPREFIX)$(IMAKE) -I$(IMAKEPREFIX)$(IMIRULESRC) -I$(IMAKEPREFIX)$(IRULESRC) $(IMAKE_DEFINES) #endif #define WnnInstallDicMultiple(list,dest) @@\ @@ -1134,17 +1145,21 @@ $(WNNTOUCH) $(DESTDIR)dest/$$i); fi \ @@\ done +/* + * Only Japanese + * - Satoshi + */ #ifndef BuildWnn #define BuildWnn YES #endif #ifndef BuildCWnn -#define BuildCWnn YES +#define BuildCWnn NO #endif #ifndef BuildKWnn -#define BuildKWnn YES +#define BuildKWnn NO #endif #ifndef BuildXwnmo -#define BuildXwnmo YES +#define BuildXwnmo NO #endif #ifndef BuildJserver @@ -1169,7 +1184,7 @@ #define BuildWnnMan YES #endif #ifndef BuildJlibV3 -#define BuildJlibV3 NO +#define BuildJlibV3 YES #endif #if BuildPubdic || BuildWnnConsDic #define BuildWnnDicUtilForCompile YES @@ -1236,8 +1251,9 @@ #else IMTOP = $(CONTRIBSRC)/programs/Xsi #endif - WNNWNNDIR = /usr/local/lib/wnn - WNNBINDIR = /usr/local/bin + PREFIX = /usr/local + WNNWNNDIR = ${PREFIX}/lib/wnn + WNNBINDIR = ${PREFIX}/bin WNNINCDIR = $(INCROOT) WNNLIBDIR = $(USRLIBDIR) WNNTERM_LIB = termLibrary diff -ur Xsi/kWnn/etc/Imakefile Xsi.netbsd/kWnn/etc/Imakefile --- Xsi/kWnn/etc/Imakefile Wed Aug 17 10:11:33 1994 +++ Xsi.netbsd/kWnn/etc/Imakefile Sat Apr 25 01:36:51 1998 @@ -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 @@ -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 -ur Xsi/kWnn/jlib/Imakefile Xsi.netbsd/kWnn/jlib/Imakefile --- Xsi/kWnn/jlib/Imakefile Wed Aug 17 10:11:40 1994 +++ Xsi.netbsd/kWnn/jlib/Imakefile Sat Apr 25 01:36:51 1998 @@ -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 @@ -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 -ur Xsi/kWnn/kd/uumrc Xsi.netbsd/kWnn/kd/uumrc --- Xsi/kWnn/kd/uumrc Tue Jun 28 11:29:51 1994 +++ Xsi.netbsd/kWnn/kd/uumrc Sat Apr 25 01:36:51 1998 @@ -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