summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkientzle <kientzle@FreeBSD.org>2009-03-05 00:44:12 +0000
committerkientzle <kientzle@FreeBSD.org>2009-03-05 00:44:12 +0000
commit1b605ed6f8f06715dccab8708ba5d26251cde30a (patch)
treeaae93d76747a9040e63fa3d425c6279ef15e366e
parent65384b550b781f5df9c9e0e1c49bce608f97ea1e (diff)
downloadFreeBSD-src-1b605ed6f8f06715dccab8708ba5d26251cde30a.zip
FreeBSD-src-1b605ed6f8f06715dccab8708ba5d26251cde30a.tar.gz
Merge r356 and r358 from libarchive.googlecode.com: Remove a Windows
special case from archive_entry.c, add one to archive_check_magic.c.
-rw-r--r--lib/libarchive/archive_check_magic.c8
-rw-r--r--lib/libarchive/archive_entry.c9
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;
OpenPOWER on IntegriCloud