diff options
author | Tor Lillqvist <tml@iki.fi> | 1999-11-08 09:49:10 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 1999-11-08 09:49:10 +0000 |
commit | 22a15d33deaedc0cfa17f6dc7650036b7098d6dc (patch) | |
tree | e3fe7e2b1dd72b7773be07092856d7505e642212 /gwin32.c | |
parent | 926d0258196facc67aa1cd81e9eb81e0769f1d15 (diff) | |
download | glib-22a15d33deaedc0cfa17f6dc7650036b7098d6dc.tar.gz |
New function that returns the message string for a Win32 error code.
2000-03-04 Tor Lillqvist <tml@iki.fi>
* gwin32.c (g_win32_error_message): New function that returns the
message string for a Win32 error code.
* glib.h: Declare it.
* glib.def: Export it, plus g_node_copy.
* gmodule-win32.c: Call g_win32_error_message() to get the error
message strings.
* libgplugin_a.c
* libgplugin_b.c
* gmodule.c: Remove LibMain functions that were needed by LCC,
which is not a supported compiler.
* testgmodule.c (main): Test for G_MODULE_IMPL ==
G_MODULE_IMPL_WIN32, not G_OS_WIN32.
* gmoduleconf.h.win32: Remove LCC stuff from here, too.
Diffstat (limited to 'gwin32.c')
-rw-r--r-- | gwin32.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -793,3 +793,26 @@ g_win32_getlocale (void) return g_strdup (bfr); } + +gchar * +g_win32_error_message (gint error) +{ + gchar *msg; + gchar *retval; + int nbytes; + + nbytes = FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER + |FORMAT_MESSAGE_IGNORE_INSERTS + |FORMAT_MESSAGE_FROM_SYSTEM, + NULL, error, 0, + (LPTSTR) &msg, 0, NULL); + if (nbytes > 2 && error[nbytes-1] == '\n' && error[nbytes-2] == '\r') + error[nbytes-2] = '\0'; + + retval = g_strdup (msg); + + if (msg != NULL) + LocalFree (msg); + + return retval; +} |