提交 8e16df2c 编写于 作者: M Mark Adler

More fixes for gzopen_w().

Also need to #include <stddef.h> for zlib.h, and need to workaround
the inability to use wide characters in constructed error messages
with zlib's interface.
上级 a1af6e96
......@@ -185,12 +185,13 @@ local gzFile gz_open(path, fd, mode)
}
/* save the path name for error messages */
state->path = malloc(strlen(path) + 1);
# define WPATH "<widepath>"
state->path = malloc(strlen(fd == -2 ? WPATH : (path) + 1);
if (state->path == NULL) {
free(state);
return NULL;
}
strcpy(state->path, path);
strcpy(state->path, fd == -2 ? WPATH : path);
/* compute the flags for open() */
oflag =
......
......@@ -402,6 +402,10 @@ typedef uLong FAR uLongf;
# endif
#endif
#ifdef _WIN32
# include <stddef.h> /* for wchar_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
......
......@@ -404,6 +404,10 @@ typedef uLong FAR uLongf;
# endif
#endif
#ifdef _WIN32
# include <stddef.h> /* for wchar_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
......
......@@ -402,6 +402,10 @@ typedef uLong FAR uLongf;
# endif
#endif
#ifdef _WIN32
# include <stddef.h> /* for wchar_t */
#endif
/* a little trick to accommodate both "#define _LARGEFILE64_SOURCE" and
* "#define _LARGEFILE64_SOURCE 1" as requesting 64-bit operations, (even
* though the former does not conform to the LFS document), but considering
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册