#endif
static void
-set_error (void)
+set_error (const gchar *format,
+ ...)
{
- gchar *error = g_win32_error_message (GetLastError ());
+ gchar *error;
+ gchar *detail;
+ gchar *message;
+ va_list args;
- g_module_set_error (error);
+ error = g_win32_error_message (GetLastError ());
+
+ va_start (args, format);
+ detail = g_strdup_vprintf (format, args);
+ va_end (args);
+
+ message = g_strconcat (detail, error, NULL);
+
+ g_module_set_error (message);
+ g_free (message);
+ g_free (detail);
g_free (error);
}
g_free (wfilename);
if (!handle)
- set_error ();
+ set_error ("`%s': ", file_name);
return handle;
}
{
if (handle != null_module_handle)
if (!FreeLibrary (handle))
- set_error ();
+ set_error ("");
}
static gpointer
p = GetProcAddress (handle, symbol_name);
if (!p)
- set_error ();
+ set_error ("");
return p;
}