Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2007-06-27 16:46:35 +0400
committerEric Blake <eblake@redhat.com>2007-06-27 16:46:35 +0400
commit048e00e01d23d1f8e59eb990ddc740b779f8f1f5 (patch)
treeca79cdb999e2d90381bc3afa66bfe8b899b93f51 /winsup/cygwin/assert.cc
parent3473e6bd7b268deb4314659009512d846a75b368 (diff)
* assert.cc (__assert_func): New function, to match newlib header
change. * cygwin.din: Export __assert_func. * include/cygwin/version.h: Bump API minor number.
Diffstat (limited to 'winsup/cygwin/assert.cc')
-rw-r--r--winsup/cygwin/assert.cc19
1 files changed, 14 insertions, 5 deletions
diff --git a/winsup/cygwin/assert.cc b/winsup/cygwin/assert.cc
index 063c7b852..2d50c190c 100644
--- a/winsup/cygwin/assert.cc
+++ b/winsup/cygwin/assert.cc
@@ -1,6 +1,6 @@
/* assert.cc: Handle the assert macro for WIN32.
- Copyright 1997, 1998, 2000, 2001 Red Hat, Inc.
+ Copyright 1997, 1998, 2000, 2001, 2007 Red Hat, Inc.
This file is part of Cygwin.
@@ -23,6 +23,13 @@ details. */
extern "C" void
__assert (const char *file, int line, const char *failedexpr)
{
+ __assert_func (file, line, NULL, failedexpr);
+}
+
+extern "C" void
+__assert_func (const char *file, int line, const char *func,
+ const char *failedexpr)
+{
HANDLE h;
/* If we don't have a console in a Windows program, then bring up a
@@ -35,15 +42,17 @@ __assert (const char *file, int line, const char *failedexpr)
char *buf;
buf = (char *) alloca (100 + strlen (failedexpr));
- __small_sprintf (buf, "Failed assertion\n\t%s\nat line %d of file %s",
- failedexpr, line, file);
+ __small_sprintf (buf, "Failed assertion\n\t%s\nat line %d of file %s%s%s",
+ failedexpr, line, file,
+ func ? "\nin function " : "", func ? func : "");
MessageBox (NULL, buf, NULL, MB_OK | MB_ICONERROR | MB_TASKMODAL);
}
else
{
CloseHandle (h);
- small_printf ("assertion \"%s\" failed: file \"%s\", line %d\n",
- failedexpr, file, line);
+ small_printf ("assertion \"%s\" failed: file \"%s\", line %d%s%s\n",
+ failedexpr, file, line,
+ func ? ", function: " : "", func ? func : "");
}
#ifdef DEBUGGING