mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-10 03:16:17 +01:00
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.
This commit is contained in:
parent
5991248acf
commit
549faafc02
@ -1,7 +1,7 @@
|
||||
/* GMODULE - GLIB wrapper code for dynamic module loading
|
||||
* Copyright (C) 1998, 2000 Tim Janik
|
||||
*
|
||||
* WIN32 GMODULE implementation
|
||||
* Win32 GMODULE implementation
|
||||
* Copyright (C) 1998 Tor Lillqvist
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@ -34,6 +34,15 @@
|
||||
#include <stdio.h>
|
||||
#include <windows.h>
|
||||
|
||||
static void
|
||||
set_error (void)
|
||||
{
|
||||
gchar *error = g_win32_error_message (GetLastError ());
|
||||
|
||||
g_module_set_error (error);
|
||||
g_free (error);
|
||||
}
|
||||
|
||||
/* --- functions --- */
|
||||
static gpointer
|
||||
_g_module_open (const gchar *file_name,
|
||||
@ -43,13 +52,8 @@ _g_module_open (const gchar *file_name,
|
||||
|
||||
handle = LoadLibrary (file_name);
|
||||
if (!handle)
|
||||
{
|
||||
gchar error[100];
|
||||
set_error ();
|
||||
|
||||
sprintf (error, "Error code %d", GetLastError ());
|
||||
g_module_set_error (error);
|
||||
}
|
||||
|
||||
return handle;
|
||||
}
|
||||
|
||||
@ -60,12 +64,7 @@ _g_module_self (void)
|
||||
|
||||
handle = GetModuleHandle (NULL);
|
||||
if (!handle)
|
||||
{
|
||||
gchar error[100];
|
||||
|
||||
sprintf (error, "Error code %d", GetLastError ());
|
||||
g_module_set_error (error);
|
||||
}
|
||||
set_error ();
|
||||
|
||||
return handle;
|
||||
}
|
||||
@ -75,12 +74,7 @@ _g_module_close (gpointer handle,
|
||||
gboolean is_unref)
|
||||
{
|
||||
if (!FreeLibrary (handle))
|
||||
{
|
||||
gchar error[100];
|
||||
|
||||
sprintf (error, "Error code %d", GetLastError ());
|
||||
g_module_set_error (error);
|
||||
}
|
||||
set_error ();
|
||||
}
|
||||
|
||||
static gpointer
|
||||
@ -91,13 +85,8 @@ _g_module_symbol (gpointer handle,
|
||||
|
||||
p = GetProcAddress (handle, symbol_name);
|
||||
if (!p)
|
||||
{
|
||||
gchar error[100];
|
||||
set_error ();
|
||||
|
||||
sprintf (error, "Error code %d", GetLastError ());
|
||||
g_module_set_error (error);
|
||||
}
|
||||
|
||||
return p;
|
||||
}
|
||||
|
||||
|
@ -168,17 +168,6 @@ _g_module_build_path (const gchar *directory,
|
||||
}
|
||||
#endif /* no implementation */
|
||||
|
||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
||||
int __stdcall
|
||||
LibMain (void *hinstDll,
|
||||
unsigned long dwReason,
|
||||
void *reserved)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
||||
|
||||
|
||||
/* --- functions --- */
|
||||
gboolean
|
||||
g_module_supported (void)
|
||||
|
@ -27,16 +27,6 @@
|
||||
#include <gmodule.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
||||
int __stdcall
|
||||
LibMain(void *hinstDll,
|
||||
unsigned long dwReason,
|
||||
void *reserved)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
||||
|
||||
G_MODULE_EXPORT void
|
||||
gplugin_a_func (void)
|
||||
{
|
||||
|
@ -26,16 +26,6 @@
|
||||
|
||||
#include <gmodule.h>
|
||||
|
||||
#if defined (NATIVE_WIN32) && defined (__LCC__)
|
||||
int __stdcall
|
||||
LibMain(void *hinstDll,
|
||||
unsigned long dwReason,
|
||||
void *reserved)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
#endif /* NATIVE_WIN32 && __LCC__ */
|
||||
|
||||
G_MODULE_EXPORT const gchar*
|
||||
g_module_check_init (GModule *module)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user