diff -ur -N -x Makefile.in -x autom4te.cache xindy-2.4.orig/tex2xindy/tex2xindy.l xindy-2.4/tex2xindy/tex2xindy.l --- xindy-2.4.orig/tex2xindy/tex2xindy.l 2012-06-21 12:13:02.000000000 +0200 +++ xindy-2.4/tex2xindy/tex2xindy.l 2012-09-27 14:37:06.000000000 +0200 @@ -89,11 +89,24 @@ =cut */ +%} +%top{ #include #include -#include +#ifdef WIN32 +# include +# include +# define YY_NO_UNISTD_H 1 +# ifdef W32TeX +# define __STDC_VERSION__ 199901L +# endif +#else +# include +#endif +} +%{ #define QUOTE_ECHO qs(yytext) FILE* attrfd = NULL; @@ -375,8 +388,13 @@ main(int argc, char* argv[]) { int option; + +#ifdef WIN32 + setmode (fileno(stdout), _O_BINARY); +#else extern char *optarg; extern int optind, optopt; +#endif while ( (option=getopt(argc, argv, ":o")) != -1 ) { switch (option) { @@ -398,7 +416,7 @@ if ( optind == argc - 1 ) { fprintf(stderr, "Writing attribute names to file \"%s\".\n", argv[optind]); - if ( (attrfd = fopen(argv[optind], "w")) == NULL ) { + if ( (attrfd = fopen(argv[optind], "wb")) == NULL ) { perror (argv[optind]); exit (1); }