summaryrefslogtreecommitdiff
path: root/Build/source/texk/mendexk/main.c
diff options
context:
space:
mode:
authorPeter Breitenlohner <peb@mppmu.mpg.de>2012-07-28 10:09:46 +0000
committerPeter Breitenlohner <peb@mppmu.mpg.de>2012-07-28 10:09:46 +0000
commit2c71c9d92117f7f1fe0d5bd6fe74922e50be0c86 (patch)
tree6581f8e2c781693a75e6eabb32df88f8299fe1a2 /Build/source/texk/mendexk/main.c
parentbb3913a1553c1213f93e6f10185f770cde5ae901 (diff)
mendexk: Use Nelson Beebe's qqsort() instead of qsort()
Handle input files with Dos/Windows (CRLF) line endings (from W32TeX) Always use KPATHSEA. Use xmalloc() and xstrdup() git-svn-id: svn://tug.org/texlive/trunk@27216 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/mendexk/main.c')
-rw-r--r--Build/source/texk/mendexk/main.c36
1 files changed, 10 insertions, 26 deletions
diff --git a/Build/source/texk/mendexk/main.c b/Build/source/texk/mendexk/main.c
index e418c709960..3afd43ce5b1 100644
--- a/Build/source/texk/mendexk/main.c
+++ b/Build/source/texk/mendexk/main.c
@@ -4,19 +4,17 @@
#include <kpathsea/config.h>
#include <kpathsea/tex-file.h>
+#include <kpathsea/variable.h>
#include <ptexenc/ptexenc.h>
#include "mendex.h"
#include "kana.h"
#include "var.h"
-#ifdef KPATHSEA
#include "kp.h"
-#endif
char *styfile,*idxfile[256],indfile[256],*dicfile,logfile[256];
-#ifdef KPATHSEA
/* default paths */
#ifndef DEFAULT_INDEXSTYLES
#define DEFAULT_INDEXSTYLES "."
@@ -25,7 +23,6 @@ char *styfile,*idxfile[256],indfile[256],*dicfile,logfile[256];
#define DEFAULT_INDEXDICTS "."
#endif
KpathseaSupportInfo kp_ist,kp_dict;
-#endif
#define VERSION "version 2.6f [14-Aug-2009]"
@@ -38,8 +35,7 @@ int main(int argc, char **argv)
#ifdef WIN32
_setmaxstdio(2048);
#endif
-#ifdef KPATHSEA
- KP_init(argv[0]);
+ kpse_set_program_name(argv[0], "mendex");
kp_ist.var_name = "INDEXSTYLE";
kp_ist.path = DEFAULT_INDEXSTYLES; /* default path. */
kp_ist.suffix = "ist";
@@ -48,7 +44,6 @@ int main(int argc, char **argv)
kp_dict.path = DEFAULT_INDEXDICTS; /* default path */
kp_dict.suffix = "dict";
KP_entry_filetype(&kp_dict);
-#endif
/* check options */
@@ -61,13 +56,10 @@ int main(int argc, char **argv)
case 'd':
if ((argv[i][2]=='\0')&&(i+1<argc)) {
- i++;
- dicfile=malloc(strlen(argv[i])+1);
- strcpy(dicfile,argv[i]);
+ dicfile=xstrdup(argv[++i]);
}
else {
- dicfile=malloc(strlen(&argv[i][2])+1);
- strcpy(dicfile,&argv[i][2]);
+ dicfile=xstrdup(&argv[i][2]);
}
break;
@@ -137,13 +129,10 @@ int main(int argc, char **argv)
case 's':
if ((argv[i][2]=='\0')&&(i+1<argc)) {
- i++;
- styfile=malloc(strlen(argv[i])+1);
- strcpy(styfile,argv[i]);
+ styfile=xstrdup(argv[++i]);
}
else {
- styfile=malloc(strlen(&argv[i][2])+1);
- strcpy(styfile,&argv[i][2]);
+ styfile=xstrdup(&argv[i][2]);
}
break;
@@ -198,7 +187,7 @@ int main(int argc, char **argv)
cc=strlen(argv[i]);
if (cc<4) cc+=4;
else if (strcmp(&argv[i][cc-4],".idx")) cc+=4;
- idxfile[j]=malloc(cc+1);
+ idxfile[j]=xmalloc(cc+1);
strcpy(idxfile[j++],argv[i]);
}
}
@@ -209,14 +198,9 @@ int main(int argc, char **argv)
if (idxcount==0) idxcount=fsti=1;
if (styfile==NULL) {
-#ifdef KPATHSEA
- envbuff=KP_get_value("INDEXDEFAULTSTYLE",NULL);
-#else
- envbuff=getenv("INDEXDEFAULTSTYLE");
-#endif
+ envbuff=kpse_var_value("INDEXDEFAULTSTYLE");
if (envbuff!=NULL) {
- styfile=malloc(strlen(envbuff)+1);
- strcpy(styfile,envbuff);
+ styfile=xstrdup(envbuff);
}
}
@@ -295,7 +279,7 @@ int main(int argc, char **argv)
lines=0;
ecount=0;
- ind=malloc(sizeof(struct index));
+ ind=xmalloc(sizeof(struct index));
for (i=0;i<idxcount-fsti;i++) {
ecount+=idxread(idxfile[i],lines);