diff options
Diffstat (limited to 'Build/source/texk/ptexenc/patches/mendexk2.6f-ptexenc.patch')
-rw-r--r-- | Build/source/texk/ptexenc/patches/mendexk2.6f-ptexenc.patch | 2704 |
1 files changed, 0 insertions, 2704 deletions
diff --git a/Build/source/texk/ptexenc/patches/mendexk2.6f-ptexenc.patch b/Build/source/texk/ptexenc/patches/mendexk2.6f-ptexenc.patch deleted file mode 100644 index 00403e545d0..00000000000 --- a/Build/source/texk/ptexenc/patches/mendexk2.6f-ptexenc.patch +++ /dev/null @@ -1,2704 +0,0 @@ -Index: mendex.1 -=================================================================== ---- mendexk2.6e.orig/mendex.1 -+++ mendexk2.6e/mendex.1 -@@ -59,6 +59,9 @@ - .TP 10 - \fB-S\fR - 漢字コードをShiftJISに指定します。入力ファイル、出力ファイルともShiftJISとして扱います。 -+.TP 10 -+\fB-U\fR -+漢字コードをUTF-8に指定します。入力ファイル、出力ファイルともUTF-8として扱います。 - - - .SH スタイルファイル -Index: configure -=================================================================== ---- mendexk2.6e.orig/configure -+++ mendexk2.6e/configure -@@ -1,9 +1,7 @@ - #! /bin/sh - # Guess values for system-dependent variables and create Makefiles. --# Generated by GNU Autoconf 2.63 for makeindex for TeX Live 2.15. -+# Generated by GNU Autoconf 2.63 for mendex for TeX Live 2.6f. - # --# Report bugs to <tex-k@tug.org>. --# - # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, - # 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. - # This configure script is free software; the Free Software Foundation -@@ -743,13 +741,13 @@ - SHELL=${CONFIG_SHELL-/bin/sh} - - # Identity of this package. --PACKAGE_NAME='makeindex for TeX Live' --PACKAGE_TARNAME='makeindex-for-tex-live' --PACKAGE_VERSION='2.15' --PACKAGE_STRING='makeindex for TeX Live 2.15' --PACKAGE_BUGREPORT='tex-k@tug.org' -+PACKAGE_NAME='mendex for TeX Live' -+PACKAGE_TARNAME='mendex-for-tex-live' -+PACKAGE_VERSION='2.6f' -+PACKAGE_STRING='mendex for TeX Live 2.6f' -+PACKAGE_BUGREPORT='' - --ac_unique_file="mkind.c" -+ac_unique_file="main.c" - # Factoring default headers for most tests. - ac_includes_default="\ - #include <stdio.h> -@@ -790,6 +788,10 @@ - am__EXEEXT_TRUE - LTLIBOBJS - LIBOBJS -+PTEXENC_RULE -+PTEXENC_DEPEND -+PTEXENC_LIBS -+PTEXENC_INCLUDES - KPATHSEA_RULE - KPATHSEA_DEPEND - KPATHSEA_LIBS -@@ -1480,7 +1482,7 @@ - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF --\`configure' configures makeindex for TeX Live 2.15 to adapt to many kinds of systems. -+\`configure' configures mendex for TeX Live 2.6f to adapt to many kinds of systems. - - Usage: $0 [OPTION]... [VAR=VALUE]... - -@@ -1529,7 +1531,7 @@ - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root -- [DATAROOTDIR/doc/makeindex-for-tex-live] -+ [DATAROOTDIR/doc/mendex-for-tex-live] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] -@@ -1551,7 +1553,7 @@ - - if test -n "$ac_init_help"; then - case $ac_init_help in -- short | recursive ) echo "Configuration of makeindex for TeX Live 2.15:";; -+ short | recursive ) echo "Configuration of mendex for TeX Live 2.6f:";; - esac - cat <<\_ACEOF - -@@ -1598,7 +1600,6 @@ - Use these variables to override the choices made by `configure' or to help - it to find libraries and programs with nonstandard names/locations. - --Report bugs to <tex-k@tug.org>. - _ACEOF - ac_status=$? - fi -@@ -1661,7 +1662,7 @@ - test -n "$ac_init_help" && exit $ac_status - if $ac_init_version; then - cat <<\_ACEOF --makeindex for TeX Live configure 2.15 -+mendex for TeX Live configure 2.6f - generated by GNU Autoconf 2.63 - - Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -@@ -1675,7 +1676,7 @@ - This file contains any messages produced by compilers while - running configure, to aid debugging if configure makes a mistake. - --It was created by makeindex for TeX Live $as_me 2.15, which was -+It was created by mendex for TeX Live $as_me 2.6f, which was - generated by GNU Autoconf 2.63. Invocation command line was - - $ $0 $@ -@@ -4328,13 +4329,13 @@ - else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext -- (eval echo "\"\$as_me:4331: $ac_compile\"" >&5) -+ (eval echo "\"\$as_me:4332: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 -- (eval echo "\"\$as_me:4334: $NM \\\"conftest.$ac_objext\\\"\"" >&5) -+ (eval echo "\"\$as_me:4335: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 -- (eval echo "\"\$as_me:4337: output\"" >&5) -+ (eval echo "\"\$as_me:4338: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" -@@ -5540,7 +5541,7 @@ - ;; - *-*-irix6*) - # Find out which ABI we are using. -- echo '#line 5543 "configure"' > conftest.$ac_ext -+ echo '#line 5544 "configure"' > conftest.$ac_ext - if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 - (eval $ac_compile) 2>&5 - ac_status=$? -@@ -6934,8 +6935,8 @@ - - - # Define the identity of the package. -- PACKAGE='makeindex-for-tex-live' -- VERSION='2.15' -+ PACKAGE='mendex-for-tex-live' -+ VERSION='2.6f' - - - # Some tools Automake needs. -@@ -7492,11 +7493,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:7495: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:7496: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:7499: \$? = $ac_status" >&5 -+ echo "$as_me:7500: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. -@@ -7831,11 +7832,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:7834: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:7835: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 -- echo "$as_me:7838: \$? = $ac_status" >&5 -+ echo "$as_me:7839: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. -@@ -7936,11 +7937,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:7939: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:7940: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:7943: \$? = $ac_status" >&5 -+ echo "$as_me:7944: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized -@@ -7991,11 +7992,11 @@ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` -- (eval echo "\"\$as_me:7994: $lt_compile\"" >&5) -+ (eval echo "\"\$as_me:7995: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 -- echo "$as_me:7998: \$? = $ac_status" >&5 -+ echo "$as_me:7999: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized -@@ -10791,7 +10792,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 10794 "configure" -+#line 10795 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -10887,7 +10888,7 @@ - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 10890 "configure" -+#line 10891 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -12237,12 +12238,7 @@ - $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 - $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -- ( cat <<\_ASBOX --## ---------------------------- ## --## Report this to tex-k@tug.org ## --## ---------------------------- ## --_ASBOX -- ) | sed "s/^/$as_me: WARNING: /" >&2 -+ - ;; - esac - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -@@ -12934,9 +12930,7 @@ - - - -- -- --for ac_header in ctype.h types.h locale.h -+for ac_header in strings.h - do - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` - if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then -@@ -13054,12 +13048,7 @@ - $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} - { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 - $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} -- ( cat <<\_ASBOX --## ---------------------------- ## --## Report this to tex-k@tug.org ## --## ---------------------------- ## --_ASBOX -- ) | sed "s/^/$as_me: WARNING: /" >&2 -+ - ;; - esac - { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 -@@ -13086,10 +13075,7 @@ - - done - -- -- -- --for ac_func in strchr strrchr setlocale -+for ac_func in - do - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` - { $as_echo "$as_me:$LINENO: checking for $ac_func" >&5 -@@ -13529,7 +13515,7 @@ - Report bugs to <bug-libtool@gnu.org>." - - lt_cl_version="\ --makeindex for TeX Live config.lt 2.15 -+mendex for TeX Live config.lt 2.6f - configured by $0, generated by GNU Autoconf 2.63. - - Copyright (C) 2008 Free Software Foundation, Inc. -@@ -14529,7 +14515,22 @@ - cd ${top_builddir}/../kpathsea && $(MAKE) $(AM_MAKEFLAGS)' - fi - -+## _KPSE_LIB_FLAGS: Setup ptexenc (-lptexenc) flags -+ PTEXENC_INCLUDES=`echo '-IBLD/texk -ISRC/texk' | sed \ -+ -e "s,SRC/,$kpse_SRC/,g" \ -+ -e "s,BLD/,$kpse_BLD/,g"` -+ PTEXENC_LIBS=`echo 'BLD/texk/ptexenc/libptexenc.la' | sed \ -+ -e "s,BLD/,$kpse_BLD/,g"` - -+ PTEXENC_DEPEND=`echo 'BLD/texk/ptexenc/libptexenc.la' | sed \ -+ -e 's,BLD/,${top_builddir}/../../,g'` -+ PTEXENC_RULE='# Rebuild libptexenc -+$(PTEXENC_DEPEND): ${top_srcdir}/../ptexenc/*.[ch] ${top_builddir}/../ptexenc/ptexenc.h -+ cd ${top_builddir}/../../libs/ptexenc && $(MAKE) $(AM_MAKEFLAGS) -+${top_builddir}/../ptexenc/ptexenc.h: -+ cd ${top_builddir}/../../libs/ptexenc && $(MAKE) $(AM_MAKEFLAGS)' -+ -+ - ac_config_files="$ac_config_files Makefile" - - -@@ -14981,7 +14982,7 @@ - # report actual input values of CONFIG_FILES etc. instead of their - # values after options handling. - ac_log=" --This file was extended by makeindex for TeX Live $as_me 2.15, which was -+This file was extended by mendex for TeX Live $as_me 2.6f, which was - generated by GNU Autoconf 2.63. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES -@@ -15044,7 +15045,7 @@ - _ACEOF - cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_cs_version="\\ --makeindex for TeX Live config.status 2.15 -+mendex for TeX Live config.status 2.6f - configured by $0, generated by GNU Autoconf 2.63, - with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" - -Index: fwrite.c -=================================================================== ---- mendexk2.6e.orig/fwrite.c -+++ mendexk2.6e/fwrite.c -@@ -1,23 +1,79 @@ - #include <stdio.h> - #include <stdlib.h> - #include <string.h> -+#include <stdarg.h> - -+#include <kpathsea/config.h> -+#include <ptexenc/ptexenc.h> -+#include "mendex.h" -+ - #include "exkana.h" - #include "exvar.h" - - int line_length=0; - --char *convcode(); --int convputs(); -+static void printpage(struct index *ind, FILE *fp, int num, char *lbuff); -+static int range_check(struct index ind, int count, char *lbuff); -+static void linecheck(char *lbuff, char *tmpbuff); -+static void crcheck(char *lbuff, FILE *fp); - --int indwrite(filename,ind,pagenum) -+#define TAIL(x) (x+strlen(x)) -+ -+/* if we don't have vsnprintf() */ -+/* #define vsnprintf(buff,len,format,argptr) vsprintf(buff,format,argptr) */ -+ -+/* fprintf with convert kanji code */ -+int fprintf2(FILE *fp, const char *format, ...) -+{ -+ char print_buff[8000]; -+ va_list argptr; -+ int n; -+ -+ va_start(argptr, format); -+ n = vsnprintf(print_buff, sizeof print_buff, format, argptr); -+ va_end(argptr); -+ -+ fputs(print_buff, fp); -+ return n; -+} -+ -+int warn_printf(FILE *fp, const char *format, ...) -+{ -+ char print_buff[8000]; -+ va_list argptr; -+ int n; -+ -+ va_start(argptr, format); -+ n = vsnprintf(print_buff, sizeof print_buff, format, argptr); -+ va_end(argptr); -+ -+ warn++; -+ fputs(print_buff, stderr); -+ if (fp!=stderr) fputs(print_buff, fp); -+ return n; -+} -+ -+int verb_printf(FILE *fp, const char *format, ...) -+{ -+ char print_buff[8000]; -+ va_list argptr; -+ int n; -+ -+ va_start(argptr, format); -+ n = vsnprintf(print_buff, sizeof print_buff, format, argptr); -+ va_end(argptr); -+ -+ if (verb!=0) fputs(print_buff, stderr); -+ if (fp!=stderr) fputs(print_buff, fp); -+ return n; -+} -+ -+ - /* write ind file */ --char *filename; --struct index *ind; --int pagenum; -+void indwrite(char *filename, struct index *ind, int pagenum) - { -- int i,j,k,cc,hpoint=0; -- unsigned char datama[256],lbuff[4096],tmp[4096]; -+ int i,j,hpoint=0; -+ unsigned char datama[256],lbuff[4096]; - FILE *fp; - - if (filename[0]!='\0') fp=fopen(filename,"w"); -@@ -44,7 +100,7 @@ - fprintf(fp,"%s%s%s",lethead_prefix,symhead_negative,lethead_suffix); - } - } -- sprintf(lbuff,"%s%s",item_0,convcode(ind[i].idx[0])); -+ sprintf(lbuff,"%s%s",item_0,ind[i].idx[0]); - } - else if (alphabet(ind[i].dic[0][0])) { - if (lethead_flag>0) { -@@ -53,26 +109,24 @@ - else if (lethead_flag<0) { - fprintf(fp,"%s%c%s",lethead_prefix,ind[i].dic[0][0]+32,lethead_suffix); - } -- sprintf(lbuff,"%s%s",item_0,convcode(ind[i].idx[0])); -+ sprintf(lbuff,"%s%s",item_0,ind[i].idx[0]); - } - else if (japanese(ind[i].dic[0])) { - if (lethead_flag) { - fputs(lethead_prefix,fp); - for (j=hpoint;j<(strlen(datama)/2);j++) { - if (ind[i].dic[0][1]<datama[j*2+1]) { -- sprintf(tmp,"%c%c",atama[(j-1)*2],atama[(j-1)*2+1]); -- convputs(tmp,fp); -+ fprintf(fp,"%c%c",atama[(j-1)*2],atama[(j-1)*2+1]); - hpoint=j; - break; - } - } - if (j==(strlen(datama)/2)) { -- sprintf(tmp,"%c%c",atama[(j-1)*2],atama[(j-1)*2+1]); -- convputs(tmp,fp); -+ fprintf(fp,"%c%c",atama[(j-1)*2],atama[(j-1)*2+1]); - } - fputs(lethead_suffix,fp); - } -- sprintf(lbuff,"%s%s",item_0,convcode(ind[i].idx[0])); -+ sprintf(lbuff,"%s%s",item_0,ind[i].idx[0]); - for (hpoint=0;hpoint<(strlen(datama)/2);hpoint++) { - if (ind[i].dic[0][1]<datama[hpoint*2+1]) { - break; -@@ -81,18 +135,18 @@ - } - switch (ind[i].words) { - case 1: -- sprintf(&lbuff[strlen(lbuff)],"%s",delim_0); -+ sprintf(TAIL(lbuff),"%s",delim_0); - break; - - case 2: -- sprintf(&lbuff[strlen(lbuff)],"%s%s",item_x1,convcode(ind[i].idx[1])); -- sprintf(&lbuff[strlen(lbuff)],"%s",delim_1); -+ sprintf(TAIL(lbuff),"%s%s",item_x1,ind[i].idx[1]); -+ sprintf(TAIL(lbuff),"%s",delim_1); - break; - - case 3: -- sprintf(&lbuff[strlen(lbuff)],"%s%s",item_x1,convcode(ind[i].idx[1])); -- sprintf(&lbuff[strlen(lbuff)],"%s%s",item_x2,convcode(ind[i].idx[2])); -- sprintf(&lbuff[strlen(lbuff)],"%s",delim_2); -+ sprintf(TAIL(lbuff),"%s%s",item_x1,ind[i].idx[1]); -+ sprintf(TAIL(lbuff),"%s%s",item_x2,ind[i].idx[2]); -+ sprintf(TAIL(lbuff),"%s",delim_2); - break; - - default: -@@ -131,8 +185,7 @@ - fputs(group_skip,fp); - if (lethead_flag!=0) { - fputs(lethead_prefix,fp); -- sprintf(tmp,"%c%c",atama[(j-1)*2],atama[(j-1)*2+1]); -- convputs(tmp,fp); -+ fprintf(fp,"%c%c",atama[(j-1)*2],atama[(j-1)*2+1]); - fputs(lethead_suffix,fp); - } - } -@@ -141,8 +194,7 @@ - fputs(group_skip,fp); - if (lethead_flag!=0) { - fputs(lethead_prefix,fp); -- sprintf(tmp,"%c%c",ind[i].dic[0][0],ind[i].dic[0][1]); -- convputs(tmp,fp); -+ fprintf(fp,"%c%c",ind[i].dic[0][0],ind[i].dic[0][1]); - fputs(lethead_suffix,fp); - } - } -@@ -150,41 +202,41 @@ - - switch (ind[i].words) { - case 1: -- sprintf(&lbuff[strlen(lbuff)],"%s%s%s",item_0,convcode(ind[i].idx[0]),delim_0); -+ sprintf(TAIL(lbuff),"%s%s%s",item_0,ind[i].idx[0],delim_0); - break; - - case 2: - if (strcmp(ind[i-1].idx[0],ind[i].idx[0])!=0 || strcmp(ind[i-1].dic[0],ind[i].dic[0])!=0) { -- sprintf(&lbuff[strlen(lbuff)],"%s%s%s",item_0,convcode(ind[i].idx[0]),item_x1); -+ sprintf(TAIL(lbuff),"%s%s%s",item_0,ind[i].idx[0],item_x1); - } - else { - if (ind[i-1].words==1) { -- sprintf(&lbuff[strlen(lbuff)],"%s",item_01); -+ sprintf(TAIL(lbuff),"%s",item_01); - } - else { -- sprintf(&lbuff[strlen(lbuff)],"%s",item_1); -+ sprintf(TAIL(lbuff),"%s",item_1); - } - } -- sprintf(&lbuff[strlen(lbuff)],"%s",convcode(ind[i].idx[1])); -- sprintf(&lbuff[strlen(lbuff)],"%s",delim_1); -+ sprintf(TAIL(lbuff),"%s",ind[i].idx[1]); -+ sprintf(TAIL(lbuff),"%s",delim_1); - break; - - case 3: - if (strcmp(ind[i-1].idx[0],ind[i].idx[0])!=0 || strcmp(ind[i-1].dic[0],ind[i].dic[0])!=0) { -- sprintf(&lbuff[strlen(lbuff)],"%s%s",item_0,convcode(ind[i].idx[0])); -- sprintf(&lbuff[strlen(lbuff)],"%s%s%s",item_x1,convcode(ind[i].idx[1]),item_x2); -+ sprintf(TAIL(lbuff),"%s%s",item_0,ind[i].idx[0]); -+ sprintf(TAIL(lbuff),"%s%s%s",item_x1,ind[i].idx[1],item_x2); - } - else if (ind[i-1].words==1) { -- sprintf(&lbuff[strlen(lbuff)],"%s%s%s",item_01,convcode(ind[i].idx[1]),item_x2); -+ sprintf(TAIL(lbuff),"%s%s%s",item_01,ind[i].idx[1],item_x2); - } - else if (strcmp(ind[i-1].idx[1],ind[i].idx[1])!=0 || strcmp(ind[i-1].dic[1],ind[i].dic[1])!=0) { -- if (ind[i-1].words==2) sprintf(&lbuff[strlen(lbuff)],"%s%s%s",item_1,convcode(ind[i].idx[1]),item_12); -- else sprintf(&lbuff[strlen(lbuff)],"%s%s%s",item_1,convcode(ind[i].idx[1]),item_x2); -+ if (ind[i-1].words==2) sprintf(TAIL(lbuff),"%s%s%s",item_1,ind[i].idx[1],item_12); -+ else sprintf(TAIL(lbuff),"%s%s%s",item_1,ind[i].idx[1],item_x2); - } - else { -- sprintf(&lbuff[strlen(lbuff)],"%s",item_2); -+ sprintf(TAIL(lbuff),"%s",item_2); - } -- sprintf(&lbuff[strlen(lbuff)],"%s%s",convcode(ind[i].idx[2]),delim_2); -+ sprintf(TAIL(lbuff),"%s%s",ind[i].idx[2],delim_2); - break; - - default: -@@ -198,15 +250,11 @@ - if (filename[0]!='\0') fclose(fp); - } - --int printpage(ind,fp,num,lbuff) - /* write page block */ --struct index *ind; --FILE *fp; --int num; --char *lbuff; -+static void printpage(struct index *ind, FILE *fp, int num, char *lbuff) - { -- int i,j,k,cc,eflg,cflg; -- char buff[4096],tmpbuff[4096],errbuff[4096],tmp[4096]; -+ int i,j,k,cc; -+ char buff[4096],tmpbuff[4096],errbuff[4096]; - - buff[0]=tmpbuff[0]='\0'; - -@@ -225,25 +273,25 @@ - || ind[num].p[j].enc[0]==range_close) - ind[num].p[j].enc++; - if (strlen(ind[num].p[j].enc)>0) { -- sprintf(buff,"%s%s%s",encap_prefix,convcode(ind[num].p[j].enc),encap_infix); -+ sprintf(buff,"%s%s%s",encap_prefix,ind[num].p[j].enc,encap_infix); - } - if (strlen(suffix_3p)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))==2) { -- sprintf(&buff[strlen(buff)],"%s%s",convcode(ind[num].p[j].page),suffix_3p); -+ sprintf(TAIL(buff),"%s%s",ind[num].p[j].page,suffix_3p); - } - else if (strlen(suffix_mp)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))>=2) { -- sprintf(&buff[strlen(buff)],"%s%s",convcode(ind[num].p[j].page),suffix_mp); -+ sprintf(TAIL(buff),"%s%s",ind[num].p[j].page,suffix_mp); - } - else if (strlen(suffix_2p)>0 && (pnumconv(ind[num].p[cc].page,ind[num].p[cc].attr[0])-pnumconv(ind[num].p[j].page,ind[num].p[j].attr[0]))==1) { -- sprintf(&buff[strlen(buff)],"%s%s",convcode(ind[num].p[j].page),suffix_2p); -+ sprintf(TAIL(buff),"%s%s",ind[num].p[j].page,suffix_2p); - } - else { -- sprintf(&buff[strlen(buff)],"%s%s",convcode(ind[num].p[j].page),delim_r); -- sprintf(&buff[strlen(buff)],"%s",convcode(ind[num].p[cc].page)); -+ sprintf(TAIL(buff),"%s%s",ind[num].p[j].page,delim_r); -+ sprintf(TAIL(buff),"%s",ind[num].p[cc].page); - } -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s",buff); -+ sprintf(TAIL(tmpbuff),"%s",buff); - buff[0]='\0'; - if (strlen(ind[num].p[j].enc)>0) { -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s",encap_suffix); -+ sprintf(TAIL(tmpbuff),"%s",encap_suffix); - } - linecheck(lbuff,tmpbuff); - j=cc; -@@ -251,7 +299,7 @@ - goto PRINT; - } - else { -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s",delim_n); -+ sprintf(TAIL(tmpbuff),"%s",delim_n); - linecheck(lbuff,tmpbuff); - } - } -@@ -259,51 +307,45 @@ - /* normal encap */ - if (ind[num].p[j].enc[0]==range_close) { - sprintf(errbuff,"Warning: Unmatched range closing operator \'%c\',",range_close); -- for (i=0;i<ind[num].words;i++) sprintf(&errbuff[strlen(errbuff)],"%s.",convcode(ind[num].idx[i])); -- fprintf(efp,"%s\n",errbuff); -- if (efp!=stderr) fprintf(stderr,"%s\n",errbuff); -- warn++; -+ for (i=0;i<ind[num].words;i++) sprintf(TAIL(errbuff),"%s.",ind[num].idx[i]); -+ warn_printf(efp, "%s\n", errbuff); - ind[num].p[j].enc++; - } - if (strlen(ind[num].p[j].enc)>0) { -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s%s%s",encap_prefix,convcode(ind[num].p[j].enc),encap_infix); -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s%s%s",convcode(ind[num].p[j].page),encap_suffix,delim_n); -+ sprintf(TAIL(tmpbuff),"%s%s%s",encap_prefix,ind[num].p[j].enc,encap_infix); -+ sprintf(TAIL(tmpbuff),"%s%s%s",ind[num].p[j].page,encap_suffix,delim_n); - linecheck(lbuff,tmpbuff); - } - else { -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s%s",convcode(ind[num].p[j].page),delim_n); -+ sprintf(TAIL(tmpbuff),"%s%s",ind[num].p[j].page,delim_n); - linecheck(lbuff,tmpbuff); - } - } - else { - /* no encap */ -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s%s",convcode(ind[num].p[j].page),delim_n); -+ sprintf(TAIL(tmpbuff),"%s%s",ind[num].p[j].page,delim_n); - linecheck(lbuff,tmpbuff); - } - } - - if (ind[num].p[j].enc[0]==range_open) { - sprintf(errbuff,"Warning: Unmatched range opening operator \'%c\',",range_open); -- for (k=0;k<ind[num].words;k++) sprintf(&errbuff[strlen(errbuff)],"%s.",convcode(ind[num].idx[k])); -- fprintf(efp,"%s\n",errbuff); -- if (efp!=stderr) fprintf(stderr,"%s\n",errbuff); -- warn++; -+ for (k=0;k<ind[num].words;k++) sprintf(TAIL(errbuff),"%s.",ind[num].idx[k]); -+ warn_printf(efp, "%s\n", errbuff); - ind[num].p[j].enc++; - } - else if (ind[num].p[j].enc[0]==range_close) { - sprintf(errbuff,"Warning: Unmatched range closing operator \'%c\',",range_close); -- for (k=0;k<ind[num].words;k++) sprintf(&errbuff[strlen(errbuff)],"%s.",convcode(ind[num].idx[k])); -- fprintf(efp,"%s\n",errbuff); -- if (efp!=stderr) fprintf(stderr,"%s\n",errbuff); -- warn++; -+ for (k=0;k<ind[num].words;k++) sprintf(TAIL(errbuff),"%s.",ind[num].idx[k]); -+ warn_printf(efp, "%s\n", errbuff); - ind[num].p[j].enc++; - } - if (strlen(ind[num].p[j].enc)>0) { -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s%s%s",encap_prefix,convcode(ind[num].p[j].enc),encap_infix); -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s%s",convcode(ind[num].p[j].page),encap_suffix); -+ sprintf(TAIL(tmpbuff),"%s%s%s",encap_prefix,ind[num].p[j].enc,encap_infix); -+ sprintf(TAIL(tmpbuff),"%s%s",ind[num].p[j].page,encap_suffix); - } - else { -- sprintf(&tmpbuff[strlen(tmpbuff)],"%s",convcode(ind[num].p[j].page)); -+ sprintf(TAIL(tmpbuff),"%s",ind[num].p[j].page); - } - linecheck(lbuff,tmpbuff); - -@@ -313,21 +355,16 @@ - lbuff[0]='\0'; - } - --int range_check(ind,count,lbuff) --struct index ind; --int count; --char *lbuff; -+static int range_check(struct index ind, int count, char *lbuff) - { - int i,j,k,cc1,cc2,start,force=0; -- char buff[4096],tmpbuff[4096],errbuff[4096],tmp[4096]; -+ char tmpbuff[4096],errbuff[4096]; - - for (i=count;i<ind.num+1;i++) { - if (ind.p[i].enc[0]==range_close) { - sprintf(errbuff,"Warning: Unmatched range closing operator \'%c\',",range_close); -- sprintf(&errbuff[strlen(errbuff)],"%s.",convcode(ind.idx[0])); -- fprintf(efp,"%s\n",errbuff); -- if (efp!=stderr) fprintf(stderr,"%s\n",errbuff); -- warn++; -+ sprintf(TAIL(errbuff),"%s.",ind.idx[0]); -+ warn_printf(efp, "%s\n", errbuff); - ind.p[i].enc++; - } - if (ind.p[i].enc[0]==range_open) { -@@ -343,25 +380,21 @@ - } - else if (j!=i && ind.p[j].enc[0]==range_open) { - sprintf(errbuff,"Warning: Unmatched range opening operator \'%c\',",range_open); -- for (k=0;k<ind.words;k++) sprintf(&errbuff[strlen(errbuff)],"%s.",convcode(ind.idx[k])); -- fprintf(efp,"%s\n",errbuff); -- if (efp!=stderr) fprintf(stderr,"%s\n",errbuff); -- warn++; -+ for (k=0;k<ind.words;k++) sprintf(TAIL(errbuff),"%s.",ind.idx[k]); -+ warn_printf(efp, "%s\n", errbuff); - ind.p[j].enc++; - } - if (strlen(ind.p[j].enc)>0) { -- sprintf(tmpbuff,"%s%s%s",encap_prefix,convcode(ind.p[j].enc),encap_infix); -- sprintf(tmpbuff,"%s%s%s",convcode(ind.p[j].page),encap_suffix,delim_n); -+ sprintf(tmpbuff,"%s%s%s",encap_prefix,ind.p[j].enc,encap_infix); -+ sprintf(tmpbuff,"%s%s%s",ind.p[j].page,encap_suffix,delim_n); - linecheck(lbuff,tmpbuff); - } - } - } - if (j==ind.num+1) { - sprintf(errbuff,"Warning: Unmatched range opening operator \'%c\',",range_open); -- for (k=0;k<ind.words;k++) sprintf(&errbuff[strlen(errbuff)],"%s.",convcode(ind.idx[k])); -- fprintf(efp,"%s\n",errbuff); -- if (efp!=stderr) fprintf(stderr,"%s\n",errbuff); -- warn++; -+ for (k=0;k<ind.words;k++) sprintf(TAIL(errbuff),"%s.",ind.idx[k]); -+ warn_printf(efp, "%s\n", errbuff); - } - i=j-1; - } -@@ -388,27 +421,24 @@ - else return count; - } - --int linecheck(lbuff,tmpbuff) - /* check line length */ --char *lbuff,*tmpbuff; -+static void linecheck(char *lbuff, char *tmpbuff) - { - if (line_length+strlen(tmpbuff)>line_max) { -- sprintf(&lbuff[strlen(lbuff)],"\n%s%s",indent_space,tmpbuff); -+ sprintf(TAIL(lbuff),"\n%s%s",indent_space,tmpbuff); - line_length=indent_length+strlen(tmpbuff); - tmpbuff[0]='\0'; - } - else { -- sprintf(&lbuff[strlen(lbuff)],"%s",tmpbuff); -+ sprintf(TAIL(lbuff),"%s",tmpbuff); - line_length+=strlen(tmpbuff); - tmpbuff[0]='\0'; - } - } - --int crcheck(lbuff,fp) --char *lbuff; --FILE *fp; -+static void crcheck(char *lbuff, FILE *fp) - { -- int i,j,cc; -+ int i; - char buff[4096]; - - for (i=strlen(lbuff);i>=0;i--) { -@@ -422,65 +452,3 @@ - } - } - } -- --char *convcode(buff) --/* convert kanji code from EUC to output code */ --unsigned char *buff; --{ -- int i,j,cc,jflag=0; -- static unsigned char buff2[4096]; -- -- for (i=j=0;i<strlen(buff);i++,j++) { -- if (buff[i]=='\0') { -- break; -- } -- else if (buff[i]>=0x80) { -- if (kanji==Jis) { -- if (!jflag) { -- buff2[j++]=0x1b; -- buff2[j++]=0x24; -- buff2[j++]=0x42; -- jflag=1; -- } -- buff2[j++]=buff[i++]-0x80; -- buff2[j]=buff[i]-0x80; -- } -- else if (kanji==Sjis) { -- cc=buff[i]*256+buff[i+1]-0x8080; -- i++; -- cc=JIStoSJIS(cc); -- buff2[j++]=(cc>>8)&0xff; -- buff2[j]=cc&0xff; -- } -- else { -- buff2[j++]=buff[i++]; -- buff2[j]=buff[i]; -- } -- } -- else { -- if (jflag) { -- buff2[j++]=0x1b; -- buff2[j++]=0x28; -- buff2[j++]=0x42; -- jflag=0; -- } -- buff2[j]=buff[i]; -- } -- } -- if (jflag) { -- buff2[j++]=0x1b; -- buff2[j++]=0x28; -- buff2[j++]=0x42; -- jflag=0; -- } -- buff2[j]='\0'; -- return buff2; --} -- --int convputs(buff,fp) --/* fputs width convert kanji code */ --char *buff; --FILE *fp; --{ -- fputs(convcode(buff),fp); --} -Index: Makefile.in -=================================================================== ---- mendexk2.6e.orig/Makefile.in -+++ mendexk2.6e/Makefile.in -@@ -15,7 +15,6 @@ - - @SET_MAKE@ - -- - VPATH = @srcdir@ - pkgdatadir = $(datadir)/@PACKAGE@ - pkgincludedir = $(includedir)/@PACKAGE@ -@@ -35,10 +34,10 @@ - POST_UNINSTALL = : - build_triplet = @build@ - host_triplet = @host@ --bin_PROGRAMS = makeindex$(EXEEXT) -+bin_PROGRAMS = mendex$(EXEEXT) - subdir = . --DIST_COMMON = README $(am__configure_deps) $(dist_bin_SCRIPTS) \ -- $(dist_man1_MANS) $(srcdir)/../../build-aux/config.guess \ -+DIST_COMMON = README $(am__configure_deps) $(dist_man1_MANS) \ -+ $(srcdir)/../../build-aux/config.guess \ - $(srcdir)/../../build-aux/config.sub \ - $(srcdir)/../../build-aux/depcomp \ - $(srcdir)/../../build-aux/install-sh \ -@@ -50,11 +49,11 @@ - ../../build-aux/config.sub ../../build-aux/depcomp \ - ../../build-aux/install-sh ../../build-aux/ltmain.sh \ - ../../build-aux/missing ../../build-aux/mkinstalldirs \ -- ../../build-aux/texinfo.tex ../../build-aux/ylwrap COPYING \ -- ChangeLog INSTALL NEWS -+ ../../build-aux/texinfo.tex ../../build-aux/ylwrap ChangeLog - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/../../m4/kpse-common.m4 \ - $(top_srcdir)/../../m4/kpse-kpathsea-flags.m4 \ -+ $(top_srcdir)/../../m4/kpse-ptexenc-flags.m4 \ - $(top_srcdir)/../../m4/kpse-warnings.m4 \ - $(top_srcdir)/../../m4/libtool.m4 \ - $(top_srcdir)/../../m4/ltoptions.m4 \ -@@ -70,15 +69,29 @@ - CONFIG_HEADER = c-auto.h - CONFIG_CLEAN_FILES = - CONFIG_CLEAN_VPATH_FILES = --am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" \ -- "$(DESTDIR)$(man1dir)" -+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" - PROGRAMS = $(bin_PROGRAMS) --am_makeindex_OBJECTS = genind.$(OBJEXT) mkind.$(OBJEXT) \ -- qsort.$(OBJEXT) scanid.$(OBJEXT) scanst.$(OBJEXT) \ -- sortid.$(OBJEXT) --makeindex_OBJECTS = $(am_makeindex_OBJECTS) --makeindex_LDADD = $(LDADD) -+am_mendex_OBJECTS = convert.$(OBJEXT) fread.$(OBJEXT) fwrite.$(OBJEXT) \ -+ kp.$(OBJEXT) main.$(OBJEXT) pageread.$(OBJEXT) sort.$(OBJEXT) \ -+ styfile.$(OBJEXT) -+mendex_OBJECTS = $(am_mendex_OBJECTS) -+mendex_LDADD = $(LDADD) - am__DEPENDENCIES_1 = -+DEFAULT_INCLUDES = -I.@am__isrc@ -+depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp -+am__depfiles_maybe = depfiles -+am__mv = mv -f -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -+ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -+ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+CCLD = $(CC) -+LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -+ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ -+ $(LDFLAGS) -o $@ -+SOURCES = $(mendex_SOURCES) -+DIST_SOURCES = $(mendex_SOURCES) - am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; - am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ -@@ -100,22 +113,6 @@ - am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' --SCRIPTS = $(dist_bin_SCRIPTS) --DEFAULT_INCLUDES = -I.@am__isrc@ --depcomp = $(SHELL) $(top_srcdir)/../../build-aux/depcomp --am__depfiles_maybe = depfiles --am__mv = mv -f --COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) --LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -- --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ -- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) --CCLD = $(CC) --LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ -- --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ -- $(LDFLAGS) -o $@ --SOURCES = $(makeindex_SOURCES) --DIST_SOURCES = $(makeindex_SOURCES) - man1dir = $(mandir)/man1 - NROFF = nroff - MANS = $(dist_man1_MANS) -@@ -188,6 +185,9 @@ - PACKAGE_TARNAME = @PACKAGE_TARNAME@ - PACKAGE_VERSION = @PACKAGE_VERSION@ - PATH_SEPARATOR = @PATH_SEPARATOR@ -+PTEXENC_DEPEND = @PTEXENC_DEPEND@ -+PTEXENC_INCLUDES = @PTEXENC_INCLUDES@ -+PTEXENC_LIBS = @PTEXENC_LIBS@ - RANLIB = @RANLIB@ - SED = @SED@ - SET_MAKE = @SET_MAKE@ -@@ -248,26 +248,30 @@ - top_builddir = @top_builddir@ - top_srcdir = @top_srcdir@ - ACLOCAL_AMFLAGS = -I ../../m4 --INCLUDES = $(KPATHSEA_INCLUDES) --AM_CPPFLAGS = -DUNIX -DKPATHSEA -+INCLUDES = $(KPATHSEA_INCLUDES) $(PTEXENC_INCLUDES) -+AM_CPPFLAGS = -DKPATHSEA -DKPATHSEA3 - AM_CFLAGS = $(WARNING_CFLAGS) --dist_bin_SCRIPTS = mkindex --makeindex_SOURCES = \ -- genind.c \ -- genind.h \ -- mkind.c \ -- mkind.h \ -- qsort.c \ -- scanid.c \ -- scanid.h \ -- scanst.c \ -- scanst.h \ -- sortid.c -+mendex_SOURCES = \ -+ convert.c \ -+ exkana.h \ -+ exvar.h \ -+ fread.c \ -+ fwrite.c \ -+ kana.h \ -+ kp.c \ -+ kp.h \ -+ ktable.h \ -+ main.c \ -+ mendex.h \ -+ pageread.c \ -+ sort.c \ -+ styfile.c \ -+ var.h - --makeindex_DEPENDENCIES = $(KPATHSEA_DEPEND) --LDADD = $(KPATHSEA_LIBS) --dist_man1_MANS = makeindex.1 mkindex.1 --EXTRA_DIST = ACK CONTRIB FILES NOTES PORTING -+mendex_DEPENDENCIES = $(KPATHSEA_DEPEND) $(PTEXENC_DEPEND) -+LDADD = $(PTEXENC_LIBS) $(KPATHSEA_LIBS) -+dist_man1_MANS = mendex.1 -+EXTRA_DIST = COPYRIGHT COPYRIGHT.jis ChangeLog README - all: c-auto.h - $(MAKE) $(AM_MAKEFLAGS) all-am - -@@ -367,56 +371,24 @@ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list --makeindex$(EXEEXT): $(makeindex_OBJECTS) $(makeindex_DEPENDENCIES) -- @rm -f makeindex$(EXEEXT) -- $(LINK) $(makeindex_OBJECTS) $(makeindex_LDADD) $(LIBS) --install-dist_binSCRIPTS: $(dist_bin_SCRIPTS) -- @$(NORMAL_INSTALL) -- test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" -- @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ -- for p in $$list; do \ -- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ -- if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ -- done | \ -- sed -e 'p;s,.*/,,;n' \ -- -e 'h;s|.*|.|' \ -- -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ -- $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ -- { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ -- if ($$2 == $$4) { files[d] = files[d] " " $$1; \ -- if (++n[d] == $(am__install_max)) { \ -- print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ -- else { print "f", d "/" $$4, $$1 } } \ -- END { for (d in files) print "f", d, files[d] }' | \ -- while read type dir files; do \ -- if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ -- test -z "$$files" || { \ -- echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ -- $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ -- } \ -- ; done -+mendex$(EXEEXT): $(mendex_OBJECTS) $(mendex_DEPENDENCIES) -+ @rm -f mendex$(EXEEXT) -+ $(LINK) $(mendex_OBJECTS) $(mendex_LDADD) $(LIBS) - --uninstall-dist_binSCRIPTS: -- @$(NORMAL_UNINSTALL) -- @list='$(dist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ -- files=`for p in $$list; do echo "$$p"; done | \ -- sed -e 's,.*/,,;$(transform)'`; \ -- test -n "$$list" || exit 0; \ -- echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ -- cd "$(DESTDIR)$(bindir)" && rm -f $$files -- - mostlyclean-compile: - -rm -f *.$(OBJEXT) - - distclean-compile: - -rm -f *.tab.c - --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/genind.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkind.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qsort.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanid.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scanst.Po@am__quote@ --@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sortid.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convert.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fread.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fwrite.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/kp.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pageread.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sort.Po@am__quote@ -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/styfile.Po@am__quote@ - - .c.o: - @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@@ -695,9 +667,9 @@ - exit 1; } >&2 - check-am: all-am - check: check-am --all-am: Makefile $(PROGRAMS) $(SCRIPTS) $(MANS) c-auto.h -+all-am: Makefile $(PROGRAMS) $(MANS) c-auto.h - installdirs: -- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ -+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done - install: install-am -@@ -754,7 +726,7 @@ - - install-dvi-am: - --install-exec-am: install-binPROGRAMS install-dist_binSCRIPTS -+install-exec-am: install-binPROGRAMS - - install-html: install-html-am - -@@ -796,8 +768,7 @@ - - ps-am: - --uninstall-am: uninstall-binPROGRAMS uninstall-dist_binSCRIPTS \ -- uninstall-man -+uninstall-am: uninstall-binPROGRAMS uninstall-man - - uninstall-man: uninstall-man1 - -@@ -810,20 +781,20 @@ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ -- install-binPROGRAMS install-data install-data-am \ -- install-dist_binSCRIPTS install-dvi install-dvi-am \ -- install-exec install-exec-am install-html install-html-am \ -- install-info install-info-am install-man install-man1 \ -- install-pdf install-pdf-am install-ps install-ps-am \ -- install-strip installcheck installcheck-am installdirs \ -- maintainer-clean maintainer-clean-generic mostlyclean \ -- mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ -- pdf pdf-am ps ps-am tags uninstall uninstall-am \ -- uninstall-binPROGRAMS uninstall-dist_binSCRIPTS uninstall-man \ -+ install-binPROGRAMS install-data install-data-am install-dvi \ -+ install-dvi-am install-exec install-exec-am install-html \ -+ install-html-am install-info install-info-am install-man \ -+ install-man1 install-pdf install-pdf-am install-ps \ -+ install-ps-am install-strip installcheck installcheck-am \ -+ installdirs maintainer-clean maintainer-clean-generic \ -+ mostlyclean mostlyclean-compile mostlyclean-generic \ -+ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ -+ uninstall-am uninstall-binPROGRAMS uninstall-man \ - uninstall-man1 - - - @KPATHSEA_RULE@ -+@PTEXENC_RULE@ - - # Tell versions [3.59,3.63) of GNU make to not export all variables. - # Otherwise a system limit (for SysV at least) may be exceeded. -Index: ac/withenable.ac -=================================================================== ---- mendexk2.6e.orig/ac/withenable.ac -+++ mendexk2.6e/ac/withenable.ac -@@ -0,0 +1,7 @@ -+## texk/mendexk/ac/withenable.ac: configure.ac fragment for the TeX Live subdirectory texk/mendexk/ -+dnl -+dnl Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org> -+dnl You may freely use, modify and/or distribute this file. -+dnl -+## configure options and TL libraries required for makeindexk -+KPSE_ENABLE_PROG([mendexk], [kpathsea ptexenc]) -Index: pageread.c -=================================================================== ---- mendexk2.6e.orig/pageread.c -+++ mendexk2.6e/pageread.c -@@ -2,11 +2,10 @@ - #include <stdlib.h> - #include <string.h> - --int lastpage(filename) - /* checking last page */ --char *filename; -+int lastpage(char *filename) - { -- int i,j,cc,num= -1; -+ int i,cc,num= -1; - char logfile[32],numbuff[16]; - FILE *fp; - -Index: kp.c -=================================================================== ---- mendexk2.6e.orig/kp.c -+++ mendexk2.6e/kp.c -@@ -1,24 +1,10 @@ - /* Written by K.Asayayam Sep. 1995 */ - #ifdef KPATHSEA - -+#include <kpathsea/kpathsea.h> - #include <string.h> - #include "kp.h" - --/* C library functions. */ --extern char *getenv(); -- --/* Functions in kpathsea lib. */ --extern kpse_set_progname(); --extern char *kpse_cnf_get(); --extern char *kpse_path_expand(); --extern char *kpse_expand_default(); --extern char *kpse_path_search(); --extern char *find_suffix(); --extern char *concat3(); --#ifdef KPATHSEA3 --extern char *kpse_var_value(); --#endif -- - int - KP_init(prog) - char *prog; -@@ -42,6 +28,8 @@ - - #else - -+#include <stdlib.h> /* for getenv() */ -+ - /* KP_get_value(char *env,char *cnf,char *def_val) - ARGUMENTS: - char *env: name of environment variable. -Index: c-auto.in -=================================================================== ---- mendexk2.6e.orig/c-auto.in -+++ mendexk2.6e/c-auto.in -@@ -0,0 +1,159 @@ -+/* c-auto.in. Generated from configure.ac by autoheader. */ -+ -+/* Define to 1 if the `closedir' function returns void instead of `int'. */ -+#undef CLOSEDIR_VOID -+ -+/* Define to 1 if you have the <assert.h> header file. */ -+#undef HAVE_ASSERT_H -+ -+/* Define to 1 if you have the `bcmp' function. */ -+#undef HAVE_BCMP -+ -+/* Define to 1 if you have the `bcopy' function. */ -+#undef HAVE_BCOPY -+ -+/* Define to 1 if you have the `bzero' function. */ -+#undef HAVE_BZERO -+ -+/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'. -+ */ -+#undef HAVE_DIRENT_H -+ -+/* Define to 1 if you have the <dlfcn.h> header file. */ -+#undef HAVE_DLFCN_H -+ -+/* Define to 1 if you have the <float.h> header file. */ -+#undef HAVE_FLOAT_H -+ -+/* Define to 1 if fseeko (and presumably ftello) exists and is declared. */ -+#undef HAVE_FSEEKO -+ -+/* Define to 1 if you have the `getcwd' function. */ -+#undef HAVE_GETCWD -+ -+/* Define to 1 if you have the `getwd' function. */ -+#undef HAVE_GETWD -+ -+/* Define to 1 if you have the `index' function. */ -+#undef HAVE_INDEX -+ -+/* Define to 1 if you have the <inttypes.h> header file. */ -+#undef HAVE_INTTYPES_H -+ -+/* Define to 1 if you have the <limits.h> header file. */ -+#undef HAVE_LIMITS_H -+ -+/* Define to 1 if you have the `memcmp' function. */ -+#undef HAVE_MEMCMP -+ -+/* Define to 1 if you have the `memcpy' function. */ -+#undef HAVE_MEMCPY -+ -+/* Define to 1 if you have the <memory.h> header file. */ -+#undef HAVE_MEMORY_H -+ -+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */ -+#undef HAVE_NDIR_H -+ -+/* Define to 1 if you are using GNU libc or otherwise have global variables -+ `program_invocation_name' and `program_invocation_short_name'. */ -+#undef HAVE_PROGRAM_INVOCATION_NAME -+ -+/* Define to 1 if you have the `putenv' function. */ -+#undef HAVE_PUTENV -+ -+/* Define to 1 if you have the <pwd.h> header file. */ -+#undef HAVE_PWD_H -+ -+/* Define to 1 if you have the `rindex' function. */ -+#undef HAVE_RINDEX -+ -+/* Define to 1 if you have the <stdint.h> header file. */ -+#undef HAVE_STDINT_H -+ -+/* Define to 1 if you have the <stdlib.h> header file. */ -+#undef HAVE_STDLIB_H -+ -+/* Define to 1 if you have the `strcasecmp' function. */ -+#undef HAVE_STRCASECMP -+ -+/* Define to 1 if you have the `strchr' function. */ -+#undef HAVE_STRCHR -+ -+/* Define to 1 if you have the <strings.h> header file. */ -+#undef HAVE_STRINGS_H -+ -+/* Define to 1 if you have the <string.h> header file. */ -+#undef HAVE_STRING_H -+ -+/* Define to 1 if you have the `strrchr' function. */ -+#undef HAVE_STRRCHR -+ -+/* Define to 1 if you have the `strstr' function. */ -+#undef HAVE_STRSTR -+ -+/* Define to 1 if you have the `strtol' function. */ -+#undef HAVE_STRTOL -+ -+/* Define to 1 if `st_mtim' is member of `struct stat'. */ -+#undef HAVE_STRUCT_STAT_ST_MTIM -+ -+/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'. -+ */ -+#undef HAVE_SYS_DIR_H -+ -+/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'. -+ */ -+#undef HAVE_SYS_NDIR_H -+ -+/* Define to 1 if you have the <sys/param.h> header file. */ -+#undef HAVE_SYS_PARAM_H -+ -+/* Define to 1 if you have the <sys/stat.h> header file. */ -+#undef HAVE_SYS_STAT_H -+ -+/* Define to 1 if you have the <sys/types.h> header file. */ -+#undef HAVE_SYS_TYPES_H -+ -+/* Define to 1 if you have the <unistd.h> header file. */ -+#undef HAVE_UNISTD_H -+ -+/* Define to the sub-directory in which libtool stores uninstalled libraries. -+ */ -+#undef LT_OBJDIR -+ -+/* Define to the address where bug reports for this package should be sent. */ -+#undef PACKAGE_BUGREPORT -+ -+/* Define to the full name of this package. */ -+#undef PACKAGE_NAME -+ -+/* Define to the full name and version of this package. */ -+#undef PACKAGE_STRING -+ -+/* Define to the one symbol short name of this package. */ -+#undef PACKAGE_TARNAME -+ -+/* Define to the version of this package. */ -+#undef PACKAGE_VERSION -+ -+/* Define to 1 if you have the ANSI C header files. */ -+#undef STDC_HEADERS -+ -+/* Number of bits in a file offset, on hosts where this is settable. */ -+#undef _FILE_OFFSET_BITS -+ -+/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */ -+#undef _LARGEFILE_SOURCE -+ -+/* Define for large files, on AIX-style hosts. */ -+#undef _LARGE_FILES -+ -+/* Define to empty if `const' does not conform to ANSI C. */ -+#undef const -+ -+/* Define to `__inline__' or `__inline' if that's what the C compiler -+ calls it, or to nothing if 'inline' is not supported under any name. */ -+#ifndef __cplusplus -+#undef inline -+#endif -Index: styfile.c -=================================================================== ---- mendexk2.6e.orig/styfile.c -+++ mendexk2.6e/styfile.c -@@ -2,6 +2,10 @@ - #include <stdlib.h> - #include <string.h> - -+#include <kpathsea/config.h> -+#include <ptexenc/ptexenc.h> -+#include "mendex.h" -+ - #include "exvar.h" - - #ifdef KPATHSEA -@@ -11,17 +15,24 @@ - - FILE *fp; - --int styread(filename) -+void convline(char *buff1, int start, char *buff2); -+int scompare(char *buff1, char *buff2); -+int getparam(char *buff, char *paraname, char *param); -+int getparachar(char *buff, char *paraname, char *param); -+size_t sstrlen(const char *buff); -+int sstrcmp(const char *s1, const char *s2); -+int sstrncmp(const char *s1, const char *s2, size_t len); -+ - /* read style file */ --char *filename; -+void styread(char *filename) - { -- int i,j,k,cc; -+ int i,cc; - char buff[4096]; - - #ifdef KPATHSEA - filename = KP_find_file(&kp_ist,filename); - #endif -- fp=fopen(filename,"r"); -+ fp=nkf_open(filename,"r"); - if (fp==NULL) { - fprintf(stderr,"%s does not exist.\n",filename); - exit(0); -@@ -112,14 +123,13 @@ - if (getparam(buff,"page_precedence",page_precedence)) continue; - if (getparam(buff,"character_order",character_order)) continue; - } -+ nkf_close(fp); - } - --int convline(buff1,start,buff2) - /* analize string parameter of style file */ --char *buff1,*buff2; --int start; -+void convline(char *buff1, int start, char *buff2) - { -- int i,j,k,cc; -+ int i,j,cc; - - for (i=start,j=cc=0;;i++) { - if (buff1[i]=='\"') { -@@ -161,11 +171,10 @@ - } - } - --int scompare(buff1,buff2) - /* compare strings */ --char *buff1,*buff2; -+int scompare(char *buff1, char *buff2) - { -- int i,j,k,cc; -+ int i; - - if (sstrlen(buff1) == sstrlen(buff2)) { - if (sstrcmp(buff1,buff2) == 0) { -@@ -187,9 +196,8 @@ - return -1; - } - --int getparam(buff,paraname,param) - /* get string of style patameter */ --char *buff,*paraname,*param; -+int getparam(char *buff, char *paraname, char *param) - { - int cc; - -@@ -201,9 +209,8 @@ - return 0; - } - --int getparachar(buff,paraname,param) - /* get character of style parameter */ --char *buff,*paraname,*param; -+int getparachar(char *buff, char *paraname, char *param) - { - int j,cc; - -@@ -226,30 +233,22 @@ - return 0; - } - --int sstrlen(buff) --char *buff; -+size_t sstrlen(const char *s) - { -- int i; -- -- if (buff==NULL) return 0; -- -- for (i=0;;i++) { -- if (buff[i]=='\0') return i; -- } -+ if (s == NULL) return 0; -+ return strlen(s); - } - --int sstrncmp(buff1,buff2,len) --char *buff1,*buff2; --int len; -+int sstrcmp(const char *s1, const char *s2) - { -- int i; -+ if (s1 == NULL) return -1; -+ if (s2 == NULL) return 1; -+ return strcmp(s1, s2); -+} - -- if (buff1==NULL) return -1; -- if (buff2==NULL) return 1; -- -- for (i=0;i<len;i++) { -- if ((buff1[i]=='\0')&&(buff2[i]=='\0')) return 0; -- if (buff1[i]!=buff2[i]) return buff1[i]-buff2[i]; -- } -- return 0; -+int sstrncmp(const char *s1, const char *s2, size_t len) -+{ -+ if (s1 == NULL) return -1; -+ if (s2 == NULL) return 1; -+ return strncmp(s1, s2, len); - } -Index: convert.c -=================================================================== ---- mendexk2.6e.orig/convert.c -+++ mendexk2.6e/convert.c -@@ -1,7 +1,12 @@ -- #include <stdio.h> -+#include <stdio.h> - #include <stdlib.h> - #include <string.h> - -+#include <kpathsea/config.h> -+#include <kpathsea/lib.h> -+#include <ptexenc/ptexenc.h> -+#include "mendex.h" -+ - #include "exkana.h" - #include "ktable.h" - #include "exvar.h" -@@ -11,9 +16,6 @@ - extern KpathseaSupportInfo kp_dict; - #endif - --extern char *mfgets(); --extern int convputs(); -- - struct dictionary{ - unsigned char dic[2][50]; - }; -@@ -21,10 +23,12 @@ - struct dictionary *dictable,*envdic; - int dlines=0,elines=0; - --int initkanatable() -+int dicvalread(char *filename, struct dictionary *dicval, int line); -+ - /* initialize kana table */ -+void initkanatable(void) - { -- int i,j,cc; -+ int i,cc; - - for (i=0xa4a1;i<=0xa4f3;i++) { - cc=i-0xa4a1; -@@ -40,13 +44,13 @@ - } - katakana[(i-0xa5a1)*2]=0; - -- akasatana=strdup(AKASATANA); -+ akasatana=xstrdup(AKASATANA); - for (i=0;;i++) { - if (akasatana[i*2]==0) break; - akasatana[i*2]++; - } - -- aiueo=strdup(AIUEO); -+ aiueo=xstrdup(AIUEO); - for (i=0;;i++) { - if (aiueo[i*2]==0) break; - aiueo[i*2]++; -@@ -55,11 +59,10 @@ - strcpy(atama,akasatana); - } - --int dicread(filename) - /* get dictionary */ --char *filename; -+int dicread(char *filename) - { -- int i,j,k,l,ecount=0; -+ int i,ecount=0; - char *envfile,buff[4096]; - FILE *fp; - -@@ -67,28 +70,24 @@ - #ifdef KPATHSEA - filename = KP_find_file(&kp_dict,filename); - #endif -- fp=fopen(filename,"r"); -+ fp=nkf_open(filename,"r"); - if (fp==NULL) { -- fprintf(stderr,"Warning: Couldn't find dictionary file %s.\n",filename); -- if (efp!=stderr) fprintf(efp,"Warning: Couldn't find dictionary file %s.\n",filename); -- warn++; -+ warn_printf(efp,"Warning: Couldn't find dictionary file %s.\n",filename); - goto ENV; - } -- if (verb!=0) fprintf(stderr,"Scanning dictionary file %s.",filename); -- if (efp!=stderr) fprintf(efp,"Scanning dictionary file %s.",filename); -+ verb_printf(efp,"Scanning dictionary file %s.",filename); - - for (i=0;;i++) { - if (mfgets(buff,4095,fp)==NULL) break; - if ((buff[0]=='\n')||(buff[0]=='\0')) i--; - } -- fclose(fp); -+ nkf_close(fp); - - dictable=(struct dictionary *)malloc(sizeof(struct dictionary)*i); - - dlines=dicvalread(filename,dictable,i); - -- if (verb!=0) fprintf(stderr,"...done.\n"); -- if (efp!=stderr) fprintf(efp,"...done.\n"); -+ verb_printf(efp,"...done.\n"); - } - - ENV: -@@ -105,47 +104,38 @@ - #ifdef KPATHSEA - envfile = KP_find_file(&kp_dict,envfile); - #endif -- fp=fopen(envfile,"r"); -+ fp=nkf_open(envfile,"r"); - if (fp==NULL) { -- fprintf(stderr,"Warning: Couldn't find environment dictionary file %s.\n",envfile); -- if (efp!=stderr) fprintf(efp,"Warning: Couldn't find environment dictionary file %s.\n",envfile); -- warn++; -+ warn_printf(efp,"Warning: Couldn't find environment dictionary file %s.\n",envfile); - return ecount; - } -+ verb_printf(efp,"Scanning environment dictionary file %s.",envfile); - -- if (verb!=0) fprintf(stderr,"Scanning environment dictionary file %s.",envfile); -- if (efp!=stderr) fprintf(efp,"Scanning environment dictionary file %s.",envfile); -- - for (i=0;;i++) { - if (mfgets(buff,255,fp)==NULL) break; - if ((buff[0]=='\n')||(buff[0]=='\0')) i--; - } -- fclose(fp); -+ nkf_close(fp); - - envdic=(struct dictionary *)malloc(sizeof(struct dictionary)*i); - - elines=dicvalread(envfile,envdic,i); - -- if (verb!=0) fprintf(stderr,"...done.\n"); -- if (efp!=stderr) fprintf(efp,"...done.\n"); -+ verb_printf(efp,"...done.\n"); - } - } - --int dicvalread(filename,dicval,line) - /* read dictionary file */ --char *filename; --struct dictionary *dicval; --int line; -+int dicvalread(char *filename, struct dictionary *dicval, int line) - { -- int i,j,k,l,cc; -+ int i,j,k; - unsigned char buff[256]; - FILE *fp; - - int dcomp(); - -- fp=fopen(filename,"r"); -+ fp=nkf_open(filename,"r"); - for (i=0;i<line;i++) { --READING: - if (mfgets(buff,255,fp)==NULL) break; - if ((buff[0]=='\n')||(buff[0]=='\0')) { - i--; -@@ -174,17 +164,16 @@ - strcpy(dicval[i].dic[1],buff); - } - -- fclose(fp); -+ nkf_close(fp); - - qsort(dicval,i,sizeof(struct dictionary),dcomp); - return(i); - } - --int dcomp(buff1,buff2) - /* comp-function of dictionary sorting */ --struct dictionary *buff1,*buff2; -+int dcomp(struct dictionary *buff1, struct dictionary *buff2) - { -- int i,j; -+ int i; - - for (i=0;i<50;i++) { - if (((*buff1).dic[0][i]=='\0')&&((*buff2).dic[0][i]=='\0')) return 0; -@@ -196,12 +185,10 @@ - return 0; - } - --int convert(buff1,buff2) - /* convert to capital-hiragana character */ --unsigned char *buff1,*buff2; -+int convert(unsigned char *buff1, unsigned char *buff2) - { -- int i=0,j=0,k,l,cc; -- unsigned char str[2]; -+ int i=0,j=0,k,l; - char errbuff[4096]; - - while(1) { -@@ -235,8 +222,8 @@ - } - } - sprintf(errbuff,"\nError: %s is bad katakana ",&buff1[i]); -- convputs(errbuff,efp); -- if (efp!=stderr) convputs(errbuff,stderr); -+ fputs(errbuff,efp); -+ if (efp!=stderr) fputs(errbuff,stderr); - return -1; - MATCH1: - i+=2; -@@ -252,8 +239,8 @@ - } - } - sprintf(errbuff,"\nError: %s is bad hiragana ",&buff1[i]); -- convputs(errbuff,efp); -- if (efp!=stderr) convputs(errbuff,stderr); -+ fputs(errbuff,efp); -+ if (efp!=stderr) fputs(errbuff,stderr); - return -1; - MATCH2: - i+=2; -@@ -273,8 +260,8 @@ - } - } - sprintf(errbuff,"\nError: %s is Illegal line ",buff1); -- convputs(errbuff,efp); -- if (efp!=stderr) convputs(errbuff,stderr); -+ fputs(errbuff,efp); -+ if (efp!=stderr) fputs(errbuff,stderr); - return -1; - MATCH3: - i+=2; -@@ -328,8 +315,8 @@ - } - else { - sprintf(errbuff,"\nError: %s is no entry in dictionary file ",&buff1[i]); -- convputs(errbuff,efp); -- if (efp!=stderr) convputs(errbuff,stderr); -+ fputs(errbuff,efp); -+ if (efp!=stderr) fputs(errbuff,stderr); - return -1; - } - } -@@ -340,11 +327,9 @@ - return 0; - } - --int pnumconv(page,attr) --char *page; --int attr; -+int pnumconv(char *page, int attr) - { -- int i,j,cc=0; -+ int i,cc=0; - - switch (page_precedence[attr]) { - case 'a': -@@ -526,52 +511,7 @@ - return cc; - } - --int nbyte(str,n) --unsigned char *str; --int n; -+int nbyte(unsigned char *str, int n) - { - return (unsigned int)str[n]; - } -- --int JIStoSJIS(c) --int c; --{ -- int high,low; -- int nh,nl; -- -- high = (c>>8) & 0xff; -- low = c & 0xff; -- nh = ((high-0x21)>>1) + 0x81; -- if (nh>0x9f) -- nh += 0x40; -- if (high & 1) { -- nl = low + 0x1f; -- if (low>0x5f) -- nl++; -- } -- else -- nl = low + 0x7e; -- if (((nh >= 0x81 && nh <= 0x9f) || (nh >= 0xe0 && nh <= 0xfc)) -- && (nl >= 0x40 && nl <= 0xfc && nl != 0x7f)) -- return (nh<<8) | nl; -- else -- return 0x813f; --} -- --int SJIStoJIS(c) --int c; --{ -- int byte1,byte2; -- -- byte1 = (c>>8) & 0xff; -- byte2 = c & 0xff; -- byte1 -= ( byte1>=0xa0 ) ? 0xc1 : 0x81; -- c = ((byte1<<1) + 0x21)<<8; -- if( byte2>=0x9f ) { -- c += 0x0100; -- c |= (byte2 - 0x7e) & 0xff; -- } else { -- c |= (byte2 - ((byte2<=0x7e) ? 0x1f : 0x20 )) & 0xff; -- } -- return c; --} -Index: fread.c -=================================================================== ---- mendexk2.6e.orig/fread.c -+++ mendexk2.6e/fread.c -@@ -2,21 +2,23 @@ - #include <stdlib.h> - #include <string.h> - -+#include <kpathsea/config.h> -+#include <ptexenc/ptexenc.h> -+#include "mendex.h" -+ - #include "exkana.h" - #include "exvar.h" - - #define BUFSIZE 65535 - --char *mfgets(); --extern char *convcode(); -+int getestr(unsigned char *buff, unsigned char *estr); -+void chkpageattr(struct page *p); - --int idxread(filename,start) - /* read idx file */ --char *filename; --int start; -+int idxread(char *filename, int start) - { -- int i,j,k,l,m,n,cc,indent,wflg,flg,bflg=0,nest,esc,quo,eflg=0,pacc,preject; -- unsigned char buff[BUFSIZE],wbuff[BUFSIZE],estr[256],table[BUFSIZE],tbuff[256],*tmp1,*tmp2; -+ int i,j,k,l,m,n,cc,indent,wflg,flg=0,bflg=0,nest,esc,quo,eflg=0,pacc,preject; -+ unsigned char buff[BUFSIZE],wbuff[BUFSIZE],estr[256],table[BUFSIZE],*tmp1,*tmp2; - FILE *fp; - - pacc=acc; -@@ -24,26 +26,20 @@ - - if (filename==NULL) { - fp=stdin; -- if (verb!=0) fputs("Scanning input file stdin.",stderr); -- if (efp!=stderr) fputs("Scanning input file stdin.",efp); -+ verb_printf(efp, "Scanning input file stdin."); - } - else { -- fp=fopen(filename,"r"); -+ fp=nkf_open(filename,"r"); - if (fp==NULL) { - sprintf(buff,"%s.idx",filename); -- fp=fopen(buff,"r"); -+ fp=nkf_open(buff,"r"); - if (fp==NULL) { -- if (verb!=0) -- fprintf(stderr,"Warning: Couldn't find input file %s.\n",filename); -- if (efp!=stderr) -- fprintf(efp,"Warning: Couldn't find input file %s.\n",filename); -- warn++; -+ warn_printf(efp,"Warning: Couldn't find input file %s.\n",filename); - return 1; - } - else strcpy(filename,buff); - } -- if (verb!=0) fprintf(stderr,"Scanning input file %s.",filename); -- if (efp!=stderr) fprintf(efp,"Scanning input file %s.",filename); -+ verb_printf(efp,"Scanning input file %s.",filename); - } - - for (i=start,n=1;;i++,n++) { -@@ -78,10 +74,7 @@ - - for (;;j++,k++) { - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Incomplete first argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Incomplete first argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Incomplete first argument in %s, line %d.",filename,ind[i].lnum); - warn++; - n++; - goto LOOP; -@@ -185,10 +178,7 @@ - indent--; - } - else { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Illegal null field in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Illegal null field in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Illegal null field in %s, line %d.",filename,ind[i].lnum); - warn++; - n++; - goto LOOP; -@@ -277,10 +267,7 @@ - ind[0].p=(struct page *)malloc(sizeof(struct page)*16); - for (;buff[j]!=arg_open && buff[j]!='\n' && buff[j]!='\0';j++); - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); - acc--; - reject++; - warn++; -@@ -290,10 +277,7 @@ - j++; - for (k=nest=0;;j++,k++) { - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); - acc--; - reject++; - warn++; -@@ -346,10 +330,7 @@ - if (ind[l].org[m]!=NULL) tmp2=ind[l].org[m]; - else tmp2=ind[i].idx[m]; - -- if (verb!=0) -- fprintf(stderr,"\nWarning: Sort key \"%s\" is different from previous key \"%s\" for same index \"%s\" in %s, line %d.",convcode(tmp1),convcode(tmp2),convcode(ind[i].idx[m]),filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Sort key \"%s\" is different from previous key \"%s\" for same index \"%s\" in %s, line %d.",convcode(tmp1),convcode(tmp2),convcode(ind[i].idx[m]),filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Sort key \"%s\" is different from previous key \"%s\" for same index \"%s\" in %s, line %d.",tmp1, tmp2, ind[i].idx[m], filename,ind[i].lnum); - warn++; - flg=0; - break; -@@ -367,10 +348,7 @@ - i--; - for (;buff[j]!=arg_open && buff[j]!='\n' && buff[j]!='\0';j++); - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); - acc--; - reject++; - warn++; -@@ -381,10 +359,7 @@ - j++; - for (k=nest=0;;j++,k++) { - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); - warn++; - n++; - i++; -@@ -429,10 +404,7 @@ - ind[i].p=(struct page *)malloc(sizeof(struct page)*16); - for (;buff[j]!=arg_open && buff[j]!='\n' && buff[j]!='\0';j++); - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Missing second argument in %s, line %d.",filename,ind[i].lnum); - acc--; - reject++; - warn++; -@@ -442,10 +414,7 @@ - j++; - for (k=nest=0;;j++,k++) { - if (buff[j]=='\n' || buff[j]=='\0') { -- if (verb!=0) -- fprintf(stderr,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); -- if (efp!=stderr) -- fprintf(efp,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); -+ verb_printf(efp,"\nWarning: Incomplete second argument in %s, line %d.",filename,ind[i].lnum); - acc--; - reject++; - warn++; -@@ -477,21 +446,16 @@ - } - } - lines=i; -+ if (filename != NULL) nkf_close(fp); - -- if (verb!=0) { -- fprintf(stderr,"...done (%d entries accepted, %d rejected).\n",acc-pacc, reject-preject); -- } -- if (efp!=stderr) { -- fprintf(efp,"...done (%d entries accepted, %d rejected).\n",acc-pacc, reject-preject); -- } -+ verb_printf(efp,"...done (%d entries accepted, %d rejected).\n",acc-pacc, reject-preject); - return eflg; - } - --int getestr(buff,estr) - /* pic up encap string */ --unsigned char *buff,*estr; -+int getestr(unsigned char *buff, unsigned char *estr) - { -- int i,j,cc,nest=0; -+ int i,nest=0; - - for (i=0;i<strlen(buff);i++) { - if (buff[i]==encap) { -@@ -522,20 +486,8 @@ - return -1; - } - --int sstrcmp(buff1,buff2) --char *buff1,*buff2; -+void chkpageattr(struct page *p) - { -- int i; -- -- for (i=0;;i++) { -- if (buff1[i]=='\0' && buff2[i]=='\0') return 0; -- if (buff1[i]!=buff2[i]) return 1; -- } --} -- --chkpageattr(p) --struct page *p; --{ - int i,j,cc=0; - - for (i=0;i<strlen(p->page);i++) { -@@ -596,53 +548,15 @@ - if (cc<2) p->attr[++cc]= -1; - } - --char *mfgets(buf,byte,fp) --char *buf; --int byte; --FILE *fp; -+char *mfgets(char *buf, int byte, FILE *fp) - { -- int i,cc,cc2,cc3,jflag=0; -+ int c, len; - -- for (i=0;i<byte;i++) { -- cc=fgetc(fp); -- if (cc==EOF) { -- if (i==0) return NULL; -- else break; -- } -- else if (cc=='\n') { -- buf[i++]=cc; -- break; -- } -- else if (cc>=0x80) { -- cc2=fgetc(fp); -- if (kanji==Sjis) { -- cc=SJIStoJIS((cc<<8)+cc2)+0x8080; -- } -- else { -- cc=(cc<<8)+cc2; -- } -- buf[i++]=(cc>>8)&0xff; -- buf[i]=cc&0xff; -- } -- else if (cc==0x1b) { -- cc2=fgetc(fp); -- cc3=fgetc(fp); -- if (cc2==0x24 && (cc3==0x42 || cc3==0x40)) -- jflag++; -- else if (cc2==0x28 && (cc3==0x42 || cc3==0x4a)) -- if (jflag>0) jflag--; -- else { -- buf[i++]=cc; -- buf[i++]=cc2; -- buf[i++]=cc3; -- } -- i--; -- } -- else if (jflag) { -- buf[i]=cc+0x80; -- } -- else buf[i]=cc; -+ if ((len = input_line2(fp, buf, 0, byte, &c)) == 0) return NULL; -+ if (c == '\n' || c == '\r') { -+ if (len+1 < byte) strcat(buf+len, "\n"); -+ else ungetc(c, fp); - } -- buf[i]='\0'; -+ if (c == EOF) return NULL; - return buf; - } -Index: configure.ac -=================================================================== ---- mendexk2.6e.orig/configure.ac -+++ mendexk2.6e/configure.ac -@@ -0,0 +1,28 @@ -+dnl Process this file with autoconf to produce a configure script. -+dnl -+dnl Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org> -+dnl -+dnl This file is free software; the copyright holder -+dnl gives unlimited permission to copy and/or distribute it, -+dnl with or without modifications, as long as this notice is preserved. -+dnl -+AC_INIT([mendex for TeX Live], [2.6f]) -+AC_PREREQ([2.63]) -+AC_CONFIG_SRCDIR([main.c]) -+AC_CONFIG_AUX_DIR([../../build-aux]) -+AC_CONFIG_MACRO_DIR([../../m4]) -+ -+dnl Common code for all programs using libkpathsea. -+KPSE_COMMON([mendexk], [no-define]) -+ -+AC_CONFIG_HEADERS([c-auto.h:c-auto.in]) -+ -+AC_CHECK_HEADERS([strings.h]) -+AC_CHECK_FUNCS([]) -+ -+KPSE_KPATHSEA_FLAGS -+KPSE_PTEXENC_FLAGS -+ -+AC_CONFIG_FILES([Makefile]) -+ -+AC_OUTPUT -Index: main.c -=================================================================== ---- mendexk2.6e.orig/main.c -+++ mendexk2.6e/main.c -@@ -2,6 +2,10 @@ - #include <stdlib.h> - #include <string.h> - -+#include <kpathsea/config.h> -+#include <ptexenc/ptexenc.h> -+#include "mendex.h" -+ - #include "kana.h" - #include "var.h" - -@@ -24,15 +28,12 @@ - - #define VERSION "version 2.6f [14-Aug-2009]" - --main(argc,argv) --int argc; --char **argv; -+int main(int argc, char **argv) - { -- int i,j,k,cc,dd,startpagenum,ecount=0; -- char buff[256],*envbuff; -- FILE *fp; -- char *convcode(); -+ int i,j,cc=0,startpagenum=-1,ecount=0; -+ char *envbuff; - -+ set_enc_string(NULL, "EUC"); - #ifdef KPATHSEA - KP_init(argv[0]); - kp_ist.var_name = "INDEXSTYLE"; -@@ -147,19 +148,23 @@ - break; - - case 'E': -- kanji=Euc; -+ set_enc_string("EUC", NULL); - break; - - case 'J': -- kanji=Jis; -+ set_enc_string("JIS", NULL); - break; - - case 'S': -- kanji=Sjis; -+ set_enc_string("SJIS", NULL); - break; - -+ case 'U': -+ set_enc_string("UTF8", NULL); -+ break; -+ - default: -- fprintf(stderr,"mendex - Japanese index processor, %s.\n",VERSION); -+ fprintf(stderr,"mendex - Japanese index processor, %s (%s).\n",VERSION, get_enc_string()); - fprintf(stderr," Copyright 2009 ASCII MEDIA WORKS.(ptex-staff@ml.asciimw.jp)\n"); - fprintf(stderr,"usage:\n"); - fprintf(stderr,"%% mendex [-ilqrcg] [-s sty] [-d dic] [-o ind] [-t log] [-p no] [idx0 idx1 ...]\n"); -@@ -169,7 +174,7 @@ - fprintf(stderr,"-q quiet mode.\n"); - fprintf(stderr,"-r disable implicit page formation.\n"); - fprintf(stderr,"-c compress blanks. (ignore leading and trailing blanks.)\n"); -- fprintf(stderr,"-g make Japanese index head <%s>.\n",convcode(AKASATANA)); -+ fprintf(stderr,"-g make Japanese index head <%s>.\n", AKASATANA); - fprintf(stderr,"-f force to output kanji.\n"); - fprintf(stderr,"-s sty take sty as style file.\n"); - fprintf(stderr,"-d dic take dic as dictionary file.\n"); -@@ -179,6 +184,7 @@ - fprintf(stderr,"-E EUC mode.\n"); - fprintf(stderr,"-J JIS mode.\n"); - fprintf(stderr,"-S ShiftJIS mode.\n"); -+ fprintf(stderr,"-U UTF-8 mode.\n"); - fprintf(stderr,"idx... input files.\n"); - exit(0); - break; -@@ -247,12 +253,13 @@ - else efp=fopen(logfile,"w"); - - if (strcmp(argv[0],"makeindex")==0) { -- if (verb!=0) fprintf(stderr,"This is Not `MAKEINDEX\', But `MENDEX\' %s.\n",VERSION); -+ verb_printf(efp,"This is Not `MAKEINDEX\', But `MENDEX\' %s (%s).\n", -+ VERSION, get_enc_string()); - } - else { -- if (verb!=0) fprintf(stderr,"This is mendex %s.\n",VERSION); -+ verb_printf(efp,"This is mendex %s (%s).\n", -+ VERSION, get_enc_string()); - } -- if (efp!=stderr) fprintf(efp,"This is mendex %s.\n",VERSION); - - /* init kanatable */ - -@@ -298,64 +305,36 @@ - if (fsti==1) { - ecount+=idxread(NULL,lines); - } -- if (verb!=0) { -- fprintf(stderr,"%d entries accepted, %d rejected.\n",acc,reject); -- } -- if (efp!=stderr) { -- fprintf(efp,"%d entries accepted, %d rejected.\n",acc,reject); -- } -+ verb_printf(efp,"%d entries accepted, %d rejected.\n",acc,reject); - - if (ecount!=0) { -- if (verb!=0) { -- fprintf(stderr,"%d errors, written in %s.\n",ecount,logfile); -- } -- if (efp!=stderr) { -- fprintf(efp,"%d errors.\n",ecount); -- } -+ verb_printf(efp,"%d errors, written in %s.\n",ecount,logfile); - lines=0; - } - if (lines==0) { -- if (verb!=0) { -- fprintf(stderr,"Nothing written in output file.\n"); -- } -- if (efp!=stderr) { -- fprintf(efp,"Nothing written in output file.\n"); -- fclose(efp); -- } -+ verb_printf(efp,"Nothing written in output file.\n"); -+ if (efp!=stderr) fclose(efp); - exit(-1); - } - - /* sort index */ - -- if (verb!=0) fprintf(stderr,"Sorting index."); -- if (efp!=stderr) fprintf(efp,"Sorting index."); -+ verb_printf(efp,"Sorting index."); - - scount=0; - wsort(ind,lines); - -- if (verb!=0) { -- fprintf(stderr,"...done(%d comparisons).\n",scount); -- } -- if (efp!=stderr) { -- fprintf(efp,"...done(%d comparisons).\n",scount); -- } -+ verb_printf(efp,"...done(%d comparisons).\n",scount); - - /* sort pages */ - -- if (verb!=0) fprintf(stderr,"Sorting pages."); -- if (efp!=stderr) fprintf(efp,"Sorting pages."); -+ verb_printf(efp,"Sorting pages."); - - scount=0; - pagesort(ind,lines); - -+ verb_printf(efp,"...done(%d comparisons).\n",scount); - -- if (verb!=0) { -- fprintf(stderr,"...done(%d comparisons).\n",scount); -- } -- if (efp!=stderr) { -- fprintf(efp,"...done(%d comparisons).\n",scount); -- } -- - /* get last page */ - - if ((fpage>1)&&(idxcount-fsti>0)) cc=lastpage(idxfile[0]); -@@ -381,31 +360,17 @@ - - /* write indfile */ - -- if (verb!=0) fprintf(stderr,"Making index file."); -- if (efp!=stderr) fprintf(efp,"Making index file."); -+ verb_printf(efp,"Making index file."); - - indwrite(indfile,ind,startpagenum); - -- if (verb!=0) fprintf(stderr,"...done.\n"); -- if (efp!=stderr) fprintf(efp,"...done.\n"); -+ verb_printf(efp,"...done.\n"); - - if (idxcount-fsti==0) strcpy(indfile,"stdout"); - -- if (verb!=0) { -- fprintf(stderr,"%d warnings, written in %s.\n",warn,logfile); -- fprintf(stderr,"Output written in %s.\n",indfile); -- } -- if (efp!=stderr) { -- fprintf(efp,"%d warnings, written in %s.\n",warn,logfile); -- fprintf(efp,"Output written in %s.\n",indfile); -- fclose(efp); -- } -+ verb_printf(efp,"%d warnings, written in %s.\n",warn,logfile); -+ verb_printf(efp,"Output written in %s.\n",indfile); -+ if (efp!=stderr) fclose(efp); - - exit(0); - } -- --Fprintf(buff) --char *buff; --{ -- if (debug) fprintf(stderr,"CHECK:%s",buff); --} -Index: reautoconf -=================================================================== ---- mendexk2.6e.orig/reautoconf -+++ mendexk2.6e/reautoconf -@@ -0,0 +1,7 @@ -+#!/bin/sh -+ -+set -x -+LANG=C -+rm -rf autom4te.cache/ -+ -+(cd ../../; ./reautoconf texk/mendexk) -Index: mendex.h -=================================================================== ---- mendexk2.6e.orig/mendex.h -+++ mendexk2.6e/mendex.h -@@ -0,0 +1,58 @@ -+struct page { -+ char *page; -+ char *enc; -+ char attr[3]; -+}; -+ -+struct index { -+ int num; -+ char words; -+ unsigned char *org[3]; -+ unsigned char *dic[3]; -+ unsigned char *idx[3]; -+ struct page *p; -+ int lnum; -+}; -+ -+/* convert.c */ -+void initkanatable(void); -+int convert(unsigned char *buff1, unsigned char *buff2); -+int pnumconv(char *page, int attr); -+int dicread(char *filename); -+ -+/* pageread.c */ -+int lastpage(char *filename); -+ -+/* sort.c */ -+void wsort(struct index *ind, int num); -+void pagesort(struct index *ind, int num); -+int alphanumeric(unsigned char c); -+int alphabet(unsigned char c); -+int numeric(unsigned char c); -+int japanese(unsigned char *buff); -+int chkcontinue(struct page *p, int num); -+ -+/* styfile.c */ -+void styread(char *filename); -+ -+/* fread.c */ -+char *mfgets(char *buf, int byte, FILE *fp); -+int idxread(char *filename, int start); -+ -+/* fwrite.c */ -+int fprintf2 (FILE *fp, const char *format, ...); -+int warn_printf(FILE *fp, const char *format, ...); -+int verb_printf(FILE *fp, const char *format, ...); -+ -+struct index; -+void indwrite(char *filename, struct index *ind, int pagenum); -+ -+#ifdef fprintf -+#undef fprintf -+#endif -+#define fprintf fprintf2 -+ -+#ifdef fputs -+#undef fputs -+#endif -+#define fputs fputs2 -Index: sort.c -=================================================================== ---- mendexk2.6e.orig/sort.c -+++ mendexk2.6e/sort.c -@@ -2,17 +2,21 @@ - #include <stdlib.h> - #include <string.h> - -+#include "mendex.h" -+ - #include "exkana.h" - #include "exvar.h" - - int sym,number,alpha,kana; - --wsort(ind,num) -+static int wcomp(const void *p, const void *q); -+static int pcomp(const void *p, const void *q); -+static int ordering(unsigned char *buff); -+ - /* sort index */ --struct index *ind; --int num; -+void wsort(struct index *ind, int num) - { -- int i,j,order,wcomp(); -+ int i,order; - - for (order=1,i=0;;i++) { - switch (character_order[i]) { -@@ -55,11 +59,11 @@ - qsort(ind,num,sizeof(struct index),wcomp); - } - --int wcomp(index1,index2) - /* compare for sorting index */ --struct index *index1,*index2; -+static int wcomp(const void *p, const void *q) - { -- int i,j,k,cc,prechar,pri1,pri2; -+ int i,j,prechar; -+ const struct index *index1 = p, *index2 = q; - - scount++; - -@@ -142,16 +146,12 @@ - return 0; - } - --int pagesort(ind,num) - /* sort page */ --struct index *ind; --int num; -+void pagesort(struct index *ind, int num) - { -- int i,j,k,cc; -+ int i,j; - struct page *buff; - -- int pcomp(); -- - for (i=0;i<num;i++) { - if (ind[i].num==0) continue; - -@@ -167,12 +167,12 @@ - } - } - --int pcomp(page1,page2) - /* compare for sorting page */ --struct page *page1,*page2; -+static int pcomp(const void *p, const void *q) - { - int i,j,cc=0,num1,num2; - char buff[16]; -+ const struct page *page1 = p, *page2 = q; - - scount++; - -@@ -210,8 +210,7 @@ - return 0; - } - --int ordering(buff) --unsigned char *buff; -+static int ordering(unsigned char *buff) - { - if ((*buff)<0x80) { - if (alphabet(*buff)) return alpha; -@@ -224,38 +223,32 @@ - } - } - --int alphanumeric(c) --unsigned char c; -+int alphanumeric(unsigned char c) - { - if (((c>='A')&&(c<='Z'))||((c>='a')&&(c<='z'))||((c>='0')&&(c<='9'))) - return 1; - else return 0; - } - --int alphabet(c) --unsigned char c; -+int alphabet(unsigned char c) - { - if (((c>='A')&&(c<='Z'))||((c>='a')&&(c<='z'))) return 1; - else return 0; - } - --int numeric(c) --unsigned char c; -+int numeric(unsigned char c) - { - if ((c>='0')&&(c<='9')) return 1; - else return 0; - } - --int japanese(buff) --unsigned char *buff; -+int japanese(unsigned char *buff) - { - if (strncmp(buff,HIRATOP,2)>=0) return 1; - else return 0; - } - --int chkcontinue(p,num) --struct page *p; --int num; -+int chkcontinue(struct page *p, int num) - { - int i,j,cc=0,num1,num2; - char buff[16]; -Index: Makefile.am -=================================================================== ---- mendexk2.6e.orig/Makefile.am -+++ mendexk2.6e/Makefile.am -@@ -1,38 +1,43 @@ --## Makefile.am for the TeX Live subdirectory texk/makeindexk/ -+## Makefile.am for the TeX Live subdirectory texk/mendexk/ - ## - ## Copyright (C) 2009 Peter Breitenlohner <tex-live@tug.org> - ## You may freely use, modify and/or distribute this file. - ## - ACLOCAL_AMFLAGS = -I ../../m4 - --INCLUDES = $(KPATHSEA_INCLUDES) --AM_CPPFLAGS = -DUNIX -DKPATHSEA -+INCLUDES = $(KPATHSEA_INCLUDES) $(PTEXENC_INCLUDES) -+AM_CPPFLAGS = -DKPATHSEA -DKPATHSEA3 - AM_CFLAGS = $(WARNING_CFLAGS) - --dist_bin_SCRIPTS = mkindex - --bin_PROGRAMS = makeindex -+bin_PROGRAMS = mendex - --makeindex_SOURCES = \ -- genind.c \ -- genind.h \ -- mkind.c \ -- mkind.h \ -- qsort.c \ -- scanid.c \ -- scanid.h \ -- scanst.c \ -- scanst.h \ -- sortid.c -+mendex_SOURCES = \ -+ convert.c \ -+ exkana.h \ -+ exvar.h \ -+ fread.c \ -+ fwrite.c \ -+ kana.h \ -+ kp.c \ -+ kp.h \ -+ ktable.h \ -+ main.c \ -+ mendex.h \ -+ pageread.c \ -+ sort.c \ -+ styfile.c \ -+ var.h - --makeindex_DEPENDENCIES = $(KPATHSEA_DEPEND) -+mendex_DEPENDENCIES = $(KPATHSEA_DEPEND) $(PTEXENC_DEPEND) - --LDADD = $(KPATHSEA_LIBS) -+LDADD = $(PTEXENC_LIBS) $(KPATHSEA_LIBS) - --## Rebuild libkpathsea -+## Rebuild libkpathsea & libptexenc - @KPATHSEA_RULE@ -+@PTEXENC_RULE@ - --dist_man1_MANS = makeindex.1 mkindex.1 -+dist_man1_MANS = mendex.1 - --EXTRA_DIST = ACK CONTRIB FILES NOTES PORTING -+EXTRA_DIST = COPYRIGHT COPYRIGHT.jis ChangeLog README - -Index: exvar.h -=================================================================== ---- mendexk2.6e.orig/exvar.h -+++ mendexk2.6e/exvar.h -@@ -1,26 +1,5 @@ --struct page { -- char *page; -- char *enc; -- char attr[3]; --}; -- --struct index { -- int num; -- char words; -- unsigned char *org[3]; -- unsigned char *dic[3]; -- unsigned char *idx[3]; -- struct page *p; -- int lnum; --}; -- - extern FILE *efp; - --#define Euc 0 --#define Jis 1 --#define Sjis 2 --extern int kanji; -- - extern int lines,idxcount,acc,reject; - extern int prange,fsti,lorder,bcomp,force,fpage,gflg,verb,debug; - extern int warn,scount,pattr[3]; -Index: aclocal.m4 -=================================================================== ---- mendexk2.6e.orig/aclocal.m4 -+++ mendexk2.6e/aclocal.m4 -@@ -991,6 +991,7 @@ - - m4_include([../../m4/kpse-common.m4]) - m4_include([../../m4/kpse-kpathsea-flags.m4]) -+m4_include([../../m4/kpse-ptexenc-flags.m4]) - m4_include([../../m4/kpse-warnings.m4]) - m4_include([../../m4/libtool.m4]) - m4_include([../../m4/ltoptions.m4]) -Index: var.h -=================================================================== ---- mendexk2.6e.orig/var.h -+++ mendexk2.6e/var.h -@@ -1,38 +1,9 @@ --struct page { -- char *page; -- char *enc; -- char attr[3]; --}; -- --struct index { -- int num; -- char words; -- unsigned char *org[3]; -- unsigned char *dic[3]; -- unsigned char *idx[3]; -- struct page *p; -- int lnum; --}; -- - FILE *efp; - --#define Euc 0 --#define Jis 1 --#define Sjis 2 --#ifdef SJIS --int kanji=Sjis; --#else --#ifdef EUC --int kanji=Euc; --#else --int kanji=Jis; --#endif --#endif -- - int lines,idxcount,acc=0,reject=0; - int prange=1,fsti=0,lorder=0,bcomp=0,force=0,fpage=0,gflg=0,verb=1,debug=0; - int warn=0,scount=0,pattr[3]={0,0,0}; --static char roman[]={"ivxlcdm"},Roman[]={"IVXLCDM"}; -+/* static char roman[]={"ivxlcdm"},Roman[]={"IVXLCDM"}; */ - - struct index *ind; - |