diff options
author | daichi <daichi@FreeBSD.org> | 2005-05-24 12:37:50 +0000 |
---|---|---|
committer | daichi <daichi@FreeBSD.org> | 2005-05-24 12:37:50 +0000 |
commit | 2fc57c4b8b6311308d0cd7c060698ffba5fdeb98 (patch) | |
tree | 37dac9da04b94e927a5886af6f57c1828f27f13b /japanese/iiimf-le-freewnn | |
parent | 834341d742892c8f5d7d774127f637922888c5ce (diff) | |
download | FreeBSD-ports-2fc57c4b8b6311308d0cd7c060698ffba5fdeb98.zip FreeBSD-ports-2fc57c4b8b6311308d0cd7c060698ffba5fdeb98.tar.gz |
IIIMF-related ports:
- drop maintainership
- update to r12.2
- some bug fixes
PR: 81184
Submitted by: Masanori OZAWA <ozawa@ongs.co.jp>
Approved by: maintainer
Diffstat (limited to 'japanese/iiimf-le-freewnn')
-rw-r--r-- | japanese/iiimf-le-freewnn/Makefile | 64 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/distinfo | 4 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/files/patch-Makefile | 60 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/files/patch-acfiles_check_sys.m4 | 12 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/files/patch-leif_Makefile.am | 8 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/files/patch-leif_configure.ac | 53 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/files/patch-leif_freewnn_Makefile.am | 12 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/files/patch-leif_freewnn_freewnn.c | 126 | ||||
-rw-r--r-- | japanese/iiimf-le-freewnn/pkg-plist | 5 |
9 files changed, 220 insertions, 124 deletions
diff --git a/japanese/iiimf-le-freewnn/Makefile b/japanese/iiimf-le-freewnn/Makefile index db4b1f0..793fa28 100644 --- a/japanese/iiimf-le-freewnn/Makefile +++ b/japanese/iiimf-le-freewnn/Makefile @@ -6,71 +6,57 @@ # PORTNAME= le-freewnn -PORTVERSION= ${IIIMF_VER:S/_/./g:C/-.*//} -PORTREVISION= 2 +PORTVERSION= 12.2 CATEGORIES= japanese textproc MASTER_SITES= http://www.openi18n.org/download/im-sdk/src/ PKGNAMEPREFIX= iiimf- -DISTNAME= im-sdk-src-${IIIMF_VER} +DISTNAME= iiimf-src-${PORTVERSION} EXTRACT_SUFX= .tar.bz2 -MAINTAINER= daichi@freebsd.org +MAINTAINER= ozawa@ongs.co.jp COMMENT= FreeWnn language engine for IIIMF LIB_DEPENDS= wnn.0:${PORTSDIR}/japanese/FreeWnn-lib -RUN_DEPENDS= ${LOCALBASE}/lib/im/htt:${PORTSDIR}/textproc/iiimf-server \ +RUN_DEPENDS= iiimd:${PORTSDIR}/textproc/iiimf-server \ + ${LOCALBASE}/lib/iiim/csconv/csconv.so:${PORTSDIR}/textproc/iiimf-csconv \ ${LOCALBASE}/bin/Wnn4/jserver:${PORTSDIR}/japanese/FreeWnn-server -IIIMF_VER= r12_1-svn2002 +ONLY_FOR_ARCHS= i386 + USE_BZIP2= yes USE_ICONV= yes USE_REINPLACE= yes USE_GMAKE= yes -USE_AUTOCONF_VER= 259 -USE_AUTOHEADER_VER= 259 -USE_AUTOMAKE_VER= 19 +WANT_AUTOCONF_VER= 259 +WANT_AUTOHEADER_VER= 259 +WANT_AUTOMAKE_VER= 19 WANT_LIBTOOL_VER= 15 -AUTOMAKE_ARGS+= --add-missing -CONFIGURE_TARGET= --build=${MACHINE_ARCH}-portbld-freebsd${OSREL} - -WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//}/leif -PATCH_WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//} +WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//} +BUILDDIR= ${WRKSRC}/leif .include <bsd.port.pre.mk> .if ${OSVERSION} < 503000 -IGNORE= "It is supported on FreeBSD 5.3 and later" -.endif - -.if ${ARCH} != "i386" -IGNORE= "${ARCH} is not support." +IGNORE= It is supported on FreeBSD 5.3 and later. .endif CFLAGS+= -I${LOCALBASE}/include -I${LOCALBASE}/include/wnn \ ${PTHREAD_CFLAGS} LDFLAGS+= -L${LOCALBASE}/lib -liconv ${PTHREAD_LIBS} -CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}" -UPDATE_ARGS+= ACLOCAL=${ACLOCAL} AUTOMAKE=${AUTOMAKE} \ - AUTOHEADER=${AUTOHEADER} AUTOCONF=${AUTOCONF} \ - LIBTOOL=${LIBTOOL} LIBTOOLIZE=${LIBTOOLIZE} \ - ACLOCAL_DIR="-I ${LOCALBASE}/share/aclocal -I ${ACLOCAL_DIR}" +CONFIGURE_ENV+= CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" post-patch: - ${REINPLACE_CMD} -e "s,/usr/lib/im,${PREFIX}/lib/im,g" \ - ${WRKSRC}/../acfiles/im_common.m4 \ - ${WRKSRC}/../lib/CSConv/csconv.h - -pre-configure: - @cd ${WRKSRC}/../ && ${GMAKE} ${UPDATE_ARGS} update-acfiles - @cd ${WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${LIBTOOLIZE} --force --copy - @cd ${WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${ACLOCAL} \ - -I ../acfiles -I ${LOCALBASE}/share/aclocal -I ${ACLOCAL_DIR} - @cd ${WRKSRC} && ${REINPLACE_CMD} \ - -e "s^\$$ac_aux_dir/ltconfig^${LTCONFIG}^g" \ - -e "/^ltmain=/!s^\$$ac_aux_dir/ltmain.sh^${LIBTOOLFLAGS} ${LTMAIN}^g" \ - -e '/^LIBTOOL=/s^\$$(top_builddir)/libtool^${LIBTOOL}^g' \ - ${LIBTOOLFILES} - @cd ${WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${AUTOHEADER} + ${REINPLACE_CMD} \ + -e "s,%%LOCALBASE%%,${LOCALBASE},g" \ + -e "s,%%PREFIX%%,${PREFIX},g" \ + ${WRKSRC}/Makefile ${BUILDDIR}/Makefile.am \ + ${BUILDDIR}/freewnn/freewnn.c + ${REINPLACE_CMD} -e "s,/usr/lib/iiim,${LOCALBASE}/lib/iiim,g" \ + ${WRKSRC}/lib/CSConv/csconv.h + +do-configure: + @cd ${WRKSRC} && ${SETENV} ${AUTOTOOLS_ENV} ${GMAKE} reconfig + @cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} ${GMAKE} config .include <bsd.port.post.mk> diff --git a/japanese/iiimf-le-freewnn/distinfo b/japanese/iiimf-le-freewnn/distinfo index 440e49d..4416cce 100644 --- a/japanese/iiimf-le-freewnn/distinfo +++ b/japanese/iiimf-le-freewnn/distinfo @@ -1,2 +1,2 @@ -MD5 (im-sdk-src-r12_1-svn2002.tar.bz2) = 51f3f10b11f8d4a206e2b190ec36a32a -SIZE (im-sdk-src-r12_1-svn2002.tar.bz2) = 18141292 +MD5 (iiimf-src-12.2.tar.bz2) = 70dbf257fe64ddf8611dfa6449da537c +SIZE (iiimf-src-12.2.tar.bz2) = 11452670 diff --git a/japanese/iiimf-le-freewnn/files/patch-Makefile b/japanese/iiimf-le-freewnn/files/patch-Makefile index bcc2cb2..c13173f 100644 --- a/japanese/iiimf-le-freewnn/files/patch-Makefile +++ b/japanese/iiimf-le-freewnn/files/patch-Makefile @@ -1,19 +1,47 @@ ---- Makefile Thu Apr 8 03:28:00 2004 -+++ Makefile Wed Feb 16 14:09:34 2005 -@@ -2,6 +2,7 @@ - AUTOMAKE = automake - AUTOHEADER = autoheader - AUTOCONF = autoconf -+LIBTOOLIZE = libtoolize +--- Makefile.orig Mon May 9 15:32:45 2005 ++++ Makefile Mon May 9 15:35:03 2005 +@@ -1,29 +1,31 @@ + ## deprecated in favour of AUTORECONF +-#ACLOCAL = aclocal +-#AUTOMAKE = automake --add-missing --copy +-#LIBTOOLIZE = libtoolize --force --copy +-#AUTOHEADER = autoheader +-#AUTOCONF = autoconf ++ACLOCAL = aclocal19 ++AUTOMAKE = automake19 --add-missing --copy ++LIBTOOLIZE = libtoolize15 --force --copy ++AUTOHEADER = autoheader259 ++AUTOCONF = autoconf259 + #CONFIG_CMD = $(ACLOCAL) -I $${acfilesdir} && \ + # $(LIBTOOLIZE) && \ + # $(AUTOHEADER) && \ + # $(AUTOMAKE) && \ + # $(AUTOCONF) - CONFIG_CMD = $(ACLOCAL) -I $${acfilesdir} && \ - $(AUTOHEADER) && \ -@@ -21,7 +22,7 @@ +-AUTORECONF = autoreconf ++AUTORECONF = autoreconf259 + BOOTSTRAP = $(AUTORECONF) --install --force + INTL_CMD = glib-gettextize -f && intltoolize --copy --force --automake - update-acfiles: - cd acfiles && \ -- $(ACLOCAL) && $(AUTOMAKE) --add-missing --copy && libtoolize --force --copy && \ -+ $(ACLOCAL) $(ACLOCAL_DIR) && $(AUTOMAKE) --add-missing --copy && $(LIBTOOLIZE) --force --copy && \ - rm -f Makefile.in aclocal.m4 +-CONFIG_FLAGS = --prefix=/usr --sysconfdir=/etc --localstatedir=/var ++CONFIG_FLAGS = --prefix=%%PREFIX%% --sysconfdir=%%LOCALBASE%%/etc --localstatedir=/var + +-INTLDIRS = iiimgcf gnome-im-switcher ++#INTLDIRS = iiimgcf gnome-im-switcher + +-BUILDDIRS = lib/CSConv lib/EIMIL lib/iiimp lib/iiimcf \ +- iiimsf leif leif/sun_le_korea leif/sch_le_sun leif/tch_le_sun \ +- iiimxcf/xiiimp.so iiimxcf/htt_xbe \ +- iiimgcf gnome-im-switcher doc ++BUILDDIRS = leif ++#BUILDDIRS = lib/CSConv lib/EIMIL lib/iiimp lib/iiimcf \ ++# iiimsf leif leif/sun_le_korea leif/sch_le_sun leif/tch_le_sun \ ++# iiimxcf/xiiimp.so iiimxcf/htt_xbe \ ++# iiimgcf gnome-im-switcher doc + +-CONFIGDIRS = $(BUILDDIRS) leif/m17n_le leif/thai_le_sun ++CONFIGDIRS = $(BUILDDIRS) ++#CONFIGDIRS = $(BUILDDIRS) leif/m17n_le leif/thai_le_sun + + all: compile - config: diff --git a/japanese/iiimf-le-freewnn/files/patch-acfiles_check_sys.m4 b/japanese/iiimf-le-freewnn/files/patch-acfiles_check_sys.m4 index 8626eea..44ee86c 100644 --- a/japanese/iiimf-le-freewnn/files/patch-acfiles_check_sys.m4 +++ b/japanese/iiimf-le-freewnn/files/patch-acfiles_check_sys.m4 @@ -1,10 +1,12 @@ ---- acfiles/check_sys.m4.orig Tue Sep 14 13:31:27 2004 -+++ acfiles/check_sys.m4 Wed Mar 2 08:39:25 2005 -@@ -203,6 +203,11 @@ +--- acfiles/check_sys.m4.orig Mon May 9 15:28:20 2005 ++++ acfiles/check_sys.m4 Mon May 9 15:32:07 2005 +@@ -203,6 +203,13 @@ CXX=${CC} fi ;; + cc*:*) ++ DEBUG_CFLAGS="${DEBUG_CFLAGS} -ggdb" ++ DEBUG_CXXFLAGS="${DEBUG_CXXFLAGS} -g" + COMMON_CFLAGS="${COMMON_CFLAGS} -Wall" + SHLIBCFLAGS='-fpic' + SHLIBLDFLAGS='-shared' @@ -12,7 +14,7 @@ *) DEBUG_CXX_CFLAGS="${DEBUG_CXX_CFLAGS} -g" ;; -@@ -249,8 +254,8 @@ +@@ -249,8 +256,8 @@ COMMON_CXX_CFLAGS="${COMMON_CXX_CFLAGS} -DLinux" ;; *freebsd*) @@ -23,7 +25,7 @@ ;; esac -@@ -288,9 +293,9 @@ +@@ -288,9 +295,9 @@ THREAD_CXX_CFLAGS="-mt" HAVE_THREAD="uithread" ;; diff --git a/japanese/iiimf-le-freewnn/files/patch-leif_Makefile.am b/japanese/iiimf-le-freewnn/files/patch-leif_Makefile.am new file mode 100644 index 0000000..710a4d8 --- /dev/null +++ b/japanese/iiimf-le-freewnn/files/patch-leif_Makefile.am @@ -0,0 +1,8 @@ +--- leif/Makefile.am.orig Fri May 13 15:45:41 2005 ++++ leif/Makefile.am Fri May 13 15:46:03 2005 +@@ -1,4 +1,4 @@ + AUTOMAKE_OPTIONS = foreign + SUBDIRS = $(LE_TARGETS) + +-ACLOCAL_AMFLAGS = -I ../acfiles ++ACLOCAL_AMFLAGS = -I %%LOCALBASE%%/share/aclocal -I ../acfiles diff --git a/japanese/iiimf-le-freewnn/files/patch-leif_configure.ac b/japanese/iiimf-le-freewnn/files/patch-leif_configure.ac index a2cf10f..120f704 100644 --- a/japanese/iiimf-le-freewnn/files/patch-leif_configure.ac +++ b/japanese/iiimf-le-freewnn/files/patch-leif_configure.ac @@ -1,53 +1,28 @@ ---- leif/configure.ac.orig Wed Oct 6 23:00:36 2004 -+++ leif/configure.ac Thu Mar 24 18:13:32 2005 -@@ -44,15 +44,15 @@ +--- leif/configure.ac.orig Wed May 11 13:01:08 2005 ++++ leif/configure.ac Wed May 11 13:02:22 2005 +@@ -75,16 +75,16 @@ - IM_CHECK_SYSTEM - IM_CHECK_DLOPEN --IM_CHECK_CANNA -+dnl IM_CHECK_CANNA - IM_CHECK_FREEWNN + LDFLAGS="${COMMON_LDFLAGS} ${THREAD_LDFLAGS} ${LDFLAGS}" --IM_CHECK_X --IM_CHECK_GTK --IM_CHECK_MOTIF --PKG_CHECK_MODULES(GTK2, gtk+-2.0 gtk+-x11-2.0) --AC_SUBST(GTK2_CFLAGS) --AC_SUBST(GTK2_LIBS) -+dnl IM_CHECK_X -+dnl IM_CHECK_GTK -+dnl IM_CHECK_MOTIF -+dnl PKG_CHECK_MODULES(GTK2, gtk+-2.0 gtk+-x11-2.0) -+dnl AC_SUBST(GTK2_CFLAGS) -+dnl AC_SUBST(GTK2_LIBS) - - dnl -------------------------------------------------------------------------------- - dnl Section 5: compilation options -@@ -63,23 +63,16 @@ - - CFLAGS="${COMMON_CXX_CFLAGS} ${COMMON_CFLAGS} \ - ${DEBUG_CXX_CFLAGS} ${DEBUG_CFLAGS} \ -- ${THREAD_COMMON_CXX_CFLAGS}" -+ ${THREAD_COMMON_CXX_CFLAGS} ${CFLAGS}" - - CXXFLAGS="${COMMON_CXX_CFLAGS} ${COMMON_CXXFLAGS} \ - ${DEBUG_CXX_CFLAGS} ${DEBUG_CXXFLAGS} \ -- ${THREAD_COMMON_CXX_CFLAGS}" -+ ${THREAD_COMMON_CXX_CFLAGS} ${CXXFLAGS}" - --LDFLAGS="${COMMON_LDFLAGS} ${THREAD_LDFLAGS}" -+LDFLAGS="${COMMON_LDFLAGS} ${THREAD_LDFLAGS} ${LDFLAGS}" - --LE_TARGETS="default template sampleja sampleja2 sampleja3 newpy testEIMIL unit hangul chewing" +-LE_TARGETS="default template sampleja sampleja2 sampleja3 newpy testEIMIL unit hangul fop_test" +LE_TARGETS="freewnn" -IM_ADD_TARGET(LE_TARGETS, HAVE_CANNA, canna) -IM_ADD_TARGET(LE_TARGETS, HAVE_FREEWNN, freewnn) +-IM_ADD_TARGET(LE_TARGETS, HAVE_CHEWING, chewing) -IM_ADD_TARGET(LE_TARGETS, HAVE_X, sampleja3/xaux_common) -IM_ADD_TARGET(LE_TARGETS, HAVE_GTK, sampleja3/xaux_gtk) -IM_ADD_TARGET(LE_TARGETS, HAVE_MOTIF, newpy/xaux) -IM_ADD_TARGET(LE_TARGETS, HAVE_MOTIF, sampleja/xaux) -IM_ADD_TARGET(LE_TARGETS, HAVE_MOTIF, sampleja3/xaux_motif) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_CANNA, canna) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_FREEWNN, freewnn) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_CHEWING, chewing) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_X, sampleja3/xaux_common) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_GTK, sampleja3/xaux_gtk) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_MOTIF, newpy/xaux) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_MOTIF, sampleja/xaux) ++#IM_ADD_TARGET(LE_TARGETS, HAVE_MOTIF, sampleja3/xaux_motif) dnl -------------------------------------------------------------------------------- dnl Section 6: compilation test diff --git a/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_Makefile.am b/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_Makefile.am deleted file mode 100644 index 88801a9..0000000 --- a/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ ---- leif/freewnn/Makefile.am.orig Wed Mar 2 23:48:30 2005 -+++ leif/freewnn/Makefile.am Wed Mar 2 23:49:21 2005 -@@ -3,7 +3,8 @@ - -DNO_COLOR_FEEDBACK -DNO_CARET_NEGO \ - -I$(IM_INCLUDEDIR)/iml \ - -I$(CSCONV_DIR) \ -- -I/usr/include/wnn -+ -DLOCALBASE="\"${LOCALBASE}\"" \ -+ -DIMDIR="\"${IMDIR}\"" - FreeWnnLE_la_LDFLAGS = -module -rpath $(IM_LEIFDIR) $(SHLIBLDFLAGS) $(THREAD_LDFLAGS) - FreeWnnLE_la_LIBADD = -lwnn $(THREAD_LIBS) - FreeWnnLE_la_SOURCES = freewnn.c diff --git a/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_freewnn.c b/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_freewnn.c index 255f856..e7b91d4 100644 --- a/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_freewnn.c +++ b/japanese/iiimf-le-freewnn/files/patch-leif_freewnn_freewnn.c @@ -1,18 +1,15 @@ ---- leif/freewnn/freewnn.c.orig Mon Oct 4 19:13:52 2004 -+++ leif/freewnn/freewnn.c Sun Feb 20 15:43:20 2005 -@@ -59,9 +59,9 @@ +--- leif/freewnn/freewnn.c.orig Sun Mar 20 11:41:29 2005 ++++ leif/freewnn/freewnn.c Wed May 18 01:20:56 2005 +@@ -59,7 +59,7 @@ #define BUFSIZE 1024 #endif -#define WNNRCFILE "/etc/FreeWnn/ja/wnnenvrc" -+#define WNNRCFILE (LOCALBASE "/lib/wnn/ja_JP/wnnenvrc") ++#define WNNRCFILE "%%LOCALBASE%%" "/lib/wnn/ja_JP/wnnenvrc" --#define CSC_PATH "/usr/lib/im/csconv/csconv.so" -+#define CSC_PATH (IMDIR "/csconv/csconv.so") #define CSC_OPEN_LOCALE "csconv_open_locale" #define CSC_OPEN "csconv_open" - #define CSC_CONV "csconv" -@@ -163,7 +163,7 @@ +@@ -162,7 +162,7 @@ int count = 0; if( str == NULL ) return NULL; @@ -21,7 +18,7 @@ for(i=0;i<strlen(str);i++) { count++; -@@ -202,7 +202,7 @@ +@@ -201,7 +201,7 @@ if( wstr == NULL ) return NULL; @@ -30,3 +27,114 @@ for(i=0;wstr[i] != 0;i++) count++; +@@ -388,14 +388,14 @@ + + UTFCHAR* + UTF8_to_UTFCHAR(unsigned char* str) { +- UTFCHAR *p, *ustr = NULL; ++ UTFCHAR *ustr = NULL; + int len, ulen; + + const char *csc_arg_str_ccp; /* For compiler optimization */ + char *csc_arg_str_cp; /* For compiler optimization */ + + if( str == NULL ) return NULL; +- if( *str == '\0' ) return NULL; ++ if( *str == '\0' ) return ""; + + if( csconv_utf8_cd == NULL ) { + csconv_utf8_cd = csc_open("UTF-16", "UTF-8"); +@@ -408,30 +408,34 @@ + len = strlen(str); + + ulen = sizeof(UTFCHAR)*(len+1); +- p = ustr = (UTFCHAR*)calloc(len+1, sizeof(UTFCHAR)); ++ ustr = (UTFCHAR*)malloc(ulen); ++ if (!ustr) return NULL; ++ memset(ustr, 0, ulen); ++ ulen--; + + /* Below 2 lines are to prevent gcc's warning and for the sake + of compiler optimization */ + csc_arg_str_ccp = (const char*)str; + csc_arg_str_cp = (char*)ustr; + +- csc_conv(csconv_utf8_cd, &csc_arg_str_ccp, &len, &csc_arg_str_cp, &ulen); +- +- *ustr = 0; ++ if ((size_t)-1 == csc_conv(csconv_utf8_cd, &csc_arg_str_ccp, &len, &csc_arg_str_cp, &ulen)) { ++ free(ustr); ++ return NULL; ++ } + +- return p; ++ return ustr; + } + + UTFCHAR* + euc2UTFCHAR(unsigned char* str) { +- UTFCHAR *p, *ustr = NULL; ++ UTFCHAR *ustr = NULL; + int len, ulen; + + const char *csc_arg_str_ccp; /* For compiler optimization */ + char *csc_arg_str_cp; /* For compiler optimization */ + + if( str == NULL ) return NULL; +- if( *str == '\0' ) return NULL; ++ if( *str == '\0' ) return ""; + + if( csconv_cd == NULL ) { + csconv_cd = csc_open_locale("ja_JP.eucJP", "UTF-16", "MultiByte"); +@@ -444,18 +448,22 @@ + len = strlen(str); + + ulen = sizeof(UTFCHAR)*(len+1); +- p = ustr = (UTFCHAR*)calloc(len+1, sizeof(UTFCHAR)); ++ ustr = (UTFCHAR*)malloc(ulen); ++ if (!ustr) return NULL; ++ memset(ustr, 0, ulen); ++ ulen--; + + /* Below 2 lines are to prevent gcc's warning and for the sake + of compiler optimization */ + csc_arg_str_ccp = (const char*)str; + csc_arg_str_cp = (char*)ustr; + +- csc_conv(csconv_cd, &csc_arg_str_ccp, &len, &csc_arg_str_cp, &ulen); +- +- *ustr = 0; ++ if ((size_t)-1 == csc_conv(csconv_cd, &csc_arg_str_ccp, &len, &csc_arg_str_cp, &ulen)) { ++ free(ustr); ++ return NULL; ++ } + +- return p; ++ return ustr; + } + + IMText* +@@ -466,7 +474,10 @@ + ustr = UTF8_to_UTFCHAR(str); + + p = create_IMText(s, ustrlen(ustr)); +- memcpy(p->text.utf_chars, ustr, (ustrlen(ustr)+1)*sizeof(UTFCHAR)); ++ if (p && ustr) { ++ memcpy(p->text.utf_chars, ustr, (ustrlen(ustr)+1)*sizeof(UTFCHAR)); ++ } ++ if (ustr) free(ustr); + + return p; + } +@@ -479,7 +490,10 @@ + ustr = euc2UTFCHAR(str); + + p = create_IMText(s, ustrlen(ustr)); +- memcpy(p->text.utf_chars, ustr, (ustrlen(ustr)+1)*sizeof(UTFCHAR)); ++ if (p && ustr) { ++ memcpy(p->text.utf_chars, ustr, (ustrlen(ustr)+1)*sizeof(UTFCHAR)); ++ } ++ if (ustr) free(ustr); + + return p; + } diff --git a/japanese/iiimf-le-freewnn/pkg-plist b/japanese/iiimf-le-freewnn/pkg-plist index 9a46912..fdc944d 100644 --- a/japanese/iiimf-le-freewnn/pkg-plist +++ b/japanese/iiimf-le-freewnn/pkg-plist @@ -1,2 +1,3 @@ -lib/im/leif/FreeWnnLE.so -@unexec rmdir %D/lib/im/leif > /dev/null 2>&1 || true +lib/iiim/le/FreeWnnLE/FreeWnnLE.so +@dirrm lib/iiim/le/FreeWnnLE +@unexec rmdir %D/lib/iiim/le > /dev/null 2>&1 || true |