> canna's latest version is 3.8, living on https://canna-input.github.io/. > I'm trying to update japanese/canna/ to 3.8.
Here is my effort to update japanese/canna to 3.8.
The diff contents may be cumbersome to read, so,
I added the tarball for the updated files.
Some changes to propose:
- choose single package instead of keeping multi packages
- moving dictionary files to /var/db/canna/
(I noticed after some work that the original place is /var/dict/canna/)
Please check if this update works...
Trying to use canna with kinput2, I found that kinput2 does not work
(always crash right after start).
-- yozo.
diff -urN -x CVS canna/Makefile 3.8/Makefile
--- canna/Makefile Sat Jun 20 12:59:49 2026
+++ 3.8/Makefile Sat Jun 27 17:38:10 2026
@@ -1,65 +1,30 @@
-BROKEN= fails to build after move to LLVM 22
-COMMENT-main= canna (kana-kanji converter) libraries
-COMMENT-dict= canna (kana-kanji converter) dictionaries
-COMMENT-server= canna (kana-kanji converter) server
+COMMENT= japanese input system
-DISTNAME= Canna35b2
+CANNA_TAG= release-3.8
+DIST_TUPLE+= github canna-input canna ${CANNA_TAG} .
-PKGNAME-main= cannalib-3.5b2
-PKGNAME-dict= cannadict-3.5b2
-PKGNAME-server= cannaserver-3.5b2
+SHARED_LIBS+= RKC 1.2
+SHARED_LIBS+= RKC16 1.2
+SHARED_LIBS+= canna 1.2
+SHARED_LIBS+= canna16 1.2
-REVISION-main = 6
-REVISION-dict = 1
-REVISION-server = 8
-
-SHARED_LIBS= RKC 1.0 \
- RKC16 1.0 \
- canna 1.0 \
- canna16 1.0
-
CATEGORIES= japanese
-SITES = ftp://ftp.sra.co.jp/pub/misc/canna/
-
-SITES.p= http://www.jaist.ac.jp/~fujieda/canna/
-PATCHFILES.p= Canna35b2-unoff1.patch.gz Canna35b2-unoff2.patch.gz \
- Canna35b2-hack1.patch.gz
-PATCH_DIST_STRIP= -p1
-
MAINTAINER= Marc Espie <[email protected]>
-HOMEPAGE = http://www.nec.co.jp/canna/
+HOMEPAGE= https://canna-input.github.io/
+# https://github.com/canna-input/canna/blob/main/COPYRIGHT
PERMIT_PACKAGE= Yes
-MULTI_PACKAGES=-main -dict -server
+WANTLIB+= c
-CFLAGS_base-clang = -Wno-error=int-conversion
-
-BUILD_DEPENDS= japanese/nkf
-
-PREFIX-dict= ${VARBASE}/dict
-LIB_DEPENDS-server= japanese/canna
-WANTLIB-server= c canna
-
-SUBST_VARS= DICT_DIR
CONFIGURE_STYLE=imake
-CANNAOWNER= daemon
-CANNAGROUP= daemon
-DICT_DIR= ${VARBASE}/dict/canna
-DIFF_ARGS= -U 2
-
-MAKE_ENV+= CANNAOWNER=${CANNAOWNER} CANNAGROUP=${CANNAGROUP} \
- DICT_DIR=${DICT_DIR} CANNA_SPOOL=${VARBASE}/spool/canna
-
-MAKE_FLAGS= LIBRKC_VERSION=$(LIBRKC_VERSION) \
- LIBRKC16_VERSION=$(LIBRKC16_VERSION) \
- LIBcanna_VERSION=$(LIBcanna_VERSION) \
- LIBcanna16_VERSION=$(LIBcanna16_VERSION) \
- COPTS="${COPTS} ${CFLAGS}"
-
+## either LOCALSTATEDIR or VARBASE, sync with patch-Canna_conf
+MAKE_ENV+= CANNAOWNER=daemon CANNAGROUP=daemon \
+ LOCALSTATEDIR=${LOCALSTATEDIR}
NO_TEST= Yes
+WRKDIST= ${WRKDIR}/canna-${CANNA_TAG}
.include <bsd.port.mk>
diff -urN -x CVS canna/distinfo 3.8/distinfo
--- canna/distinfo Sun Jan 18 12:14:16 2015
+++ 3.8/distinfo Wed Jun 17 17:02:57 2026
@@ -1,8 +1,2 @@
-SHA256 (Canna35b2-hack1.patch.gz) =
i9UUdYEsbtSYZNjPOnU+EAmhEKzqQJaqRaGCEsfSNHg=
-SHA256 (Canna35b2-unoff1.patch.gz) =
IXZWdrxOrmJPgDh/g+xm3dAiVtcqhMtWFCwF/2AYeQQ=
-SHA256 (Canna35b2-unoff2.patch.gz) =
JMNRfemO3kA2Enfm+DnJvkUuThjGYSvtqy+KlvtiD7U=
-SHA256 (Canna35b2.tar.gz) = 6zVUs2FeAjr5j68ytjVlC5YQUVk2m0DaruSr5TomUqs=
-SIZE (Canna35b2-hack1.patch.gz) = 8384
-SIZE (Canna35b2-unoff1.patch.gz) = 21443
-SIZE (Canna35b2-unoff2.patch.gz) = 11375
-SIZE (Canna35b2.tar.gz) = 1333329
+SHA256 (canna-input-canna-release-3.8.tar.gz) =
pUJacwnwPcqhgRsk1n3iWZHhKJcFOFnJSzAxI72P0kg=
+SIZE (canna-input-canna-release-3.8.tar.gz) = 2973395
diff -urN -x CVS canna/patches/patch-Canna_conf 3.8/patches/patch-Canna_conf
--- canna/patches/patch-Canna_conf Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-Canna_conf Thu Jun 25 14:47:30 2026
@@ -1,154 +1,32 @@
Index: Canna.conf
--- Canna.conf.orig
+++ Canna.conf
-@@ -129,19 +129,19 @@
- */
+@@ -150,7 +150,7 @@ XCOMM cannaManDir = $(cannaPrefix)/share/man
+ cannaManDir = $(cannaPrefix)/man
+ cannaIncDir = $(cannaPrefix)/include/canna
--cannaBinDir = /usr/local/canna/bin
--cannaSrvDir = /usr/local/canna/bin
--cannaLibDir = /usr/local/canna/lib
--cannaManDir = /usr/local/canna/man
--cannaIncDir = /usr/local/canna/include/canna
--libCannaDir = /usr/lib
-+cannaBinDir = ${BINDIR}
-+cannaSrvDir = ${BINDIR}
-+cannaLibDir = ${USRLIBDIR}
-+cannaManDir = ${MANPATH}
-+cannaIncDir = ${INCDIR}/canna
-+libCannaDir = ${USRLIBDIR}
+-libCannaDir = DefLibCannaDir
++libCannaDir = ${LOCALBASE}/lib
+ ErrDir = DefErrDir
--ErrDir = /usr/spool/canna
-+ErrDir = ${CANNA_SPOOL}
+ /* µì¥Ð¡¼¥¸¥ç¥ó¤È¤Î¸ß´¹API¤ò̵¸ú¤Ë¤¹¤ë¾ì¹ç¤Ï0¤ÈÄêµÁ¤·¤Æ¤¯¤À¤µ¤¤ */
+@@ -175,8 +175,8 @@ ErrDir = DefErrDir
+ #endif
- wcharDefinition = -DCANNA_WCHAR
- Wlib =
--JapaneseLocale = japanese
-+JapaneseLocale = ja_JP.eucJP
-cannaOwner = bin
-cannaGroup = bin
+cannaOwner = ${CANNAOWNER}
+cannaGroup = ${CANNAGROUP}
- cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup)
-@@ -149,5 +149,10 @@ cannaOwnerGroup = -o $(cannaOwner) -g $(cannaGroup)
- pointerIntegerDef =
-
--cannaDsoRev = 1
-+cannaDsoRev = 1.0
-+LIBRKC_VERSION= 1.0
-+LIBRKC16_VERSION= 1.0
-+LIBcanna_VERSION= 1.0
-+LIBcanna16_VERSION = 1.0
-+
- /* SunOS 4.x ¤ò¤ª»È¤¤¤ÎÊý¤Ç shared object ¤òÍøÍѤ¹¤ë¾ì¹ç¤Ë¤Ï
- cannaDsoRev = 1.1
-@@ -205,5 +210,5 @@ dontHaveRename = 0
+ #ifdef InstallAsUser
+ cannaOwnerGroup =
+@@ -243,7 +243,7 @@ cannaLight = 1
+ /* #define UseInstalledLibCanna YES */
#define UseInstalledLibCanna NO
-DicDir = $(cannaLibDir)/dic
-+DicDir = ${DICT_DIR}
++DicDir = ${LOCALSTATEDIR}/db
- #ifdef NeXT
-@@ -232,5 +237,5 @@ DicDir = $(cannaLibDir)/dic
- #if UseInstalledLibCanna
- # if DoSharedLib
-- DEPCANNALIB = $(libCannaDir)/libcanna.$(sharedLibExtension)
-+ DEPCANNALIB = $(libCannaDir)/libcanna.so.$(LIBcanna_VERSION)
- # else
- #ifdef __EMX__
-@@ -243,5 +248,5 @@ DicDir = $(cannaLibDir)/dic
- #else /* ! UseInstalledLibCanna */
- # if DoSharedLib
-- DEPCANNALIB = $(CANNASRC)/libcanna.$(sharedLibExtension)
-+ DEPCANNALIB = $(CANNASRC)/libcanna.so.$(LIBcanna_VERSION)
- # else
- #ifdef __EMX__
-@@ -256,5 +261,5 @@ DicDir = $(cannaLibDir)/dic
- #if UseInstalledLibCanna
- # if DoSharedLib
-- DEPCANNALIB16 = $(libCannaDir)/libcanna16.$(sharedLibExtension)
-+ DEPCANNALIB16 = $(libCannaDir)/libcanna16.so.$(LIBcanna16_VERSION)
- # else
- DEPCANNALIB16 = $(libCannaDir)/libcanna16.a
-@@ -263,5 +268,5 @@ DicDir = $(cannaLibDir)/dic
- #else /* ! UseInstalledLibCanna */
- # if DoSharedLib
-- DEPCANNALIB16 = $(CANNASRC)/libcanna16.$(sharedLibExtension)
-+ DEPCANNALIB16 = $(CANNASRC)/libcanna16.so.$(LIBcanna16_VERSION)
- # else
- DEPCANNALIB16 = $(CANNASRC)/libcanna16.a
-@@ -327,11 +332,15 @@ clean::
@@\
- #endif
- #define InstallManPageLong(file,destdir,dest)
@@\
--ConvertPathName(file.tmp,file.$(MANSRCSUFF)) @@\
--install.man:: file.tmp
@@\
-+ConvertPathName(file.jtmp,file.jmn) @@\
-+ConvertPathName(file.tmp,file.man) @@\
-+install.man:: file.tmp file.jtmp @@\
-+ MakeDir($(DESTDIR)destdir/ja/man$(MANSUFFIX)) @@\
- MakeDir($(DESTDIR)destdir/man$(MANSUFFIX)) @@\
- $(INSTALL) -c $(INSTMANFLAGS) file.tmp
$(DESTDIR)destdir/man$(MANSUFFIX)/dest.$(MANSUFFIX) @@\
-- $(RM) file.tmp @@\
-+ nkf -w file.jtmp > file.j$(MANSUFFIX); \ @@\
-+ $(INSTALL) -c $(INSTMANFLAGS) file.j$(MANSUFFIX)
$(DESTDIR)destdir/ja/man$(MANSUFFIX)/dest.$(MANSUFFIX) @@\
-+ $(RM) file.tmp file.jtmp file.j$(MANSUFFIX)
@@\
- clean::
@@\
-- $(RM) file.tmp
-+ $(RM) file.tmp file.jtmp file.j$(MANSUFFIX)
+ /* ¤³¤³¤«¤é²¼¤ÏÊѹ¹ÉÔÍפǤ¹ */
- #ifdef InstallManPage
-@@ -345,11 +354,15 @@ InstallManPageLong(file,destdir,file)
- #endif
- #define InstallLibManPageLong(file,destdir,dest)
@@\
--ConvertPathName(file.tmp,file.$(MANSRCSUFF)) @@\
--install.man:: file.tmp
@@\
-+ConvertPathName(file.jtmp,file.jmn) @@\
-+ConvertPathName(file.tmp,file.man) @@\
-+install.man:: file.tmp file.jtmp @@\
-+ MakeDir($(DESTDIR)destdir/ja/man$(LIBMANSUFFIX)) @@\
- MakeDir($(DESTDIR)destdir/man$(LIBMANSUFFIX)) @@\
- $(INSTALL) -c $(INSTMANFLAGS) file.tmp
$(DESTDIR)destdir/man$(LIBMANSUFFIX)/dest.$(LIBMANSUFFIX) @@\
-- $(RM) file.tmp @@\
-+ nkf -w file.jtmp > file.j$(LIBMANSUFFIX); \ @@\
-+ $(INSTALL) -c $(INSTMANFLAGS) file.j$(LIBMANSUFFIX)
$(DESTDIR)destdir/ja/man$(LIBMANSUFFIX)/dest.$(LIBMANSUFFIX) @@\
-+ $(RM) file.tmp file.jtmp file.j$(LIBMANSUFFIX)
@@\
- clean::
@@\
-- $(RM) file.tmp
-+ $(RM) file.tmp file.jtmp file.j$(LIBMANSUFFIX)
-
- #ifdef InstallLibManPage
-@@ -364,11 +377,14 @@ InstallLibManPageLong(file,destdir,file)
- #define InstallLibManPageAliases(file,destdir,aliases)
@@\
- install.man:: @@\
-- @(TMP=/tmp/tmp.$$$$; \ @@\
-- $(RM) $${TMP}; \ @@\
-- echo .so `basename destdir/man$(LIBMANSUFFIX)`/file.$(LIBMANSUFFIX) >
$${TMP}; \ @@\
-- for i in aliases; do (set -x; \ @@\
-- $(INSTALL) -c $(INSTMANFLAGS) $${TMP}
$(DESTDIR)destdir/man$(LIBMANSUFFIX)/$$i.$(LIBMANSUFFIX)); \ @@\
-- done; \ @@\
-- $(RM) $${TMP})
-+ cd $(DESTDIR)/destdir/man$(LIBMANSUFFIX); \ @@\
-+ for i in aliases; do \ @@\
-+ $(RM) $$i.$(LIBMANSUFFIX); \ @@\
-+ $(LN) file.$(LIBMANSUFFIX) $$i.$(LIBMANSUFFIX); \ @@\
-+ done; \ @@\
-+ cd $(DESTDIR)/destdir/ja/man$(LIBMANSUFFIX); \ @@\
-+ for i in aliases; do \ @@\
-+ $(RM) $$i.$(LIBMANSUFFIX); \ @@\
-+ $(LN) file.$(LIBMANSUFFIX) $$i.$(LIBMANSUFFIX); \ @@\
-+ done
- #ifndef MakeDirectoriesLong
- #define MakeDirectoriesLong(step,dirs,owner,group) @@\
-@@ -456,2 +472,11 @@ dst:: Canna.conf
@@\
- echo "#endif") > $@
- #endif
-+
-+#ifdef LinkFileList
-+#undef LinkFileList
-+#endif
-+#define LinkFileList(step,list,dir,sub)
@@\
-+step:: list @@\
-+ @MakeFlagsToShellFlags(i,set +e); \ @@\
-+ echo " cd" dir; cd dir && \ @@\
-+ for i in list; do (set -x; $(LN) -f sub/$$i .); done
diff -urN -x CVS canna/patches/patch-Imakefile 3.8/patches/patch-Imakefile
--- canna/patches/patch-Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-Imakefile Thu Jan 1 09:00:00 1970
@@ -1,22 +0,0 @@
---- Imakefile.orig Wed Nov 27 08:01:34 1996
-+++ Imakefile Sat Apr 22 03:10:07 2000
-@@ -61,5 +61,5 @@ instserver::
- do \
- (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
-- $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
-+ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \
- done
-
-@@ -69,5 +69,5 @@ instclient::
- do \
- (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
-- $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
-+ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \
- done
-
-@@ -77,4 +77,4 @@ instsgs::
- do \
- (cd $$i ; echo "installing" "in $(CURRENT_DIR)/$$i..."; \
-- $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install); \
-+ $(MAKE) $(MFLAGS) DESTDIR='$(DESTDIR)' install install.man); \
- done
diff -urN -x CVS canna/patches/patch-canna_widedef_h
3.8/patches/patch-canna_widedef_h
--- canna/patches/patch-canna_widedef_h Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-canna_widedef_h Wed Jun 17 18:18:17 2026
@@ -1,17 +1,12 @@
---- canna/widedef.h.orig Fri Nov 29 14:00:55 1996
-+++ canna/widedef.h Sun Jan 15 15:32:57 2006
-@@ -62,5 +62,13 @@
- #endif /* HAVE_WCHAR_OPERATION */
+Index: canna/widedef.h
+--- canna/widedef.h.orig
++++ canna/widedef.h
+@@ -31,7 +31,7 @@
+ #endif
--#if defined(__FreeBSD__) || defined(__NetBSD__)
-+#if defined(__OpenBSD__)
-+#define _WCHAR_T_DEFINED_
-+# ifdef WCHAR16
-+typedef unsigned short wchar_t;
-+# else
-+typedef unsigned long wchar_t;
-+# endif
-+# define _WCHAR_T
-+#elif defined(__FreeBSD__) || defined(__NetBSD__)
- # ifdef _BSD_WCHAR_T_
- # undef _BSD_WCHAR_T_
+ #if (defined(__FreeBSD__) && __FreeBSD_version < 500000) \
+- || defined(__NetBSD__) || defined(__OpenBSD__)
++ || defined(__NetBSD__)
+ # include <machine/ansi.h>
+ #endif
+
diff -urN -x CVS canna/patches/patch-cmd_catdic_Imakefile
3.8/patches/patch-cmd_catdic_Imakefile
--- canna/patches/patch-cmd_catdic_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-cmd_catdic_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,44 +0,0 @@
---- cmd/catdic/Imakefile.orig Mon Dec 2 12:38:14 1996
-+++ cmd/catdic/Imakefile Sat Apr 22 03:10:08 2000
-@@ -76,22 +76,22 @@ install::
- #else
- install::
-- $(RM) $(cannaBinDir)/cpdic
-- $(RM) $(cannaBinDir)/lsdic
-- $(RM) $(cannaBinDir)/mkdic
-- $(RM) $(cannaBinDir)/mvdic
-- $(RM) $(cannaBinDir)/rmdic
-- $(RM) $(cannaBinDir)/syncdic
-- $(RM) $(cannaBinDir)/chmoddic
-- $(RM) $(cannaBinDir)/addwords
-- $(RM) $(cannaBinDir)/delwords
-- $(RM) $(cannaBinDir)/cannakill
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/cpdic
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/lsdic
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/mkdic
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/mvdic
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/rmdic
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/syncdic
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/addwords
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/delwords
-- $(LN) $(cannaBinDir)/catdic $(cannaBinDir)/cannakill
-+ $(RM) $(DESTDIR)$(cannaBinDir)/cpdic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/lsdic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/mkdic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/mvdic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/rmdic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/syncdic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/chmoddic
-+ $(RM) $(DESTDIR)$(cannaBinDir)/addwords
-+ $(RM) $(DESTDIR)$(cannaBinDir)/delwords
-+ $(RM) $(DESTDIR)$(cannaBinDir)/cannakill
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic cpdic
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic lsdic
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic mkdic
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic mvdic
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic rmdic
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic syncdic
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic addwords
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic delwords
-+ cd $(DESTDIR)$(cannaBinDir) && $(LN) catdic cannakill
- #endif
diff -urN -x CVS canna/patches/patch-dic_ideo_grammar_Imakefile
3.8/patches/patch-dic_ideo_grammar_Imakefile
--- canna/patches/patch-dic_ideo_grammar_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-dic_ideo_grammar_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,11 +0,0 @@
---- dic/ideo/grammar/Imakefile.orig Wed Nov 27 08:14:45 1996
-+++ dic/ideo/grammar/Imakefile Fri Aug 29 16:52:05 2008
-@@ -86,5 +86,5 @@ InstallMultipleFlags($(ALLDIC),$(CANNADICDIR),-m 0664
-
- install::
-- $(CHGRP) $(cannaGroup) $(CANNADICDIR)
-- $(CHOWN) $(cannaOwner) $(CANNADICDIR)
-- $(CHMOD) ug+w $(CANNADICDIR)
-+ $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR)
-+ $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR)
-+ $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR)
diff -urN -x CVS canna/patches/patch-dic_ideo_pubdic_pod_c
3.8/patches/patch-dic_ideo_pubdic_pod_c
--- canna/patches/patch-dic_ideo_pubdic_pod_c Thu Jul 20 02:16:46 2023
+++ 3.8/patches/patch-dic_ideo_pubdic_pod_c Thu Jan 1 09:00:00 1970
@@ -1,22 +0,0 @@
-Index: dic/ideo/pubdic/pod.c
---- dic/ideo/pubdic/pod.c.orig
-+++ dic/ideo/pubdic/pod.c
-@@ -26,4 +26,5 @@ static char rcsid[] = "$Id: pod.c,v 1.41 1994/05/31 11
-
- #include <stdio.h>
-+#include <stdlib.h>
-
- #define bzero(a, c) memset(a, 0, c)
-@@ -52,5 +53,5 @@ static int list_kinds;
- static int copy_frequency, extract_kana = 0;
- static long specific_kind;
--static FILE *in1 = stdin, *in2 = stdin;
-+static FILE *in1, *in2;
- static char *common_out, *old_out, *new_out, *hinshi_table, *bunrui;
- static char *description_table;
-@@ -1378,4 +1379,5 @@ char *argv[];
- #endif
-
-+ in1 = in2 = stdin;
- (void)internkind(kihonh); /* ´ðËܼ½ñÍÑ¡£1L ¤È¤·¤ÆÅÐÏ¿ */
- parseargs(argc, argv);
diff -urN -x CVS canna/patches/patch-dic_ideo_words_Imakefile
3.8/patches/patch-dic_ideo_words_Imakefile
--- canna/patches/patch-dic_ideo_words_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-dic_ideo_words_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,21 +0,0 @@
---- dic/ideo/words/Imakefile.orig Sat Apr 22 03:10:06 2000
-+++ dic/ideo/words/Imakefile Sat Apr 22 03:10:08 2000
-@@ -70,11 +70,11 @@ InstallNonExec(dics.dir,$(CANNADICDIR))
-
- install::
-- $(CHGRP) $(cannaGroup) $(CANNADICDIR)
-- $(CHOWN) $(cannaOwner) $(CANNADICDIR)
-- $(CHMOD) ug+w $(CANNADICDIR)
-- $(CHGRP) $(cannaGroup) $(DicDir)
-- $(CHOWN) $(cannaOwner) $(DicDir)
-- $(CHMOD) ug+w $(DicDir)
-- $(CHMOD) -w $(CANNADICDIR)/dics.dir
-+ $(CHGRP) $(cannaGroup) $(DESTDIR)$(CANNADICDIR)
-+ $(CHOWN) $(cannaOwner) $(DESTDIR)$(CANNADICDIR)
-+ $(CHMOD) ug+w $(DESTDIR)$(CANNADICDIR)
-+ $(CHGRP) $(cannaGroup) $(DESTDIR)$(DicDir)
-+ $(CHOWN) $(cannaOwner) $(DESTDIR)$(DicDir)
-+ $(CHMOD) ug+w $(DESTDIR)$(DicDir)
-+ $(CHMOD) -w $(DESTDIR)$(CANNADICDIR)/dics.dir
-
- #ifndef USE_OBSOLETE_STYLE_FILENAME
diff -urN -x CVS canna/patches/patch-lib_RKC16_Imakefile
3.8/patches/patch-lib_RKC16_Imakefile
--- canna/patches/patch-lib_RKC16_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC16_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,22 +0,0 @@
---- lib/RKC16/Imakefile.orig Thu Dec 29 13:41:34 2005
-+++ lib/RKC16/Imakefile Thu Dec 29 13:42:02 2005
-@@ -24,5 +24,5 @@
- #if ProjectX > 5
- #define LibName RKC16
--#define SoRev cannaDsoRev
-+#define SoRev LIBRKC16_VERSION
- #define SHLIBDIR libCannaDir
- #define USRLIBDIR libCannaDir
-@@ -40,9 +40,9 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(RKC16,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(RKC16,$(LIBRKC16_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(RKC16,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(RKC16,$(LIBRKC16_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(RKC16,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(RKC16,$(LIBRKC16_VERSION),$(libCannaDir))
- #endif /* DoSharedLib */
- #else /* !engineSwitch */
diff -urN -x CVS canna/patches/patch-lib_RKC_Imakefile
3.8/patches/patch-lib_RKC_Imakefile
--- canna/patches/patch-lib_RKC_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,32 +0,0 @@
---- lib/RKC/Imakefile.orig Thu Dec 29 13:35:34 2005
-+++ lib/RKC/Imakefile Thu Dec 29 13:39:34 2005
-@@ -27,5 +27,5 @@
- #if ProjectX > 5
- #define LibName RKC
--#define SoRev cannaDsoRev
-+#define SoRev LIBRKC_VERSION
- #define SHLIBDIR libCannaDir
- #define USRLIBDIR libCannaDir
-@@ -43,17 +43,17 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(RKC,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(RKC,$(LIBRKC_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(RKC,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(RKC,$(LIBRKC_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(RKC,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(RKC,$(LIBRKC_VERSION),$(libCannaDir))
-
- install::
- $(RM) $(libCannaDir)/libRKC.so
-- ln $(libCannaDir)/libRKC.so.$(cannaDsoRev) $(libCannaDir)/libRKC.so
-+ ln $(libCannaDir)/libRKC.so.$(LIBRKC_VERSION) $(libCannaDir)/libRKC.so
-
- AllTarget(libRKC.so)
-
--libRKC.so: libRKC.so.$(cannaDsoRev)
-+libRKC.so: libRKC.so.$(LIBRKC_VERSION)
- $(RM) $@
- ln $? $@
diff -urN -x CVS canna/patches/patch-lib_RKC_rkc_c
3.8/patches/patch-lib_RKC_rkc_c
--- canna/patches/patch-lib_RKC_rkc_c Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC_rkc_c Thu Jan 1 09:00:00 1970
@@ -1,10 +0,0 @@
-Index: lib/RKC/rkc.c
---- lib/RKC/rkc.c.orig
-+++ lib/RKC/rkc.c
-@@ -254,5 +254,5 @@ int clientcx, type ;
- int RkwSetUserInfo pro((char *, char *, char *));
-
--RkUserInfo *uinfo;
-+extern RkUserInfo *uinfo;
-
- int
diff -urN -x CVS canna/patches/patch-lib_RKC_rkc_h
3.8/patches/patch-lib_RKC_rkc_h
--- canna/patches/patch-lib_RKC_rkc_h Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RKC_rkc_h Thu Jan 1 09:00:00 1970
@@ -1,23 +0,0 @@
---- lib/RKC/rkc.h.orig Tue Mar 26 21:12:48 2002
-+++ lib/RKC/rkc.h Tue Mar 26 21:13:15 2002
-@@ -46,10 +46,14 @@
- # include <memory.h>
- # endif
--# ifndef __EMX__
--# ifndef bzero
--# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--# endif
--# ifndef bcopy
--# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# ifdef __OpenBSD__
-+# include <string.h>
-+# else
-+# ifndef __EMX__
-+# ifndef bzero
-+# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+# endif
-+# ifndef bcopy
-+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# endif
- # endif
- # endif
diff -urN -x CVS canna/patches/patch-lib_RK_RKintern_h
3.8/patches/patch-lib_RK_RKintern_h
--- canna/patches/patch-lib_RK_RKintern_h Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_RK_RKintern_h Thu Jan 1 09:00:00 1970
@@ -1,17 +0,0 @@
---- lib/RK/RKintern.h.orig Tue Mar 26 20:37:35 2002
-+++ lib/RK/RKintern.h Tue Mar 26 20:38:02 2002
-@@ -105,7 +105,11 @@ extern void free();
- # include <memory.h>
- # endif
--# ifndef __EMX__
--# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# ifdef __OpenBSD__
-+# include <string.h>
-+# else
-+# ifndef __EMX__
-+# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# endif
- # endif
- #endif
diff -urN -x CVS canna/patches/patch-lib_RK_dd_c 3.8/patches/patch-lib_RK_dd_c
--- canna/patches/patch-lib_RK_dd_c Thu Jan 1 09:00:00 1970
+++ 3.8/patches/patch-lib_RK_dd_c Wed Jun 17 17:52:36 2026
@@ -0,0 +1,12 @@
+Index: lib/RK/dd.c
+--- lib/RK/dd.c.orig
++++ lib/RK/dd.c
+@@ -739,7 +739,7 @@ _RkRealizeDD(dd)
+ int ret = -1;
+ int tmpres;
+ int fdes;
+- long tloc;
++ time_t tloc;
+ #ifdef __EMX__
+ struct stat statbuf;
+ #endif
diff -urN -x CVS canna/patches/patch-lib_canna16_Imakefile
3.8/patches/patch-lib_canna16_Imakefile
--- canna/patches/patch-lib_canna16_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_canna16_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,22 +0,0 @@
---- lib/canna16/Imakefile.orig Thu Dec 29 13:41:34 2005
-+++ lib/canna16/Imakefile Thu Dec 29 13:42:33 2005
-@@ -59,5 +59,5 @@
- #if ProjectX > 5
- #define LibName canna16
--#define SoRev cannaDsoRev
-+#define SoRev LIBcanna16_VERSION
- #define SHLIBDIR libCannaDir
- #define USRLIBDIR libCannaDir
-@@ -73,9 +73,9 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(canna16,$(LIBcanna16_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(canna16,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(canna16,$(LIBcanna16_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(canna16,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(canna16,$(LIBcanna16_VERSION),$(libCannaDir))
- #endif /* DoSharedLib */
-
diff -urN -x CVS canna/patches/patch-lib_canna_Imakefile
3.8/patches/patch-lib_canna_Imakefile
--- canna/patches/patch-lib_canna_Imakefile Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_canna_Imakefile Thu Jan 1 09:00:00 1970
@@ -1,22 +0,0 @@
---- lib/canna/Imakefile.orig Thu Dec 29 13:41:34 2005
-+++ lib/canna/Imakefile Thu Dec 29 13:42:20 2005
-@@ -57,5 +57,5 @@
- #if ProjectX > 5
- #define LibName canna
--#define SoRev cannaDsoRev
-+#define SoRev LIBcanna_VERSION
- #define SHLIBDIR libCannaDir
- #define USRLIBDIR libCannaDir
-@@ -71,9 +71,9 @@ LibraryObjectRule()
- #if DoSharedLib
- #if DoNormalLib
--SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),shared,..)
-+SharedLibraryTarget(canna,$(LIBcanna_VERSION),$(OBJS),shared,..)
- #else
--SharedLibraryTarget(canna,$(cannaDsoRev),$(OBJS),.,.)
-+SharedLibraryTarget(canna,$(LIBcanna_VERSION),$(OBJS),.,.)
- #endif
--InstallSharedLibrary(canna,$(cannaDsoRev),$(libCannaDir))
-+InstallSharedLibrary(canna,$(LIBcanna_VERSION),$(libCannaDir))
- #endif /* DoSharedLib */
-
diff -urN -x CVS canna/patches/patch-lib_canna_canna_h
3.8/patches/patch-lib_canna_canna_h
--- canna/patches/patch-lib_canna_canna_h Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-lib_canna_canna_h Thu Jan 1 09:00:00 1970
@@ -1,17 +0,0 @@
---- lib/canna/canna.h.orig Mon Dec 2 03:20:15 1996
-+++ lib/canna/canna.h Fri Aug 29 16:52:05 2008
-@@ -110,7 +110,11 @@ extern CANNA_wcstombs pro((char *, wchar_t *, int));
- # include <memory.h>
- # endif
--# ifndef __EMX__
--# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# ifdef __OpenBSD__
-+# include <string.h>
-+# else
-+# ifndef __EMX__
-+# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# endif
- # endif
- #endif
diff -urN -x CVS canna/patches/patch-lib_canna_lisp_c
3.8/patches/patch-lib_canna_lisp_c
--- canna/patches/patch-lib_canna_lisp_c Thu Jan 1 09:00:00 1970
+++ 3.8/patches/patch-lib_canna_lisp_c Wed Jun 17 18:13:39 2026
@@ -0,0 +1,12 @@
+Index: lib/canna/lisp.c
+--- lib/canna/lisp.c.orig
++++ lib/canna/lisp.c
+@@ -1707,7 +1707,7 @@ list *addr;
+ }
+ markcopycell(&newatom->plist);
+ if (newatom->ftype == EXPR || newatom->ftype == MACRO) {
+- markcopycell((int *)&newatom->func);
++ markcopycell((list *)&newatom->func);
+ }
+ addr = &newatom->hlink;
+ goto redo;
diff -urN -x CVS canna/patches/patch-server_IR_h 3.8/patches/patch-server_IR_h
--- canna/patches/patch-server_IR_h Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_IR_h Thu Jan 1 09:00:00 1970
@@ -1,28 +0,0 @@
---- server/IR.h.orig Tue Mar 26 20:33:53 2002
-+++ server/IR.h Tue Mar 26 20:34:33 2002
-@@ -32,13 +32,17 @@
- # include <memory.h>
- # endif
--# ifndef __EMX__
--# ifndef bcopy
--# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
--# endif
--# ifndef bzero
--# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
--# endif
-+# ifdef __OpenBSD__
-+# include <string.h>
- # else
--# include <sys/types.h>
-+# ifndef __EMX__
-+# ifndef bcopy
-+# define bcopy(src, dst, size) memcpy((char *)(dst), (char *)(src), (size))
-+# endif
-+# ifndef bzero
-+# define bzero(buf, size) memset((char *)(buf), 0x00, (size))
-+# endif
-+# else
-+# include <sys/types.h>
-+# endif
- # endif
- #endif
diff -urN -x CVS canna/patches/patch-server_convert_c
3.8/patches/patch-server_convert_c
--- canna/patches/patch-server_convert_c Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_convert_c Thu Jan 1 09:00:00 1970
@@ -1,23 +0,0 @@
---- server/convert.c.orig Mon Dec 2 12:01:34 1996
-+++ server/convert.c Fri Aug 29 16:52:05 2008
-@@ -54,4 +54,6 @@ static char rcs_id[] = "@(#) 102.1 $Id: convert.c,v 6.
- #define ACK3 3
- #define CHECK_ACK_BUF_SIZE (ACK_BUFSIZE + (SIZEOFLONG * 2) )
-+#define IR_INT_MAX 32767
-+#define IR_INT_INVAL(x) ((unsigned int)x > IR_INT_MAX)
-
- extern int errno;
-@@ -1779,4 +1781,6 @@ int size ;
-
- req->namelen = (int)L4TOL(buf + SIZE4);
-+ if( IR_INT_INVAL(req->namelen) )
-+ return( -1 );
- ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); )
-
-@@ -1786,4 +1790,6 @@ int size ;
- if( req->namelen > 0 ){
- req->name = buf + SIZE8 ;
-+ if( req->name[req->namelen - 1] != 0 )
-+ return( -1 );
- }
- ir_debug( Dmsg(10,"req->namelen =%d\n", req->namelen ); )
diff -urN -x CVS canna/patches/patch-server_misc_c
3.8/patches/patch-server_misc_c
--- canna/patches/patch-server_misc_c Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_misc_c Thu Jan 1 09:00:00 1970
@@ -1,27 +0,0 @@
---- server/misc.c.orig Mon Jul 3 17:58:30 2000
-+++ server/misc.c Mon Jul 3 18:01:42 2000
-@@ -650,17 +650,19 @@ int cxnum ;
- if (client->username && client->username[0]) {
- if (client->groupname && client->groupname[0]) {
-- sprintf(dichome, "%s/%s:%s/%s:%s",
-+ if (snprintf(dichome, sizeof(dichome), "%s/%s:%s/%s:%s",
- DDUSER, client->username,
- DDGROUP, client->groupname,
-- DDPATH);
-+ DDPATH) >= sizeof(dichome))
-+ return -1;
- }
- else {
-- sprintf(dichome, "%s/%s:%s",
-+ if (snprintf(dichome, sizeof(dichome), "%s/%s:%s",
- DDUSER, client->username,
-- DDPATH);
-+ DDPATH) >= sizeof(dichome))
-+ return -1;
- }
- }
- else {
-- strcpy(dichome, DDPATH);
-+ strlcpy(dichome, DDPATH, sizeof(dichome));
- }
-
diff -urN -x CVS canna/patches/patch-server_util_c
3.8/patches/patch-server_util_c
--- canna/patches/patch-server_util_c Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_util_c Thu Jan 1 09:00:00 1970
@@ -1,20 +0,0 @@
---- server/util.c.orig Wed Nov 6 05:09:47 1996
-+++ server/util.c Wed Mar 12 14:59:07 2003
-@@ -218,4 +218,17 @@ Ushort *ws;
- }
-
-+const Ushort *
-+ushortmemchr(ws, ch, len)
-+const Ushort *ws;
-+int ch;
-+size_t len;
-+{
-+ const Ushort *p, *end;
-+ for (p = ws, end = ws + len; p < end; ++p)
-+ if (*p == (Ushort)ch)
-+ return p;
-+ return NULL;
-+}
-+
- int
- ushortstrcpy(wd, ws)
diff -urN -x CVS canna/patches/patch-server_wconvert_c
3.8/patches/patch-server_wconvert_c
--- canna/patches/patch-server_wconvert_c Sat Mar 12 04:24:42 2022
+++ 3.8/patches/patch-server_wconvert_c Thu Jan 1 09:00:00 1970
@@ -1,320 +0,0 @@
---- server/wconvert.c.orig Wed Nov 27 02:27:28 1996
-+++ server/wconvert.c Wed Mar 12 14:59:07 2003
-@@ -101,4 +101,5 @@ extern reqproc ExtensionWideVector[];
-
- extern void DispDebug() ;
-+extern const Ushort *ushortmemchr pro((const Ushort *, int, size_t));
- extern int canna_server_hi ;
- extern int canna_server_lo ;
-@@ -1323,5 +1324,8 @@ ClientPtr *clientp ;
- int cxnum = Request.type18.context, stat = -1;
- int requestsize = Request.type18.size, retval;
-+ size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2;
-
-+ if (datasize == 0 || req->data[datasize - 1] != 0)
-+ goto protoerr;
- if (validcontext(cxnum, client, wListDictionary)) {
- if (requestsize <= sizeof(local_buffer) ||
-@@ -1360,4 +1364,5 @@ ClientPtr *clientp ;
- }
-
-+protoerr:
- retval = SendType6Reply(client, wListDictionary, EXTPROTO, stat,
- dicnames, namesize(dicnames, stat));
-@@ -1471,8 +1476,13 @@ ClientPtr *clientp ;
- int cxnum = Request.type18.context, stat = BADCONT;
- int dirlen, requestsize = Request.type18.size, retval;
-+ size_t datasize = Request.type18.datalen - SIZEOFSHORT * 2;
-
-+ if (datasize == 0 || req->data[datasize - 1] != 0)
-+ goto protoerr;
- if (validcontext(cxnum, client, wGetWordTextDictionary)) {
- dirname = req->data ;
- dirlen = strlen(dirname) + 1 ;
-+ if (dirlen == datasize)
-+ goto protoerr;
- dicname = &(req->data[dirlen]) ;
- if (dirlen > 1) {
-@@ -1516,4 +1526,5 @@ ClientPtr *clientp ;
- }
- }
-+protoerr:
- retval = SendType7Reply(client, wGetWordTextDictionary, EXTPROTO,
- stat, stat > 0 ? stat + 1 : 0, infobuf);
-@@ -2097,10 +2108,10 @@ ClientPtr *clientp;
-
- if (validcontext(cxnum, client, wThrough)) {
-- buf = malloc((int)Request.type20.bufsize);
-+ content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT);
-+ buf = malloc(content_size);
- if (buf) {
-- content_size = Request.type20.datalen - (SIZEOFINT * 2 + SIZEOFSHORT);
- bcopy(Request.type20.buf, buf, content_size);
- stat = size = RkThrough(cxnum, Request.type20.command,
-- buf, content_size, (int)Request.type20.bufsize);
-+ buf, content_size, content_size);
- }
- }
-@@ -2297,4 +2308,7 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq1 start!!\n") );
-
-+ if (Request.type1.datalen != 0)
-+ return( -1 );
-+
- return( 0 ) ;
- }
-@@ -2306,4 +2320,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq2 start!!\n") );
-
-+ if (Request.type2.datalen != SIZEOFSHORT)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type2.context = S2TOS(buf);
- ir_debug( Dmsg(10, "req->context =%d\n", Request.type2.context) );
-@@ -2318,4 +2334,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq3 start!!\n") );
-
-+ if (Request.type3.datalen != SIZEOFSHORT * 2)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type3.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type3.buflen = S2TOS(buf);
-@@ -2335,4 +2353,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq4 start!!\n") );
-
-+ if (Request.type4.datalen < SIZEOFSHORT * 4)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type4.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type4.begin = S2TOS(buf);
-@@ -2340,5 +2360,9 @@ BYTE *buf ;
- buf += SIZEOFSHORT; Request.type4.yomilen = S2TOS(buf);
- Request.type4.yomi = (Ushort *)(buf += SIZEOFSHORT) ;
-- len = Request.type4.datalen - SIZEOFSHORT * 4;
-+ len = Request.type4.yomilen + 1;
-+ if (Request.type4.datalen != SIZEOFSHORT * (4 + len)
-+ || len == 0
-+ || Request.type4.yomi[len - 1] != 0)
-+ return( -1 );
- for (data = Request.type4.yomi, i = 0; i < len; i++, data++)
- *data = ntohs((unsigned short)*data); /* ¤Á¤ç¤Ã¤È¤ä¤À¤Ê¤¢ */
-@@ -2360,4 +2384,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq5 start!!\n") );
-
-+ if (Request.type5.datalen != SIZEOFSHORT * 2 + SIZEOFINT)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type5.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type5.size = S2TOS(buf);
-@@ -2376,4 +2402,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq6 start!!\n") );
-
-+ if (Request.type6.datalen != SIZEOFSHORT * 3)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type6.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type6.number = S2TOS(buf);
-@@ -2392,4 +2420,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq7 start!!\n") );
-
-+ if (Request.type7.datalen != SIZEOFSHORT * 3)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type7.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type7.number = S2TOS(buf);
-@@ -2408,4 +2438,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq8 start!!\n") );
-
-+ if (Request.type8.datalen != SIZEOFSHORT * 4)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type8.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type8.curbun = S2TOS(buf);
-@@ -2426,4 +2458,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq9 start!!\n") );
-
-+ if (Request.type9.datalen != SIZEOFSHORT * 4)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type9.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type9.number = S2TOS(buf);
-@@ -2443,7 +2477,11 @@ BYTE *buf ;
- {
- register int i ;
-+ int rest;
-
- ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") );
-
-+ rest = Request.type10.datalen - (SIZEOFSHORT * 2 + SIZEOFINT);
-+ if (rest < 0)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type10.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type10.number = S2TOS(buf);
-@@ -2453,4 +2491,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "req->mode =%d\n", Request.type10.mode) );
-
-+ if (rest != Request.type10.number * SIZEOFSHORT)
-+ return( -1 );
- buf += SIZEOFINT; Request.type10.kouho = (short *)buf; /* short? */
- for (i = 0; i < Request.type10.number; i++) {
-@@ -2469,10 +2509,16 @@ BYTE *buf ;
- int i, len ;
-
-- ir_debug( Dmsg(10, "ProcWideReq10 start!!\n") );
-+ ir_debug( Dmsg(10, "ProcWideReq11 start!!\n") );
-
-+ if (Request.type11.datalen < SIZEOFSHORT * 2)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type11.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type11.curbun = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type11.yomi = (Ushort *)buf;
-+ if (Request.type11.datalen % SIZEOFSHORT != 0)
-+ return( -1 );
- len = ((int)Request.type11.datalen - SIZEOFSHORT * 2) / SIZEOFSHORT ;
-+ if (len == 0 || Request.type11.yomi[len - 1] != 0)
-+ return( -1 );
- for (data = Request.type11.yomi, i = 0; i < len; i++, data++)
- *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */
-@@ -2491,14 +2537,24 @@ BYTE *buf ;
- {
- register Ushort *data;
-- int i, len ;
-+ int i, len, rest;
-
- ir_debug( Dmsg(10, "ProcWideReq12 start!!\n") );
-
-+ rest = Request.type12.datalen - SIZEOFSHORT;
-+ if (rest < 0)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type12.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type12.datainfo = (Ushort *)buf;
-+ if (!ushortmemchr((Ushort *)buf, 0, rest / SIZEOFSHORT))
-+ return( -1 );
- len = ushortstrlen((Ushort *)buf) + 1;
-+ rest -= len * SIZEOFSHORT;
-+ if (rest <= 0)
-+ return( -1 );
- for( data = Request.type12.datainfo, i = 0; i < len; i++, data++ )
- *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */
- buf += len * SIZEOFSHORT;
-+ if (buf[rest - 1] != '\0')
-+ return( -1 );
- Request.type12.dicname = (char *)buf;
- ir_debug( Dmsg(10, "req->context =%d\n", Request.type12.context) );
-@@ -2518,22 +2574,35 @@ BYTE *buf ;
- {
- register Ushort *data;
-- int i ,len ;
-+ int i ,len, rest;
-
- ir_debug( Dmsg(10, "ProcWideReq13 start!!\n") );
-
-+ rest = Request.type13.datalen - SIZEOFSHORT;
-+ if (rest < 0)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type13.context = S2TOS(buf);
- len = SIZEOFSHORT ;
- buf += len;
- Request.type13.dicname = (char *)buf;
-+ if (!memchr(buf, 0, rest))
-+ return( -1 );
- len = strlen( (char *)buf ) + 1;
-+ rest -= len;
-+ if (rest % SIZEOFSHORT
-+ || rest < SIZEOFSHORT * 3)
-+ return( -1 );
- buf += len;
- Request.type13.yomi = (Ushort *)buf;
- len = ((int)Request.type13.datalen - len - SIZEOFSHORT * 4) / SIZEOFSHORT;
-+ if (ushortmemchr((Ushort *)buf, 0, len) != (Ushort *)buf + len - 1)
-+ return( -1 );
- for( data = Request.type13.yomi, i = 0; i < len; i++, data++)
- *data = ntohs( *data );
-- buf += (ushortstrlen((Ushort *)buf) + 1) * SIZEOFSHORT;
-+ buf += len * SIZEOFSHORT;
- Request.type13.yomilen = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type13.kouhosize = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type13.hinshisize = S2TOS(buf);
-+ if (Request.type13.yomilen != len - 1)
-+ return( -1 );
- ir_debug( Dmsg(10, "req->context =%d\n", Request.type13.context) );
- ir_debug( Dmsg(10, "req->dicname =%s\n", Request.type13.dicname) );
-@@ -2557,4 +2626,7 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq14 start!!\n") );
-
-+ if (Request.type14.datalen <= SIZEOFINT + SIZEOFSHORT
-+ || Request.type14.datalen % SIZEOFSHORT)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type14.mode = L4TOL(buf);
- buf += SIZEOFINT; Request.type14.context = S2TOS(buf);
-@@ -2562,4 +2634,6 @@ BYTE *buf ;
- len = ((int)Request.type14.datalen - SIZEOFSHORT - SIZEOFINT)
- / SIZEOFSHORT;
-+ if (Request.type14.yomi[len - 1] != 0)
-+ return( -1 );
- for (data = Request.type14.yomi, i = 0; i < len; i++, data++)
- *data = ntohs( *data ); /* ¤Ê¤ó¤«¤ä¤À */
-@@ -2578,9 +2652,15 @@ ProcWideReq15(buf)
- BYTE *buf ;
- {
-+ int rest;
- ir_debug( Dmsg(10, "ProcWideReq15 start!!\n") );
-
-+ rest = Request.type15.datalen - (SIZEOFINT + SIZEOFSHORT);
-+ if (rest <= 0)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type15.mode = L4TOL(buf);
- buf += SIZEOFINT; Request.type15.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type15.dicname = (char *)buf;
-+ if (buf[rest - 1] != 0)
-+ return( -1 );
- ir_debug( Dmsg(10, "req->mode =%d\n", Request.type15.mode) );
- ir_debug( Dmsg(10, "req->context =%d\n", Request.type15.context) );
-@@ -2598,4 +2678,7 @@ BYTE *buf ;
-
- buf += HEADER_SIZE;
-+ if (Request.type17.datalen < SIZEOFCHAR * 2
-+ || buf[Request.type17.datalen - SIZEOFCHAR * 2] != 0)
-+ return( -1 );
- Request.type17.dicname = (char *)buf;
- Request.type17.mode = (char)*(buf + Request.type17.datalen - SIZEOFCHAR) ;
-@@ -2614,4 +2697,6 @@ BYTE *buf ;
- ir_debug( Dmsg(10, "ProcWideReq18 start!!\n") );
-
-+ if (Request.type18.datalen < SIZEOFSHORT * 2)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type18.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type18.data = (char *)buf;
-@@ -2631,10 +2716,16 @@ ProcWideReq19(buf)
- BYTE *buf ;
- {
-+ int rest;
- ir_debug( Dmsg(10, "ProcWideReq19 start!!\n") );
-
-+ rest = Request.type20.datalen - (SIZEOFSHORT + SIZEOFINT * 2);
-+ if (rest < 0)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type20.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type20.command = L4TOL(buf);
- buf += SIZEOFINT; Request.type20.bufsize = L4TOL(buf);
- buf += SIZEOFINT; Request.type20.buf = (char *)buf;
-+ if (Request.type20.bufsize != rest)
-+ return( -1 );
- ir_debug( Dmsg(10, "req->context =%d\n", Request.type20.context) );
- ir_debug( Dmsg(10, "req->command =%d\n", Request.type20.command) );
-@@ -2648,13 +2739,23 @@ ProcWideReq20(buf)
- BYTE *buf ;
- {
-+ BYTE *bufend;
- ir_debug( Dmsg(10, "ProcWideReq20 start!!\n") );
-
-+ if (Request.type21.datalen < SIZEOFINT + SIZEOFSHORT)
-+ return( -1 );
- buf += HEADER_SIZE; Request.type21.mode = L4TOL(buf);
-+ bufend = buf + Request.type21.datalen;
- buf += SIZEOFINT; Request.type21.context = S2TOS(buf);
- buf += SIZEOFSHORT; Request.type21.dirname = (char *)buf;
-+ if (!memchr(buf, 0, bufend - buf))
-+ return( -1 );
- buf += strlen((char *)buf) + 1;
- Request.type21.srcdic = (char *)buf;
-+ if (!memchr(buf, 0, bufend - buf))
-+ return( -1 );
- buf += strlen((char *)buf) + 1;
- Request.type21.dstdic = (char *)buf;
-+ if (*(bufend - 1) != 0)
-+ return( -1 );
-
- ir_debug( Dmsg(10, "req->mode =%d\n", Request.type21.mode) );
diff -urN -x CVS canna/pkg/DESCR 3.8/pkg/DESCR
--- canna/pkg/DESCR Thu Jan 1 09:00:00 1970
+++ 3.8/pkg/DESCR Mon Jun 22 04:15:44 2026
@@ -0,0 +1,4 @@
+Canna is a Japanese input system for UNIX/Linux. It consists of a kana-to-kanji
+conversion engine (cannaserver) and a user interface engine (libcanna).
+You can also use Canna in X11 (via "kinput2" XIM server),
+Emacs (with an appropreate patch) or other applications.
diff -urN -x CVS canna/pkg/DESCR-dict 3.8/pkg/DESCR-dict
--- canna/pkg/DESCR-dict Sun Jun 11 10:53:46 2000
+++ 3.8/pkg/DESCR-dict Thu Jan 1 09:00:00 1970
@@ -1,4 +0,0 @@
-Canna is a Kana-Kanji conversion engine.
-This package holds the basic Canna conversion dictionaries.
-
-Those dictionaries install under ${DICT_DIR}.
diff -urN -x CVS canna/pkg/DESCR-main 3.8/pkg/DESCR-main
--- canna/pkg/DESCR-main Wed Nov 22 06:17:31 2006
+++ 3.8/pkg/DESCR-main Thu Jan 1 09:00:00 1970
@@ -1,18 +0,0 @@
-Canna is a Kana-Kanji conversion engine.
-This package holds the Canna libraries.
-For a fully functional system, you need access to a server,
-or to install the cannaserver and cannadict packages as well.
-
-Kana-kanji conversion is usually started with '^o'.
-
-In theory, canna supports Mule (Multi-lingual emacs) and kinput2.
-
-From NetBSD:
- To use from Mule (CANNA version), in .emacs file:
-
- (if (and (boundp 'CANNA) CANNA) ; Is it CANNA MULE?
- (progn
- (load-library "canna")
- (canna) ))
-
-The nvi-m17n-*-canna package supports canna.
diff -urN -x CVS canna/pkg/DESCR-server 3.8/pkg/DESCR-server
--- canna/pkg/DESCR-server Sat Jul 12 01:18:51 2014
+++ 3.8/pkg/DESCR-server Thu Jan 1 09:00:00 1970
@@ -1,5 +0,0 @@
-Canna is a Kana-Kanji conversion engine.
-This package holds the server and related utility.
-
-cannaserver is started as daemon. This package needs
-the Canna dictionaries (cannadict package) to be functional.
diff -urN -x CVS canna/pkg/PLIST 3.8/pkg/PLIST
--- canna/pkg/PLIST Thu Jan 1 09:00:00 1970
+++ 3.8/pkg/PLIST Thu Jun 25 14:52:32 2026
@@ -0,0 +1,257 @@
+canna/
+canna/bin/
+canna/bin/addwords
+@bin canna/bin/canlisp
+@bin canna/bin/cannacheck
+@bin canna/bin/cannastat
+@bin canna/bin/catdic
+@bin canna/bin/chkconc
+canna/bin/chmoddic
+canna/bin/cpdic
+@bin canna/bin/crfreq
+@bin canna/bin/crxdic
+@bin canna/bin/crxgram
+@bin canna/bin/cshost
+@bin canna/bin/ctow
+canna/bin/delwords
+@bin canna/bin/dicar
+canna/bin/dpbindic
+@bin canna/bin/dpromdic
+@bin canna/bin/dpxdic
+@bin canna/bin/forcpp
+@bin canna/bin/kpdic
+canna/bin/lsdic
+@bin canna/bin/mergeword
+canna/bin/mkbindic
+canna/bin/mkdic
+canna/bin/mkromdic
+canna/bin/mvdic
+canna/bin/rmdic
+@bin canna/bin/splitword
+canna/bin/syncdic
+@bin canna/bin/wtoc
+canna/include/
+canna/include/canna/
+canna/include/canna/RK.h
+canna/include/canna/jrkanji.h
+canna/include/canna/keydef.h
+canna/include/canna/mfdef.h
+canna/include/canna/pubconf.h
+canna/include/canna/sysdep.h
+@mandir canna/man/
+canna/man/ja/
+canna/man/ja/man1/
+@man canna/man/ja/man1/addwords.1
+@man canna/man/ja/man1/cannacheck.1
+@man canna/man/ja/man1/cannakill.1
+@man canna/man/ja/man1/cannaserver.1
+@man canna/man/ja/man1/cannastat.1
+@man canna/man/ja/man1/catdic.1
+@man canna/man/ja/man1/chmoddic.1
+@man canna/man/ja/man1/cpdic.1
+@man canna/man/ja/man1/cshost.1
+@man canna/man/ja/man1/ctow.1
+@man canna/man/ja/man1/delwords.1
+@man canna/man/ja/man1/dicar.1
+@man canna/man/ja/man1/dpbindic.1
+@man canna/man/ja/man1/dpromdic.1
+@man canna/man/ja/man1/lsdic.1
+@man canna/man/ja/man1/mkbindic.1
+@man canna/man/ja/man1/mkdic.1
+@man canna/man/ja/man1/mkromdic.1
+@man canna/man/ja/man1/mvdic.1
+@man canna/man/ja/man1/rmdic.1
+@man canna/man/ja/man1/splitword.1
+@man canna/man/ja/man1/wtoc.1
+canna/man/ja/man3/
+@man canna/man/ja/man3/RkBgnBun.3
+@man canna/man/ja/man3/RkCloseRoma.3
+@man canna/man/ja/man3/RkCvtEuc.3
+@man canna/man/ja/man3/RkCvtHan.3
+@man canna/man/ja/man3/RkCvtHira.3
+@man canna/man/ja/man3/RkCvtKana.3
+@man canna/man/ja/man3/RkCvtRoma.3
+@man canna/man/ja/man3/RkCvtZen.3
+@man canna/man/ja/man3/RkDefineDic.3
+@man canna/man/ja/man3/RkDeleteDic.3
+@man canna/man/ja/man3/RkEndBun.3
+@man canna/man/ja/man3/RkEnlarge.3
+@man canna/man/ja/man3/RkFinalize.3
+@man canna/man/ja/man3/RkGetDicList.3
+@man canna/man/ja/man3/RkGetKanji.3
+@man canna/man/ja/man3/RkGetLex.3
+@man canna/man/ja/man3/RkGetStat.3
+@man canna/man/ja/man3/RkGetYomi.3
+@man canna/man/ja/man3/RkGoto.3
+@man canna/man/ja/man3/RkInitialize.3
+@man canna/man/ja/man3/RkIntro.3
+@man canna/man/ja/man3/RkLeft.3
+@man canna/man/ja/man3/RkMapPhonogram.3
+@man canna/man/ja/man3/RkMapRoma.3
+@man canna/man/ja/man3/RkMountDic.3
+@man canna/man/ja/man3/RkNext.3
+@man canna/man/ja/man3/RkNfer.3
+@man canna/man/ja/man3/RkOpenRoma.3
+@man canna/man/ja/man3/RkPrev.3
+@man canna/man/ja/man3/RkRemountDic.3
+@man canna/man/ja/man3/RkResize.3
+@man canna/man/ja/man3/RkRight.3
+@man canna/man/ja/man3/RkShorten.3
+@man canna/man/ja/man3/RkStoreYomi.3
+@man canna/man/ja/man3/RkUnmountDic.3
+@man canna/man/ja/man3/RkXfer.3
+@man canna/man/ja/man3/XKanjiControl.3
+@man canna/man/ja/man3/XLookupKanjiString.3
+@man canna/man/ja/man3/cannalib.3
+@man canna/man/ja/man3/jrKanjiControl.3
+@man canna/man/ja/man3/jrKanjiString.3
+@man canna/man/ja/man3/uilib.3
+canna/man/man1/
+@man canna/man/man1/addwords.1
+@man canna/man/man1/cannacheck.1
+@man canna/man/man1/cannakill.1
+@man canna/man/man1/cannaserver.1
+@man canna/man/man1/cannastat.1
+@man canna/man/man1/catdic.1
+@man canna/man/man1/chmoddic.1
+@man canna/man/man1/cpdic.1
+@man canna/man/man1/cshost.1
+@man canna/man/man1/ctow.1
+@man canna/man/man1/delwords.1
+@man canna/man/man1/dicar.1
+@man canna/man/man1/dpbindic.1
+@man canna/man/man1/dpromdic.1
+@man canna/man/man1/lsdic.1
+@man canna/man/man1/mkbindic.1
+@man canna/man/man1/mkdic.1
+@man canna/man/man1/mkromdic.1
+@man canna/man/man1/mvdic.1
+@man canna/man/man1/rmdic.1
+@man canna/man/man1/splitword.1
+@man canna/man/man1/wtoc.1
+canna/man/man3/
+@man canna/man/man3/RkBgnBun.3
+@man canna/man/man3/RkCloseRoma.3
+@man canna/man/man3/RkCvtEuc.3
+@man canna/man/man3/RkCvtHan.3
+@man canna/man/man3/RkCvtHira.3
+@man canna/man/man3/RkCvtKana.3
+@man canna/man/man3/RkCvtRoma.3
+@man canna/man/man3/RkCvtZen.3
+@man canna/man/man3/RkDefineDic.3
+@man canna/man/man3/RkDeleteDic.3
+@man canna/man/man3/RkEndBun.3
+@man canna/man/man3/RkEnlarge.3
+@man canna/man/man3/RkFinalize.3
+@man canna/man/man3/RkGetDicList.3
+@man canna/man/man3/RkGetKanji.3
+@man canna/man/man3/RkGetLex.3
+@man canna/man/man3/RkGetStat.3
+@man canna/man/man3/RkGetYomi.3
+@man canna/man/man3/RkGoto.3
+@man canna/man/man3/RkInitialize.3
+@man canna/man/man3/RkIntro.3
+@man canna/man/man3/RkLeft.3
+@man canna/man/man3/RkMapPhonogram.3
+@man canna/man/man3/RkMapRoma.3
+@man canna/man/man3/RkMountDic.3
+@man canna/man/man3/RkNext.3
+@man canna/man/man3/RkNfer.3
+@man canna/man/man3/RkOpenRoma.3
+@man canna/man/man3/RkPrev.3
+@man canna/man/man3/RkRemountDic.3
+@man canna/man/man3/RkResize.3
+@man canna/man/man3/RkRight.3
+@man canna/man/man3/RkShorten.3
+@man canna/man/man3/RkStoreYomi.3
+@man canna/man/man3/RkUnmountDic.3
+@man canna/man/man3/RkXfer.3
+@man canna/man/man3/XKanjiControl.3
+@man canna/man/man3/XLookupKanjiString.3
+@man canna/man/man3/cannalib.3
+@man canna/man/man3/jrKanjiControl.3
+@man canna/man/man3/jrKanjiString.3
+@man canna/man/man3/uilib.3
+canna/sbin/
+canna/sbin/cannakill
+@bin canna/sbin/cannaserver
+canna/share/
+canna/share/canna/
+canna/share/canna/default.canna
+canna/share/canna/dic/
+canna/share/canna/dic/default.cbp
+canna/share/canna/dic/english.cbp
+canna/share/canna/dic/jdaemon.cbp
+canna/share/canna/dic/just.cbp
+canna/share/canna/dic/kaisoku.cbp
+canna/share/canna/dic/kana.cbp
+canna/share/canna/dic/lan5.cbp
+canna/share/canna/dic/matsu.cbp
+canna/share/canna/dic/newjis.cbp
+canna/share/canna/dic/romaji.cbp
+canna/share/canna/dic/sokuon.cbp
+canna/share/canna/dic/tut.cbp
+canna/share/canna/dic/vje.cbp
+canna/share/canna/dic/wx2+.cbp
+canna/share/canna/sample/
+canna/share/canna/sample/1.1.canna
+canna/share/canna/sample/1.2.canna
+canna/share/canna/sample/fixer.canna
+canna/share/canna/sample/jdemon.canna
+canna/share/canna/sample/just.canna
+canna/share/canna/sample/lan5.canna
+canna/share/canna/sample/matsu.canna
+canna/share/canna/sample/modes.canna
+canna/share/canna/sample/sample.canna
+canna/share/canna/sample/skk.canna
+canna/share/canna/sample/src/
+canna/share/canna/sample/src/default.ctd
+canna/share/canna/sample/src/english.ctd
+canna/share/canna/sample/src/is.c
+canna/share/canna/sample/src/jdaemon.ctd
+canna/share/canna/sample/src/just.ctd
+canna/share/canna/sample/src/kaisoku.ctd
+canna/share/canna/sample/src/kana.ctd
+canna/share/canna/sample/src/lan5.ctd
+canna/share/canna/sample/src/matsu.ctd
+canna/share/canna/sample/src/newjis.ctd
+canna/share/canna/sample/src/romaji.ctd
+canna/share/canna/sample/src/sokuon.ctd
+canna/share/canna/sample/src/tut.ctd
+canna/share/canna/sample/src/vje.ctd
+canna/share/canna/sample/src/wx2+.ctd
+canna/share/canna/sample/tut.canna
+canna/share/canna/sample/unix.canna
+canna/share/canna/sample/verbose.canna
+canna/share/canna/sample/vje.canna
+canna/share/canna/sample/wx2+.canna
+@static-lib lib/libRKC.a
+@lib lib/libRKC.so.${LIBRKC_VERSION}
+@static-lib lib/libRKC16.a
+@lib lib/libRKC16.so.${LIBRKC16_VERSION}
+@static-lib lib/libcanna.a
+@lib lib/libcanna.so.${LIBcanna_VERSION}
+@static-lib lib/libcanna16.a
+@lib lib/libcanna16.so.${LIBcanna16_VERSION}
+@cwd /var/db
+@owner daemon
+@group daemon
+canna/
+canna/bushu.cld
+canna/chimei.ctd
+canna/dics.dir
+canna/fuzokugo.cbd
+canna/hojomwd.ctd
+canna/hojoswd.ctd
+canna/iroha.cbd
+canna/iroha.cld
+canna/jigyosyo.cld
+canna/kanasmpl.ctd
+canna/katakana.ctd
+canna/keishiki.ctd
+canna/necgaiji.ctd
+canna/number.ctd
+canna/software.ctd
+canna/suffix.ctd
+canna/zipcode.cbd
+canna/zipcode.cld
diff -urN -x CVS canna/pkg/PLIST-dict 3.8/pkg/PLIST-dict
--- canna/pkg/PLIST-dict Sat Mar 12 04:24:42 2022
+++ 3.8/pkg/PLIST-dict Thu Jan 1 09:00:00 1970
@@ -1,36 +0,0 @@
-@mode 0755
-@owner daemon
-@group daemon
-canna/
-@mode
-@owner
-canna/canna/
-@mode u+w,g+w
-@owner daemon
-canna/canna/bushu.cld
-@mode
-@owner
-canna/canna/chimei.ctd
-canna/canna/dics.dir
-@mode u+w,g+w
-@owner daemon
-canna/canna/fuzokugo.cbd
-canna/canna/fuzokugo.cld
-@mode
-@owner
-canna/canna/hojomwd.ctd
-canna/canna/hojoswd.ctd
-@mode u+w,g+w
-@owner daemon
-canna/canna/iroha.cbd
-canna/canna/iroha.cld
-@mode
-@owner
-canna/canna/kanasmpl.ctd
-canna/canna/katakana.ctd
-canna/canna/keishiki.ctd
-canna/canna/necgaiji.ctd
-canna/canna/number.ctd
-canna/canna/software.ctd
-canna/canna/suffix.ctd
-@unexec echo "Remove /var/spool/canna manually"
diff -urN -x CVS canna/pkg/PLIST-main 3.8/pkg/PLIST-main
--- canna/pkg/PLIST-main Sat Mar 12 04:24:42 2022
+++ 3.8/pkg/PLIST-main Thu Jan 1 09:00:00 1970
@@ -1,150 +0,0 @@
-@pkgpath japanese/canna
-include/canna/
-include/canna/RK.h
-include/canna/jrkanji.h
-include/canna/keydef.h
-include/canna/mfdef.h
-lib/default.canna
-lib/dic/
-lib/dic/default.cbp
-lib/dic/english.cbp
-lib/dic/jdaemon.cbp
-lib/dic/just.cbp
-lib/dic/kaisoku.cbp
-lib/dic/kana.cbp
-lib/dic/lan5.cbp
-lib/dic/matsu.cbp
-lib/dic/newjis.cbp
-lib/dic/romaji.cbp
-lib/dic/sokuon.cbp
-lib/dic/tut.cbp
-lib/dic/vje.cbp
-lib/dic/wx2+.cbp
-lib/engine.cf
-lib/libRKC.a
-@lib lib/libRKC.so.${LIBRKC_VERSION}
-lib/libRKC16.a
-@lib lib/libRKC16.so.${LIBRKC16_VERSION}
-lib/libcanna.a
-@lib lib/libcanna.so.${LIBcanna_VERSION}
-lib/libcanna16.a
-@lib lib/libcanna16.so.${LIBcanna16_VERSION}
-lib/sample/
-lib/sample/1.1.canna
-lib/sample/1.2.canna
-lib/sample/default.canna
-lib/sample/fixer.canna
-lib/sample/jdemon.canna
-lib/sample/just.canna
-lib/sample/lan5.canna
-lib/sample/matsu.canna
-lib/sample/modes.canna
-lib/sample/sample.canna
-lib/sample/skk.canna
-lib/sample/src/
-lib/sample/src/Makefile
-lib/sample/src/default.ctd
-lib/sample/src/english.ctd
-lib/sample/src/is.c
-lib/sample/src/jdaemon.ctd
-lib/sample/src/just.ctd
-lib/sample/src/kaisoku.ctd
-lib/sample/src/kana.ctd
-lib/sample/src/lan5.ctd
-lib/sample/src/matsu.ctd
-lib/sample/src/newjis.ctd
-lib/sample/src/romaji.ctd
-lib/sample/src/sokuon.ctd
-lib/sample/src/tut.ctd
-lib/sample/src/vje.ctd
-lib/sample/src/wx2+.ctd
-lib/sample/tut.canna
-lib/sample/unix.canna
-lib/sample/vje.canna
-lib/sample/wx2+.canna
-man/ja/
-man/ja/man3/
-@man man/ja/man3/RkCloseRoma.3
-@man man/ja/man3/RkCvtEuc.3
-@man man/ja/man3/RkCvtHan.3
-@man man/ja/man3/RkCvtHira.3
-@man man/ja/man3/RkCvtKana.3
-@man man/ja/man3/RkCvtRoma.3
-@man man/ja/man3/RkCvtZen.3
-@man man/ja/man3/RkDefineDic.3
-@man man/ja/man3/RkDeleteDic.3
-@man man/ja/man3/RkEndBun.3
-@man man/ja/man3/RkEnlarge.3
-@man man/ja/man3/RkFinalize.3
-@man man/ja/man3/RkGetDicList.3
-@man man/ja/man3/RkGetKanji.3
-@man man/ja/man3/RkGetLex.3
-@man man/ja/man3/RkGetStat.3
-@man man/ja/man3/RkGetYomi.3
-@man man/ja/man3/RkGoto.3
-@man man/ja/man3/RkInitialize.3
-@man man/ja/man3/RkIntro.3
-@man man/ja/man3/RkLeft.3
-@man man/ja/man3/RkMapPhonogram.3
-@man man/ja/man3/RkMapRoma.3
-@man man/ja/man3/RkMountD.3
-@man man/ja/man3/RkNext.3
-@man man/ja/man3/RkNfer.3
-@man man/ja/man3/RkOpenRoma.3
-@man man/ja/man3/RkPrev.3
-@man man/ja/man3/RkRemountDic.3
-@man man/ja/man3/RkResize.3
-@man man/ja/man3/RkRgnBun.3
-@man man/ja/man3/RkRight.3
-@man man/ja/man3/RkShorten.3
-@man man/ja/man3/RkStoreYomi.3
-@man man/ja/man3/RkUnmountDic.3
-@man man/ja/man3/RkXfer.3
-@man man/ja/man3/XKanjiControl.3
-@man man/ja/man3/XLookupKanjiString.3
-@man man/ja/man3/cannalib.3
-@man man/ja/man3/jrKanjiControl.3
-@man man/ja/man3/jrKanjiString.3
-@man man/ja/man3/uilib.3
-@man man/man3/RkCloseRoma.3
-@man man/man3/RkCvtEuc.3
-@man man/man3/RkCvtHan.3
-@man man/man3/RkCvtHira.3
-@man man/man3/RkCvtKana.3
-@man man/man3/RkCvtRoma.3
-@man man/man3/RkCvtZen.3
-@man man/man3/RkDefineDic.3
-@man man/man3/RkDeleteDic.3
-@man man/man3/RkEndBun.3
-@man man/man3/RkEnlarge.3
-@man man/man3/RkFinalize.3
-@man man/man3/RkGetDicList.3
-@man man/man3/RkGetKanji.3
-@man man/man3/RkGetLex.3
-@man man/man3/RkGetStat.3
-@man man/man3/RkGetYomi.3
-@man man/man3/RkGoto.3
-@man man/man3/RkInitialize.3
-@man man/man3/RkIntro.3
-@man man/man3/RkLeft.3
-@man man/man3/RkMapPhonogram.3
-@man man/man3/RkMapRoma.3
-@man man/man3/RkMountD.3
-@man man/man3/RkNext.3
-@man man/man3/RkNfer.3
-@man man/man3/RkOpenRoma.3
-@man man/man3/RkPrev.3
-@man man/man3/RkRemountDic.3
-@man man/man3/RkResize.3
-@man man/man3/RkRgnBun.3
-@man man/man3/RkRight.3
-@man man/man3/RkShorten.3
-@man man/man3/RkStoreYomi.3
-@man man/man3/RkUnmountDic.3
-@man man/man3/RkXfer.3
-@man man/man3/XKanjiControl.3
-@man man/man3/XLookupKanjiString.3
-@man man/man3/cannalib.3
-@man man/man3/jrKanjiControl.3
-@man man/man3/jrKanjiString.3
-@man man/man3/uilib.3
diff -urN -x CVS canna/pkg/PLIST-server 3.8/pkg/PLIST-server
--- canna/pkg/PLIST-server Sat Mar 12 04:24:42 2022
+++ 3.8/pkg/PLIST-server Thu Jan 1 09:00:00 1970
@@ -1,84 +0,0 @@
-bin/addwords
-@bin bin/canlisp
-@bin bin/cannacheck
-bin/cannakill
-@mode u+s,g+s
-@owner daemon
-@group daemon
-@bin bin/cannaserver
-@mode
-@owner
-@group
-@bin bin/cannastat
-@bin bin/catdic
-bin/cpdic
-@bin bin/crfreq
-@bin bin/crxdic
-@bin bin/crxgram
-@bin bin/cshost
-@bin bin/ctow
-bin/delwords
-@bin bin/dicar
-bin/dpbindic
-@bin bin/dpromdic
-@bin bin/dpxdic
-@bin bin/forcpp
-@bin bin/forsort
-@bin bin/kpdic
-bin/lsdic
-@bin bin/mergeword
-bin/mkbindic
-bin/mkdic
-bin/mkromdic
-bin/mvdic
-bin/rmdic
-@bin bin/splitword
-bin/syncdic
-@bin bin/wtoc
-man/ja/man1/
-@man man/ja/man1/addwords.1
-@man man/ja/man1/cannacheck.1
-@man man/ja/man1/cannakill.1
-@man man/ja/man1/cannaserver.1
-@man man/ja/man1/cannastat.1
-@man man/ja/man1/catdic.1
-@man man/ja/man1/cpdic.1
-@man man/ja/man1/cshost.1
-@man man/ja/man1/ctow.1
-@man man/ja/man1/delwords.1
-@man man/ja/man1/dicar.1
-@man man/ja/man1/dpbindic.1
-@man man/ja/man1/dpromdic.1
-@man man/ja/man1/lsdic.1
-@man man/ja/man1/mkbindic.1
-@man man/ja/man1/mkdic.1
-@man man/ja/man1/mkromdic.1
-@man man/ja/man1/mvdic.1
-@man man/ja/man1/rmdic.1
-@man man/ja/man1/splitword.1
-@man man/ja/man1/wtoc.1
-@man man/man1/addwords.1
-@man man/man1/cannacheck.1
-@man man/man1/cannakill.1
-@man man/man1/cannaserver.1
-@man man/man1/cannastat.1
-@man man/man1/catdic.1
-@man man/man1/cpdic.1
-@man man/man1/cshost.1
-@man man/man1/ctow.1
-@man man/man1/delwords.1
-@man man/man1/dicar.1
-@man man/man1/dpbindic.1
-@man man/man1/dpromdic.1
-@man man/man1/lsdic.1
-@man man/man1/mkbindic.1
-@man man/man1/mkdic.1
-@man man/man1/mkromdic.1
-@man man/man1/mvdic.1
-@man man/man1/rmdic.1
-@man man/man1/splitword.1
-@man man/man1/wtoc.1
-@mode 0775
-@owner daemon
-@group daemon
-@sample /var/spool/canna/
japanese_canna_3.8.tar.gz
Description: Binary data
