mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-27 17:46:53 +02:00
changed the return type for the GModuleCheckInit function to be a string,
Mon Aug 17 03:41:52 1998 Tim Janik <timj@gtk.org> * gmodule.h: * gmodule.c (g_module_open): changed the return type for the GModuleCheckInit function to be a string, describing the error condition. (g_module_symbol): show the failing symbol on error messages.
This commit is contained in:
parent
e93e494518
commit
e746ca4f15
@ -1,3 +1,11 @@
|
|||||||
|
Mon Aug 17 03:41:52 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
|
* gmodule.h:
|
||||||
|
* gmodule.c (g_module_open): changed the return type for the
|
||||||
|
GModuleCheckInit function to be a string, describing the error
|
||||||
|
condition.
|
||||||
|
(g_module_symbol): show the failing symbol on error messages.
|
||||||
|
|
||||||
Fri Aug 14 02:24:39 1998 Tim Janik <timj@gtk.org>
|
Fri Aug 14 02:24:39 1998 Tim Janik <timj@gtk.org>
|
||||||
|
|
||||||
* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
|
* Makefile.am: feature the G_LOG_DOMAIN macro to set the log domain
|
||||||
|
@ -165,7 +165,7 @@ g_module_open (const gchar *file_name,
|
|||||||
{
|
{
|
||||||
gchar *saved_error;
|
gchar *saved_error;
|
||||||
GModuleCheckInit check_init;
|
GModuleCheckInit check_init;
|
||||||
gboolean check_failed = FALSE;
|
const gchar *check_failed = NULL;
|
||||||
|
|
||||||
/* search the module list by handle, since file names are not unique */
|
/* search the module list by handle, since file names are not unique */
|
||||||
module = g_module_find_by_handle (handle);
|
module = g_module_find_by_handle (handle);
|
||||||
@ -200,9 +200,13 @@ g_module_open (const gchar *file_name,
|
|||||||
|
|
||||||
if (check_failed)
|
if (check_failed)
|
||||||
{
|
{
|
||||||
|
gchar *error;
|
||||||
|
|
||||||
|
error = g_strconcat ("GModule initialization check failed: ", check_failed, NULL);
|
||||||
g_module_close (module);
|
g_module_close (module);
|
||||||
module = NULL;
|
module = NULL;
|
||||||
g_module_set_error ("GModule initialization check failed");
|
g_module_set_error (error);
|
||||||
|
g_free (error);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
g_module_set_error (saved_error);
|
g_module_set_error (saved_error);
|
||||||
@ -285,6 +289,11 @@ g_module_symbol (GModule *module,
|
|||||||
|
|
||||||
if (module_error)
|
if (module_error)
|
||||||
{
|
{
|
||||||
|
gchar *error;
|
||||||
|
|
||||||
|
error = g_strconcat ("`", symbol_name, "': ", module_error, NULL);
|
||||||
|
g_module_set_error (error);
|
||||||
|
g_free (error);
|
||||||
*symbol = NULL;
|
*symbol = NULL;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -43,7 +43,7 @@ typedef enum
|
|||||||
} GModuleFlags;
|
} GModuleFlags;
|
||||||
|
|
||||||
typedef struct _GModule GModule;
|
typedef struct _GModule GModule;
|
||||||
typedef gboolean (*GModuleCheckInit) (GModule *module);
|
typedef const gchar* (*GModuleCheckInit) (GModule *module);
|
||||||
typedef void (*GModuleDeInit) (GModule *module);
|
typedef void (*GModuleDeInit) (GModule *module);
|
||||||
|
|
||||||
/* return TRUE if dynamic module loading is supported */
|
/* return TRUE if dynamic module loading is supported */
|
||||||
|
@ -18,12 +18,12 @@
|
|||||||
*/
|
*/
|
||||||
#include <gmodule.h>
|
#include <gmodule.h>
|
||||||
|
|
||||||
G_MODULE_EXPORT gboolean
|
G_MODULE_EXPORT const gchar*
|
||||||
g_module_check_init (GModule *module)
|
g_module_check_init (GModule *module)
|
||||||
{
|
{
|
||||||
g_print ("GPluginB: check-init\n");
|
g_print ("GPluginB: check-init\n");
|
||||||
|
|
||||||
return 0;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
G_MODULE_EXPORT void
|
G_MODULE_EXPORT void
|
||||||
|
Loading…
x
Reference in New Issue
Block a user