diff options
author | Peter Breitenlohner <peb@mppmu.mpg.de> | 2010-10-25 11:16:44 +0000 |
---|---|---|
committer | Peter Breitenlohner <peb@mppmu.mpg.de> | 2010-10-25 11:16:44 +0000 |
commit | f4c419bd85d9bab630c02c08f2d236b7eaf15c8e (patch) | |
tree | aefc53cf3823da87f591965ab42f2cf5067bb3d0 /Build/source/texk/dvi2tty/dvi2tty-5.3.1-PATCHES/patch-50-kpathsea | |
parent | ff6430aab33f47525723d44443e158766c1fc39d (diff) |
dvi2tty 5.3.1 (preliminary)
git-svn-id: svn://tug.org/texlive/trunk@20195 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvi2tty/dvi2tty-5.3.1-PATCHES/patch-50-kpathsea')
-rw-r--r-- | Build/source/texk/dvi2tty/dvi2tty-5.3.1-PATCHES/patch-50-kpathsea | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/Build/source/texk/dvi2tty/dvi2tty-5.3.1-PATCHES/patch-50-kpathsea b/Build/source/texk/dvi2tty/dvi2tty-5.3.1-PATCHES/patch-50-kpathsea new file mode 100644 index 00000000000..9ca1eb8f22b --- /dev/null +++ b/Build/source/texk/dvi2tty/dvi2tty-5.3.1-PATCHES/patch-50-kpathsea @@ -0,0 +1,116 @@ +diff -ur dvi2tty-5.3.1.orig/disdvi.c dvi2tty-5.3.1/disdvi.c +--- dvi2tty-5.3.1.orig/disdvi.c 2010-10-21 08:07:43.000000000 +0200 ++++ dvi2tty-5.3.1/disdvi.c 2010-10-22 09:08:02.000000000 +0200 +@@ -60,6 +60,11 @@ + # include "macintosh.h" + #endif + ++#if defined(KPATHSEA) ++#define NO_DEBUG 1 ++#include <kpathsea/config.h> ++#include <kpathsea/lib.h> ++#endif + + + /* +@@ -181,7 +150,7 @@ + else + dvifp = stdin; + +-#if defined(MSDOS) ++#if defined(MSDOS) || defined(WIN32) + setmode(fileno(dvifp), O_BINARY); + #endif + +diff -ur dvi2tty-5.3.1.orig/dvi2tty.c dvi2tty-5.3.1/dvi2tty.c +--- dvi2tty-5.3.1.orig/dvi2tty.c 2010-10-21 11:15:43.000000000 +0200 ++++ dvi2tty-5.3.1/dvi2tty.c 2010-10-22 14:10:28.000000000 +0200 +@@ -301,7 +301,7 @@ + #if defined(THINK_C) + if (inputfromfile) { + #endif +-#if defined(MSDOS) ++#if defined(MSDOS) || defined(WIN32) + if ((DVIfile = fopen(DVIfilename, "rb")) == NULL) + #else + # if defined(VMS) +@@ -648,6 +648,48 @@ + } /* plcnxt */ + + ++#ifdef KPATHSEA ++#ifdef __DJGPP__ ++/* `stat' is way too expensive for such a simple job. */ ++#define READABLE(fn, st) \ ++ (access (fn, R_OK) == 0 && access (fn, D_OK) == -1) ++#else ++#define READABLE(fn, st) \ ++ (access (fn, R_OK) == 0 && stat (fn, &(st)) == 0 && !S_ISDIR (st.st_mode)) ++#endif ++ ++static char * ++readable_file(char *name) ++{ ++ char *ret; ++ ++#ifdef WIN32 ++ unsigned int fa; ++ ++ fa = GetFileAttributes(name); ++ if (fa == 0xFFFFFFFF) { ++ ret = NULL; ++ } ++ else if ((fa & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY) { ++ ret = NULL; ++ } ++ else { ++ ret = name; ++ } ++#else /* ! WIN32 */ ++ struct stat st; ++ ++ if (READABLE (name, st)) { ++ ret = name; ++ ++ } else { /* Some other error. */ ++ ret = NULL; ++ } ++#endif ++ return ret; ++ ++} ++#endif + + /* + * GETFNAME -- {Make sure we have a .dvi filename. +@@ -661,7 +704,11 @@ + if (i == 0) + usage(ign); + strcpy(DVIfilename, str); ++#ifdef KPATHSEA ++ if (!readable_file(DVIfilename)) ++#else + if ((i < 5) || strcmp(str+i-4, ".dvi")) ++#endif + strcat(DVIfilename, ".dvi"); + + return; +diff -ur dvi2tty-5.3.1.orig/dvi2tty.h dvi2tty-5.3.1/dvi2tty.h +--- dvi2tty-5.3.1.orig/dvi2tty.h 2003-01-23 04:01:04.000000000 +0100 ++++ dvi2tty-5.3.1/dvi2tty.h 2010-10-22 15:08:40.000000000 +0200 +@@ -32,8 +32,15 @@ + # endif + #endif + ++#if defined(KPATHSEA) ++#define NO_DEBUG 1 ++#include <kpathsea/config.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++#else + #define TRUE 1 + #define FALSE 0 ++#endif + #define nil NULL + + /* |