From 704599d3a9f0aff464afba09b49f0c601bb48af3 Mon Sep 17 00:00:00 2001 From: Pierre Joye Date: Thu, 1 Jan 2009 19:32:24 +0000 Subject: [PATCH] - restore fix for binary mode on win (regression introduced in 5.2.8) --- ext/zip/lib/zip_close.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/zip/lib/zip_close.c b/ext/zip/lib/zip_close.c index c0df23a874..289ca7afb3 100644 --- a/ext/zip/lib/zip_close.c +++ b/ext/zip/lib/zip_close.c @@ -636,13 +636,14 @@ _zip_create_temp_output(struct zip *za, FILE **outp) char *temp; int tfd; FILE *tfp; + int len = strlen(za->zn) + 8; if ((temp=(char *)malloc(strlen(za->zn)+8)) == NULL) { _zip_error_set(&za->error, ZIP_ER_MEMORY, 0); return NULL; } - sprintf(temp, "%s.XXXXXX", za->zn); + snprintf(temp, len, "%s.XXXXXX", za->zn); if ((tfd=mkstemp(temp)) == -1) { _zip_error_set(&za->error, ZIP_ER_TMPOPEN, errno); @@ -657,6 +658,9 @@ _zip_create_temp_output(struct zip *za, FILE **outp) free(temp); return NULL; } +#ifdef PHP_WIN32 + _setmode(_fileno(tfp), _O_BINARY ); +#endif *outp = tfp; return temp; -- 2.50.1