diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libarchive/archive_check_magic.c | 8 | ||||
-rw-r--r-- | lib/libarchive/archive_entry.c | 9 |
2 files changed, 8 insertions, 9 deletions
diff --git a/lib/libarchive/archive_check_magic.c b/lib/libarchive/archive_check_magic.c index b8934ce..e1d35c5 100644 --- a/lib/libarchive/archive_check_magic.c +++ b/lib/libarchive/archive_check_magic.c @@ -40,6 +40,10 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_UNISTD_H #include <unistd.h> #endif +#ifdef _WIN32 +#include <windows.h> +#include <winbase.h> +#endif #include "archive_private.h" @@ -52,6 +56,10 @@ errmsg(const char *m) static void diediedie(void) { +#if defined(_WIN32) && defined(_DEBUG) + /* Cause a breakpoint exception */ + DebugBreak(); +#endif *(char *)0 = 1; /* Deliberately segfault and force a coredump. */ _exit(1); /* If that didn't work, just exit with an error. */ } diff --git a/lib/libarchive/archive_entry.c b/lib/libarchive/archive_entry.c index 0636324..095e493 100644 --- a/lib/libarchive/archive_entry.c +++ b/lib/libarchive/archive_entry.c @@ -62,9 +62,6 @@ __FBSDID("$FreeBSD$"); #ifdef HAVE_WCHAR_H #include <wchar.h> #endif -#ifdef _WIN32 -#include <windows.h> -#endif #include "archive.h" #include "archive_entry.h" @@ -230,13 +227,7 @@ aes_get_wcs(struct aes *aes) w = (wchar_t *)malloc((wcs_length + 1) * sizeof(wchar_t)); if (w == NULL) __archive_errx(1, "No memory for aes_get_wcs()"); -#ifndef _WIN32 r = mbstowcs(w, aes->aes_mbs.s, wcs_length); -#else - r = MultiByteToWideChar(CP_ACP, MB_ERR_INVALID_CHARS, - aes->aes_mbs.s, (int)aes->aes_mbs.length, w, - (int)wcs_length); -#endif if (r > 0) { w[r] = 0; aes->aes_set |= AES_SET_WCS; |