diff options
author | uebayasi <uebayasi> | 2003-05-31 13:09:00 +0000 |
---|---|---|
committer | uebayasi <uebayasi> | 2003-05-31 13:09:00 +0000 |
commit | 7a1084b1606f6ecdb2129acd3fdceffb02873cdd (patch) | |
tree | e0ae54f6694e291b63d03f2c18db65cb72a59a7d /inputmethod/skkinput/patches | |
parent | 3aefbbeecd18ca8f44ae406e32ed2f870b0437a5 (diff) | |
download | pkgsrc-7a1084b1606f6ecdb2129acd3fdceffb02873cdd.tar.gz |
Update to 2.06.3.
* Improve IPv6 support.
* Make XIM, Ximp start keys configurable.
* Keep input modes across conversations. (History functions.)
* Convert "oh" as "oo".
* Support "Off The Spot" style.
And tons of bug fixes.
Diffstat (limited to 'inputmethod/skkinput/patches')
-rw-r--r-- | inputmethod/skkinput/patches/patch-aa | 26 | ||||
-rw-r--r-- | inputmethod/skkinput/patches/patch-ab | 103 | ||||
-rw-r--r-- | inputmethod/skkinput/patches/patch-ac | 75 | ||||
-rw-r--r-- | inputmethod/skkinput/patches/patch-ad | 184 | ||||
-rw-r--r-- | inputmethod/skkinput/patches/patch-ae | 39 |
5 files changed, 8 insertions, 419 deletions
diff --git a/inputmethod/skkinput/patches/patch-aa b/inputmethod/skkinput/patches/patch-aa index 16247697a89..0d8f66da2de 100644 --- a/inputmethod/skkinput/patches/patch-aa +++ b/inputmethod/skkinput/patches/patch-aa @@ -1,21 +1,11 @@ -$NetBSD: patch-aa,v 1.1.1.1 2002/05/31 13:00:02 seb Exp $ +$NetBSD: patch-aa,v 1.2 2003/05/31 13:09:00 uebayasi Exp $ ---- Imakefile.orig Tue Mar 3 21:59:39 1998 -+++ Imakefile Tue Dec 21 01:29:48 1999 -@@ -81,7 +81,8 @@ - OBJS = $(COMMONOBJS) $(KINPUTOBJS) $(XIMPOBJS) $(IMOBJS) +--- Imakefile.orig Sat Oct 26 12:11:13 2002 ++++ Imakefile +@@ -108,5 +108,5 @@ + $(SKKSERVER_USE_INET6) - #ifdef SkkServer --SKKSERVER_DEFS = -DDEFAULT_SKKSERVER=\"SkkServer\" -+SKKSERVER_DEFS = -DDEFAULT_SKKSERVER=\"SkkServer\" \ -+ -DSKK_CONF=\"$(EXECBASE)/etc/skk.conf\" - #endif - - #ifdef SkkPort -@@ -95,5 +96,5 @@ - DEFINES = $(SKKSERVER_DEFS) $(SKKPORT_DEFS) $(SKK_DEBUGFLAGS) \ - $(SKKFONT_DEFS) $(SKK_KINPUTDEFS) $(SKK_XIMPDEFS) $(SKK_IMDEFS) - --ComplexProgramTarget(skkinput) -+ComplexProgramTargetNoMan(skkinput) + ComplexProgramTarget(skkinput) +-InstallManPageLong(skkinput.ja,$(MANPATH)/ja/man1,skkinput) ++InstallManPageLong(skkinput.ja,$(MANPATH)/ja_JP.EUC/cat1,skkinput) InstallAppDefaults(Skkinput) diff --git a/inputmethod/skkinput/patches/patch-ab b/inputmethod/skkinput/patches/patch-ab deleted file mode 100644 index 57ad937f86e..00000000000 --- a/inputmethod/skkinput/patches/patch-ab +++ /dev/null @@ -1,103 +0,0 @@ -$NetBSD: patch-ab,v 1.1.1.1 2002/05/31 13:00:02 seb Exp $ - ---- skkconfig.c.orig Thu Nov 13 22:42:43 1997 -+++ skkconfig.c Thu Nov 9 00:19:40 2000 -@@ -100,6 +100,7 @@ - * skkinput の動作を決定する変数群。 - */ - extern int skkserv_portnum ; -+extern char *skkserv_portstr ; - extern char *skkserv_host ; - extern char *skkinput_local_jisyo_name ; - extern char *skkinput_backup_jisyo_name ; -@@ -980,6 +981,21 @@ - return ; - } - -+#ifdef SKK_CONF -+char * -+strsave(const char *str) -+{ -+ char *p; -+ -+ if ((p = malloc(strlen(str) + 1)) == NULL) { -+ fprintf(stderr, "Fatal: Memory Exhausted.\n"); -+ exit(1); -+ } -+ strcpy(p, str); -+ return p; -+} -+#endif -+ - /* - * skkinput の動作記述をする変数を初期化する関数。 - *------ -@@ -987,30 +1003,54 @@ - */ - void initSkkinputDousaketteiVariables( void ) - { -- struct servent *servent ; -+#ifdef SKK_CONF /* use skk.conf */ -+ FILE *conffp; -+ char line[128]; -+ char hostbuf[128]; -+ char servbuf[128]; -+ char *confhost = NULL; -+ char *confport = NULL; -+ -+ if ((conffp = fopen(SKK_CONF, "r")) != NULL) { -+ char *p, *data; -+ -+ while (fgets(line, sizeof line, conffp) != NULL) { -+ if ((p = strchr(line, '#')) != NULL) -+ *p = '\0'; -+ if ((p = strtok(line, ": \t\n")) == NULL) -+ continue; -+ if ((data = strtok((char *) NULL, " \t\n")) == NULL) -+ continue; -+ if (!strcmp(p, "skkserv_host")) { -+ strcpy(hostbuf, data); -+ confhost = hostbuf; -+ } else if (!strcmp(p, "skkserv_port")) { -+ strcpy(servbuf, data); -+ confport = servbuf; -+ } -+ } -+ } -+#endif - - /* 局所辞書の所在を知らないとしておく。*/ - skkinput_local_jisyo_name = DEFAULT_SKKLJISYO ; - skkinput_backup_jisyo_name = DEFAULT_SKKBJISYO ; - skkinput_record_name = DEFAULT_SKKRECORD ; - skk_local_jisyo_name = DEFAULT_SKKLOCALJISYO ; -- /* "/etc/services" からポート番号を得ておく。*/ -- servent = getservbyname( SKKSERV_SERVICE_NAME, SKKSERV_SERVICE_PROTO ) ; -- if( servent == NULL ){ -- /* /etc/services に設定はなかったので、config.h の中のを使う。*/ -- skkserv_portnum = atoi( DEFAULT_SKKPORT ) ; -- } else { -- /* /etc/services に設定があった…。*/ -- skkserv_portnum = htons( servent->s_port ) ; --#if defined(DEBUG) -- fprintf -- ( stderr, "getservbyname: \"%s\", %d\n", -- servent->s_name, skkserv_portnum ) ; -+#ifdef SKK_CONF -+ if (confport) -+ skkserv_portstr = strsave(confport); -+ else - #endif -- } -+ skkserv_portstr = SKKSERV_SERVICE_NAME; - /* 環境変数 SKKSERV が設定されていれば、それを DEFAULT の skkserv * - * host とする。*/ - if( ( skkserv_host = getenv( "SKKSERVER" ) ) == NULL ) -+#ifdef SKK_CONF -+ if (confhost) -+ skkserv_host = strsave(confhost); /* XXX this may leak */ -+ else -+#endif - skkserv_host = DEFAULT_SKKSERVER ; - - /* デフォルトのキーマップを作成する。*/ diff --git a/inputmethod/skkinput/patches/patch-ac b/inputmethod/skkinput/patches/patch-ac deleted file mode 100644 index c490b0b2c94..00000000000 --- a/inputmethod/skkinput/patches/patch-ac +++ /dev/null @@ -1,75 +0,0 @@ -$NetBSD: patch-ac,v 1.1.1.1 2002/05/31 13:00:02 seb Exp $ - ---- skkldic.c.orig Fri Nov 14 13:04:12 1997 -+++ skkldic.c Wed Nov 8 20:01:38 2000 -@@ -27,6 +27,13 @@ - #include <sys/types.h> - #include <X11/Intrinsic.h> - -+#ifdef CSRG_BASED -+#include <sys/param.h> -+#if defined(BSD) && BSD >= 199306 -+#define HAVE_MKSTEMP -+#endif -+#endif -+ - #include "commondef.h" - #include "buffers.h" - #include "config.h" -@@ -863,7 +870,12 @@ - { - FILE *fpSrc, *fpDest ; - unsigned long lines ; -+#ifdef HAVE_MKSTEMP -+ char tempfilename[64] ; -+ int tmpfd; -+#else - char *tempfilename ; -+#endif - - #ifdef DEBUG_LDIC - fprintf( stderr, "Now saving ....\"%s\"\n", skkinput_local_jisyo_path ) ; -@@ -890,7 +902,15 @@ - * 存在しない場合はどうするのか? */ - - /* 辞書の更新を行う際に利用されるテンポラリファイル。*/ -+#ifdef HAVE_MKSTEMP -+ strcpy(tempfilename, "/tmp/skkinputXXXXXXXX"); -+ if ((tmpfd = mkstemp(tempfilename)) < 0) { -+ perror("skkinput: cannot create temp file"); -+ return; -+ } -+#else - tempfilename = tmpnam( NULL ) ; -+#endif - - /* 局所辞書のバックアップを削除する。失敗した場合なんかは知らない。*/ - unlink( skkinput_jisyo_backup_path ) ; -@@ -901,12 +921,19 @@ - skkinput_copyFile - ( skkinput_local_jisyo_path, tempfilename ) ; - /* 局所辞書のコピーが存在しない。これは不味い状態である。*/ -+#ifdef HAVE_MKSTEMP -+ if( ( fpSrc = fdopen( tmpfd, "rb" ) ) == NULL ){ -+ close(tmpfd); -+ return; -+ } -+#else - if( ( fpSrc = fopen( tempfilename, "rb" ) ) == NULL ){ - #ifdef DEBUG_LDIC - fprintf( stderr, "cannot create backup jisyo...error!\n" ) ; - #endif - return ; - } -+#endif - /* 書き込めない…これは無理だ…。*/ - if( ( fpDest = fopen( skkinput_local_jisyo_path, "wb" ) ) == NULL ){ - #ifdef DEBUG_LDIC -@@ -922,6 +949,7 @@ - /* file coding system を調べ直す。*/ - skkinput_local_jisyo_coding_system = - check_skkinput_jisyo_code( skkinput_local_jisyo_path ) ; -+ unlink( tempfilename ) ; - return ; - } - lines = 0 ; diff --git a/inputmethod/skkinput/patches/patch-ad b/inputmethod/skkinput/patches/patch-ad deleted file mode 100644 index 5b7b73e0980..00000000000 --- a/inputmethod/skkinput/patches/patch-ad +++ /dev/null @@ -1,184 +0,0 @@ -$NetBSD: patch-ad,v 1.1.1.1 2002/05/31 13:00:02 seb Exp $ - ---- skksoc.c.orig Thu Oct 30 13:40:59 1997 -+++ skksoc.c Wed Nov 8 21:48:24 2000 -@@ -36,6 +36,11 @@ - - #include "commondef.h" - #include "buffers.h" -+#include "config.h" -+ -+#ifdef PF_INET6 -+# define HAVE_GETADDRINFO -+#endif - - /* - * プロトタイプ宣言。 -@@ -51,12 +56,15 @@ - } ; - - extern char *skkserv_host ; --extern int skkserv_portnum ; -+extern char *skkserv_portnum ; -+extern char *skkserv_portstr ; - - /* skkserv とお話する際のバッファ。*/ - static struct MessageBuffer mesbuf ; -+#ifndef HAVE_GETADDRINFO - /* SKK server の情報。*/ - struct sockaddr_in server ; -+#endif - /* SKK server の Host の情報。*/ - static struct hostent *host ; - /* skkserv をお話するのに利用する socket */ -@@ -79,13 +87,14 @@ - static void myCharStringToNormalString - ( struct MessageBuffer *buf, struct myChar *string ) ; - -+#ifndef HAVE_GETADDRINFO - /* - * ソケットを作成する関数。 - *------------ - * server の名前が与えられると、そこに対しての socket を作成しよう - * と試みる。 - */ --static int makeSocket( char *server_name, int port_num ) -+static int makeSocket( char *server_name ) - { - struct protoent *proto; - /* Protocol の設定。*/ -@@ -115,22 +124,10 @@ - #else - memcpy( &server.sin_addr, host->h_addr, host->h_length ) ; - #endif -- server.sin_port = htons( port_num ) ; -- -- read_skkserv_fp = fdopen( skkserv_soc, "r" ) ; -- write_skkserv_fp = fdopen( skkserv_soc, "w" ) ; - -- /* fdopen に失敗したら… */ -- if( read_skkserv_fp == NULL || write_skkserv_fp == NULL ){ -- if( read_skkserv_fp != NULL ) -- fclose( read_skkserv_fp ) ; -- if( write_skkserv_fp != NULL ) -- fclose( write_skkserv_fp ) ; -- read_skkserv_fp = write_skkserv_fp = NULL ; -- return 1 ; -- } - return 0 ; - } -+#endif /* ! HAVE_GETADDRINFO */ - - /* - * skkserv に message を送信する関数。 -@@ -294,14 +291,72 @@ - * socket を用意し、skkerv に接続する関数。 - *---- - */ --int skkinput_StartCommunication( char *server_name, int port_num ) -+int skkinput_StartCommunication( char *server_name, char *port_str ) - { -+#ifdef HAVE_GETADDRINFO -+ struct addrinfo aihint, *ai0, *ai; -+ int error; -+ char portnum[32]; -+ -+ /* backward compatibility */ -+ if (skkserv_portnum) { -+ sprintf(portnum, "%d", skkserv_portnum); -+ port_str = portnum; -+ } -+ -+#ifdef HAVE_BZERO -+ bzero((char*)&aihint, sizeof aihint); -+#else -+ memset((char*)&aihint, 0, sizeof aihint); -+#endif -+ aihint.ai_family = PF_UNSPEC; -+ aihint.ai_socktype = SOCK_STREAM; -+ aihint.ai_flags = AI_CANONNAME; -+ error = getaddrinfo(server_name, port_str, &aihint, &ai0); -+ if (error) { -+ printf("%s: %s\r\n", gai_strerror(error), server_name); -+ return -1; -+ } -+ -+ skkserv_soc = -1; -+ for (ai = ai0; ai; ai = ai->ai_next) { -+ skkserv_soc = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol); -+ if (skkserv_soc >= 0 && -+ connect(skkserv_soc, ai->ai_addr, ai->ai_addrlen) == 0) -+ break; -+ close(skkserv_soc); -+ skkserv_soc = -1; -+ } -+ if (skkserv_soc < 0) { -+ perror(server_name); -+ skkserv_connection_ok = False ; -+ return 1; -+ } -+#else -+ struct servent *servent ; -+ int port; -+ -+ if ((port = atoi(port_str)) <= 0) { -+ /* "/etc/services" からポート番号を得ておく。*/ -+ servent = getservbyname( port_str, SKKSERV_SERVICE_PROTO ) ; -+ if( servent == NULL ){ -+ /* /etc/services に設定はなかったので、config.h の中のを使う。*/ -+ port = atoi( DEFAULT_SKKPORT ) ; -+ } else { -+ /* /etc/services に設定があった…。*/ -+ port = ntohs( servent->s_port ) ; -+#if defined(DEBUG) -+ fprintf( stderr, "getservbyname: \"%s\", %d\n", servent->s_name, port ) ; -+#endif -+ } -+ } - /* skkerv と通信するためのソケットを作成致します。*/ -- if( makeSocket( server_name, port_num ) ){ -+ if( makeSocket( server_name ) ){ - fprintf( stderr, "Warning : cannot make a socket." ) ; - skkserv_connection_ok = False ; - return 1 ; - } -+ server.sin_port = htons( port ) ; - /* 接続要求。*/ - if( connect( skkserv_soc, - ( struct sockaddr *)&server, sizeof( server ) ) < 0 ){ -@@ -312,6 +367,19 @@ - skkserv_connection_ok = False ; - return 1 ; - } -+#endif -+ read_skkserv_fp = fdopen( skkserv_soc, "r" ) ; -+ write_skkserv_fp = fdopen( skkserv_soc, "w" ) ; -+ -+ /* fdopen に失敗したら… */ -+ if( read_skkserv_fp == NULL || write_skkserv_fp == NULL ){ -+ if( read_skkserv_fp != NULL ) -+ fclose( read_skkserv_fp ) ; -+ if( write_skkserv_fp != NULL ) -+ fclose( write_skkserv_fp ) ; -+ read_skkserv_fp = write_skkserv_fp = NULL ; -+ return 1 ; -+ } - skkserv_connection_ok = True ; - return 0 ; - } -@@ -357,13 +425,13 @@ - - #ifndef MAIKAI_SKKSERV_TO_CONNECT_SURU - if( !skkserv_connection_ok ){ -- if( skkinput_StartCommunication( skkserv_host, skkserv_portnum ) ) -+ if( skkinput_StartCommunication( skkserv_host, skkserv_portstr ) ) - return top ; - } - #else - /* skkserv が生きていなければ、メッセージの送りようが無いので終了 - する。*/ -- if( skkinput_StartCommunication( skkserv_host, skkserv_portnum ) ) -+ if( skkinput_StartCommunication( skkserv_host, skkserv_portstr ) ) - return top ; - #endif - diff --git a/inputmethod/skkinput/patches/patch-ae b/inputmethod/skkinput/patches/patch-ae deleted file mode 100644 index 42eddf96858..00000000000 --- a/inputmethod/skkinput/patches/patch-ae +++ /dev/null @@ -1,39 +0,0 @@ -$NetBSD: patch-ae,v 1.1.1.1 2002/05/31 13:00:02 seb Exp $ - ---- main.c.orig Mon Mar 23 15:05:22 1998 -+++ main.c Wed Nov 8 03:07:44 2000 -@@ -110,7 +110,7 @@ - extern void initHenkanKakuteiHashTable( void ) ; - extern void clearHenkanKakuteiHash( void ) ; - /* skksoc.c */ --extern int skkinput_StartCommunication( char *server_name, int port_num ) ; -+extern int skkinput_StartCommunication( char *server_name, char *port_str ) ; - extern int skkinput_CloseCommunication( void ) ; - /* skkldic.c */ - extern int set_localjisyo -@@ -197,6 +197,7 @@ - /* その他、skkinput が必要とする…skkInputWidget 毎には必要としない情報。*/ - char *skkserv_host ; - int skkserv_portnum ; -+char *skkserv_portstr ; - char *skkinput_local_jisyo_name ; - char *skkinput_backup_jisyo_name ; - char *skk_local_jisyo_name ; -@@ -375,7 +376,7 @@ - if( number_of_protocols > 0 ){ - #ifndef MAIKAI_SKKSERV_TO_CONNECT_SURU - /* socket を作成しておく。*/ -- skkinput_StartCommunication( skkserv_host, skkserv_portnum ) ; -+ skkinput_StartCommunication( skkserv_host, skkserv_portstr ) ; - #endif - /* 局所辞書の情報を入れておく。*/ - set_localjisyo -@@ -698,7 +699,7 @@ - break ; - /* skkserv と通信するに利用するポート番号を設定する。*/ - case OPTION_PORT : -- skkserv_portnum = atoi( argv[ i ] ) ; -+ skkserv_portstr = argv[ i ]; - break ; - /* 局所辞書の名前を設定する。*/ - case OPTION_USERDIC : |