diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2017-06-21 22:48:40 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2017-06-21 22:48:40 +0000 |
commit | 4b738b8c714b443607b8c081a6d472bd9b9f0648 (patch) | |
tree | cc54fb102e30b6e3b7b62f01c5b56b7da1ae750e /Build/source/libs/zziplib/zziplib-src | |
parent | 6489aa296153416b1d6a1a8d56b1a509cbc054a0 (diff) |
improve zziplib
git-svn-id: svn://tug.org/texlive/trunk@44660 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/libs/zziplib/zziplib-src')
6 files changed, 66 insertions, 2 deletions
diff --git a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c index 5868c4ec5ae..3774939aacb 100644 --- a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c +++ b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c @@ -62,6 +62,22 @@ static void unzzip_cat_file(FILE* disk, char* name, FILE* out) } } +#if !defined(ZZIP_HAVE_STRNDUP) +static char * +strndup(char *p, size_t maxlen) +{ + char *r; + if (!p) + return NULL; + r = malloc(maxlen + 1); + if (!r) + return NULL; + strncpy(r, p, maxlen); + r[maxlen] = '\0'; + return r; +} +#endif + static FILE* create_fopen(char* name, char* mode, int subdirs) { if (subdirs) diff --git a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c index 89d80c721cf..f7d9e6d152f 100644 --- a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c +++ b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c @@ -57,6 +57,22 @@ static void unzzip_mem_disk_cat_file(ZZIP_MEM_DISK* disk, char* name, FILE* out) } } +#if !defined(ZZIP_HAVE_STRNDUP) +static char * +strndup(char *p, size_t maxlen) +{ + char *r; + if (!p) + return NULL; + r = malloc(maxlen + 1); + if (!r) + return NULL; + strncpy(r, p, maxlen); + r[maxlen] = '\0'; + return r; +} +#endif + static FILE* create_fopen(char* name, char* mode, int subdirs) { if (subdirs) diff --git a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c index ee40b19c4a7..09aad672799 100644 --- a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c +++ b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c @@ -43,6 +43,22 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) } } +#if !defined(ZZIP_HAVE_STRNDUP) +static char * +strndup(char *p, size_t maxlen) +{ + char *r; + if (!p) + return NULL; + r = malloc(maxlen + 1); + if (!r) + return NULL; + strncpy(r, p, maxlen); + r[maxlen] = '\0'; + return r; +} +#endif + static FILE* create_fopen(char* name, char* mode, int subdirs) { if (subdirs) diff --git a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c index 72d89cdb5d6..750c95f6345 100644 --- a/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c +++ b/Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c @@ -43,6 +43,22 @@ static void unzzip_cat_file(ZZIP_DIR* disk, char* name, FILE* out) } } +#if !defined(ZZIP_HAVE_STRNDUP) +static char * +strndup(char *p, size_t maxlen) +{ + char *r; + if (!p) + return NULL; + r = malloc(maxlen + 1); + if (!r) + return NULL; + strncpy(r, p, maxlen); + r[maxlen] = '\0'; + return r; +} +#endif + static FILE* create_fopen(char* name, char* mode, int subdirs) { if (subdirs) diff --git a/Build/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c b/Build/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c index ceec003ffb6..a1d14119fa0 100644 --- a/Build/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c +++ b/Build/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c @@ -35,7 +35,7 @@ int unzzip_list (int argc, char ** argv) int argn; FILE* disk; - disk = fopen (argv[1], "r"); + disk = fopen (argv[1], "rb"); if (! disk) { perror(argv[1]); return -1; diff --git a/Build/source/libs/zziplib/zziplib-src/bins/unzzipshow.c b/Build/source/libs/zziplib/zziplib-src/bins/unzzipshow.c index 7ba2d407a6f..58d1add95a8 100644 --- a/Build/source/libs/zziplib/zziplib-src/bins/unzzipshow.c +++ b/Build/source/libs/zziplib/zziplib-src/bins/unzzipshow.c @@ -68,7 +68,7 @@ main (int argc, char ** argv) return 0; } - disk = fopen (argv[1], "r"); + disk = fopen (argv[1], "rb"); if (! disk) { perror(argv[1]); return -1; |