---
 mingw-w64-libraries/winstorecompat/Makefile.am    |  1 +
 mingw-w64-libraries/winstorecompat/Makefile.in    | 10 ++++-
 mingw-w64-libraries/winstorecompat/src/_wassert.c | 50 +++++++++++++++++++++++
 3 files changed, 59 insertions(+), 2 deletions(-)
 create mode 100644 mingw-w64-libraries/winstorecompat/src/_wassert.c

diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am 
b/mingw-w64-libraries/winstorecompat/Makefile.am
index c4ae286..769b087 100644
--- a/mingw-w64-libraries/winstorecompat/Makefile.am
+++ b/mingw-w64-libraries/winstorecompat/Makefile.am
@@ -5,6 +5,7 @@ AM_CFLAGS = -Wall -Wstrict-aliasing=2 -pedantic
 lib_LIBRARIES = libwinstorecompat.a
 
 libwinstorecompat_a_SOURCES = \
+  src/_wassert.c \
   src/CreateEventW.c \
   src/CreateMutexW.c \
   src/CreateSemaphoreW.c \
diff --git a/mingw-w64-libraries/winstorecompat/Makefile.in 
b/mingw-w64-libraries/winstorecompat/Makefile.in
index ea4b3db..6782f1f 100644
--- a/mingw-w64-libraries/winstorecompat/Makefile.in
+++ b/mingw-w64-libraries/winstorecompat/Makefile.in
@@ -96,8 +96,9 @@ ARFLAGS = cru
 libwinstorecompat_a_AR = $(AR) $(ARFLAGS)
 libwinstorecompat_a_LIBADD =
 am__dirstamp = $(am__leading_dot)dirstamp
-am_libwinstorecompat_a_OBJECTS = src/CreateEventW.$(OBJEXT) \
-       src/CreateMutexW.$(OBJEXT) src/CreateSemaphoreW.$(OBJEXT) \
+am_libwinstorecompat_a_OBJECTS = src/_wassert.$(OBJEXT) \
+       src/CreateEventW.$(OBJEXT) src/CreateMutexW.$(OBJEXT) \
+       src/CreateSemaphoreW.$(OBJEXT) \
        src/InitializeCriticalSection.$(OBJEXT) \
        src/GetFileAttributes.$(OBJEXT) \
        src/WaitForSingleObject.$(OBJEXT) src/LoadLibraryW.$(OBJEXT) \
@@ -236,6 +237,7 @@ AUTOMAKE_OPTIONS = foreign subdir-objects
 AM_CFLAGS = -Wall -Wstrict-aliasing=2 -pedantic
 lib_LIBRARIES = libwinstorecompat.a
 libwinstorecompat_a_SOURCES = \
+  src/_wassert.c \
   src/CreateEventW.c \
   src/CreateMutexW.c \
   src/CreateSemaphoreW.c \
@@ -339,6 +341,8 @@ src/$(am__dirstamp):
 src/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) src/$(DEPDIR)
        @: > src/$(DEPDIR)/$(am__dirstamp)
+src/_wassert.$(OBJEXT): src/$(am__dirstamp) \
+       src/$(DEPDIR)/$(am__dirstamp)
 src/CreateEventW.$(OBJEXT): src/$(am__dirstamp) \
        src/$(DEPDIR)/$(am__dirstamp)
 src/CreateMutexW.$(OBJEXT): src/$(am__dirstamp) \
@@ -420,6 +424,7 @@ mostlyclean-compile:
        -rm -f src/UnhandledExceptionFilter.$(OBJEXT)
        -rm -f src/VirtualProtect.$(OBJEXT)
        -rm -f src/WaitForSingleObject.$(OBJEXT)
+       -rm -f src/_wassert.$(OBJEXT)
        -rm -f src/getenv.$(OBJEXT)
        -rm -f src/getpid.$(OBJEXT)
 
@@ -450,6 +455,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/$(DEPDIR)/UnhandledExceptionFilter.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/VirtualProtect.Po@am__quote@
 @AMDEP_TRUE@@am__include@ 
@am__quote@src/$(DEPDIR)/WaitForSingleObject.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/_wassert.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/getenv.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/getpid.Po@am__quote@
 
diff --git a/mingw-w64-libraries/winstorecompat/src/_wassert.c 
b/mingw-w64-libraries/winstorecompat/src/_wassert.c
new file mode 100644
index 0000000..d643b38
--- /dev/null
+++ b/mingw-w64-libraries/winstorecompat/src/_wassert.c
@@ -0,0 +1,50 @@
+/*
+    Copyright (c) 2013 mingw-w64 project
+
+    Contributing authors: Rafaël Carré
+
+    Permission is hereby granted, free of charge, to any person obtaining a
+    copy of this software and associated documentation files (the "Software"),
+    to deal in the Software without restriction, including without limitation
+    the rights to use, copy, modify, merge, publish, distribute, sublicense,
+    and/or sell copies of the Software, and to permit persons to whom the
+    Software is furnished to do so, subject to the following conditions:
+
+    The above copyright notice and this permission notice shall be included in
+    all copies or substantial portions of the Software.
+
+    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+    DEALINGS IN THE SOFTWARE.
+*/
+
+#define _wassert ___wassert
+#include <windows.h>
+#include <wchar.h>
+#include <signal.h>
+#undef _wassert
+
+extern int mingw_app_type;
+
+void __cdecl _wassert(const wchar_t *_Message,const wchar_t *_File,unsigned 
_Line)
+{
+  wchar_t *msgbuf = (wchar_t *) malloc (8192*sizeof(wchar_t));
+
+  if (!_File || _File[0] == 0)
+    _File = L"<unknown>";
+  if (!_Message || _Message[0] == 0)
+    _Message = L"?";
+  _snwprintf (msgbuf, 8191, 
+          L"Assertion failed!\n\nFile: %ws, Line %u\n\nExpression: %ws",
+          _File,_Line, _Message);
+  if (mingw_app_type == 0)
+    fwprintf (stderr, L"%ws\n", msgbuf);
+  else
+    OutputDebugStringW(msgbuf);
+
+  abort ();
+}
-- 
1.8.1.2

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to