Further compile fixes.
diff --git a/lib/zip_source_file_common.c b/lib/zip_source_file_common.c
index 90f9b5a..12ed678 100644
--- a/lib/zip_source_file_common.c
+++ b/lib/zip_source_file_common.c
@@ -100,7 +100,7 @@
ctx->ops_userdata = ops_userdata;
ctx->fname = NULL;
if (fname) {
- if ((ctx->fname = ops->string_duplicate(fname)) == NULL) {
+ if ((ctx->fname = ops->string_duplicate(ctx, fname)) == NULL) {
zip_error_set(error, ZIP_ER_MEMORY, 0);
free(ctx);
return NULL;
diff --git a/lib/zip_source_file_stdio.c b/lib/zip_source_file_stdio.c
index 538797c..6fda8ec 100644
--- a/lib/zip_source_file_stdio.c
+++ b/lib/zip_source_file_stdio.c
@@ -59,7 +59,7 @@
NULL,
_zip_stdio_op_seek,
_zip_stdio_op_stat,
- strdup,
+ NULL,
_zip_stdio_op_tell,
NULL
};
diff --git a/lib/zip_source_file_win32.h b/lib/zip_source_file_win32.h
index c844bf3..66e3bea 100644
--- a/lib/zip_source_file_win32.h
+++ b/lib/zip_source_file_win32.h
@@ -50,11 +50,11 @@
struct zip_source_file_win32_write_operations {
char *(*allocate_tempname)(const char *name, size_t extra_chars, size_t *lengthp);
HANDLE (*create_file)(const char *name, DWORD access, DWORD share_mode, PSECURITY_ATTRIBUTES security_attributes, DWORD creation_disposition, DWORD file_attributes, HANDLE template_file);
- bool (*delete_file)(const char *name);
+ BOOL (*delete_file)(const char *name);
DWORD (*get_file_attributes)(const char *name);
void (*make_tempname)(char *buf, size_t len, const char *name, int i);
- bool (*move_file)(const char *from, const char *to);
- bool (*set_file_attributes)(const char *name, DWORD attributes);
+ BOOL (*move_file)(const char *from, const char *to, DWORD flags);
+ BOOL (*set_file_attributes)(const char *name, DWORD attributes);
char *(*string_duplicate)(const char *string);
};
diff --git a/lib/zip_source_file_win32_utf16.c b/lib/zip_source_file_win32_utf16.c
index 7b57970..e3a61f0 100644
--- a/lib/zip_source_file_win32_utf16.c
+++ b/lib/zip_source_file_win32_utf16.c
@@ -35,11 +35,11 @@
static char *utf16_allocate_tempname(const char *name, size_t extra_chars, size_t *lengthp);
static HANDLE utf16_create_file(const char *name, DWORD access, DWORD share_mode, PSECURITY_ATTRIBUTES security_attributes, DWORD creation_disposition, DWORD file_attributes, HANDLE template_file);
-static bool utf16_delete_file(const char *name);
+static BOOL utf16_delete_file(const char *name);
static DWORD utf16_get_file_attributes(const char *name);
static void utf16_make_tempname(char *buf, size_t len, const char *name, int i);
-static bool utf16_move_file(const char *from, const char *to, DWORD flags);
-static bool utf16_set_file_attributes(const char *name, DWORD attributes);
+static BOOL utf16_move_file(const char *from, const char *to, DWORD flags);
+static BOOL utf16_set_file_attributes(const char *name, DWORD attributes);
static char *utf16_strdup(const char *string);
zip_source_file_win32_write_operations_t ops_utf16 = {
@@ -98,13 +98,13 @@
}
-bool
+static BOOL
utf16_delete_file(const char *name) {
return DeleteFileW((const wchar_t *)name);
}
-DWORD
+static DWORD
utf16_get_file_attributes(const char *name) {
return GetFileAttributesW((const wchar_t *)name);
}
@@ -115,13 +115,13 @@
_snwprintf((wchar_t *)buf, len, L"%s.%08x", (const wchar_t *)name, i);
}
-static
-bool utf16_move_file(const char *from, const char *to, DWORD flags) {
+static BOOL
+utf16_move_file(const char *from, const char *to, DWORD flags) {
return MoveFileExW((const wchar_t *)from, (const wchar_t *)to, flags);
}
-static bool
+static BOOL
utf16_set_file_attributes(const char *name, DWORD attributes) {
return SetFileAttributesW((const wchar_t *)name, attributes);
}
diff --git a/lib/zip_source_file_win32_write.c b/lib/zip_source_file_win32_write.c
index 5de6ed4..15c66a6 100644
--- a/lib/zip_source_file_win32_write.c
+++ b/lib/zip_source_file_win32_write.c
@@ -40,7 +40,7 @@
static zip_int64_t _zip_win32_write_op_remove(zip_source_file_context_t *ctx);
static void _zip_win32_write_op_rollback_write(zip_source_file_context_t *ctx);
static bool _zip_win32_write_op_stat(zip_source_file_context_t *ctx, zip_source_file_stat_t *st);
-static char *_zip_win32_write_strdup(const char *string);
+static char *_zip_win32_write_strdup(zip_source_file_context_t *ctx, const char *string);
static HANDLE win32_write_open(zip_source_file_context_t *ctx, const char *name, bool temporary, PSECURITY_ATTRIBUTES security_attributes);