summaryrefslogtreecommitdiff
path: root/Build/source/libs/zziplib/zziplib-src
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2017-06-21 22:48:40 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2017-06-21 22:48:40 +0000
commit4b738b8c714b443607b8c081a6d472bd9b9f0648 (patch)
treecc54fb102e30b6e3b7b62f01c5b56b7da1ae750e /Build/source/libs/zziplib/zziplib-src
parent6489aa296153416b1d6a1a8d56b1a509cbc054a0 (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')
-rw-r--r--Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-big.c16
-rw-r--r--Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mem.c16
-rw-r--r--Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-mix.c16
-rw-r--r--Build/source/libs/zziplib/zziplib-src/bins/unzzipcat-zip.c16
-rw-r--r--Build/source/libs/zziplib/zziplib-src/bins/unzzipdir-big.c2
-rw-r--r--Build/source/libs/zziplib/zziplib-src/bins/unzzipshow.c2
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;