Mercurial > pidgin
changeset 12704:69713c02a702
[gaim-migrate @ 15047]
Add an error message for plugin magic mismatches. Translate the user-visible plugin error messages (the ones in the debug log are still in English, for us).
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Tue, 03 Jan 2006 20:30:22 +0000 |
parents | df49362e0378 |
children | 31b860fcf1aa |
files | src/plugin.c |
diffstat | 1 files changed, 27 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/plugin.c Tue Jan 03 20:02:58 2006 +0000 +++ b/src/plugin.c Tue Jan 03 20:30:22 2006 +0000 @@ -261,9 +261,7 @@ if (plugin->handle == NULL) { const char *error = g_module_error(); - if (error == NULL) - error = "Unknown error"; - else if (gaim_str_has_prefix(error, filename)) + if (error != NULL && gaim_str_has_prefix(error, filename)) { error = error + strlen(filename); @@ -273,16 +271,20 @@ error++; if (*error == ' ') error++; - - /* This shouldn't ever be necessary. */ - if (!*error) - error = "Unknown error"; } - plugin->error = g_strdup(error); - gaim_debug_error("plugins", "%s is unloadable: %s\n", - plugin->path, plugin->error); - + if (error == NULL || !*error) + { + plugin->error = g_strdup(_("Unknown error")); + gaim_debug_error("plugins", "%s is unloadable: Unknown error\n", + plugin->path); + } + else + { + plugin->error = g_strdup(error); + gaim_debug_error("plugins", "%s is unloadable: %s\n", + plugin->path, plugin->error); + } #if GLIB_CHECK_VERSION(2,3,3) plugin->handle = g_module_open(filename, G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL); #else @@ -357,9 +359,6 @@ /* Really old plugins. */ if (plugin->info->magic != GAIM_PLUGIN_MAGIC) { - gaim_debug_error("plugins", "%s is unloadable: plugin magic mismatch %d (need %d)\n", - plugin->path, plugin->info->magic, GAIM_PLUGIN_MAGIC); - if (plugin->info->magic >= 2 && plugin->info->magic <= 4) { struct _GaimPluginInfo2 @@ -418,10 +417,17 @@ if (info2->api_version >= 4) plugin->info->actions = info2->actions; + + plugin->error = g_strdup_printf(_("Plugin magic mismatch %d (need %d)"), + plugin->info->magic, GAIM_PLUGIN_MAGIC); + gaim_debug_error("plugins", "%s is unloadable: Plugin magic mismatch %d (need %d)\n", + plugin->path, plugin->info->magic, GAIM_PLUGIN_MAGIC); plugin->unloadable = TRUE; return plugin; } + gaim_debug_error("plugins", "%s is unloadable: Plugin magic mismatch %d (need %d)\n", + plugin->path, plugin->info->magic, GAIM_PLUGIN_MAGIC); gaim_plugin_destroy(plugin); return NULL; } @@ -429,10 +435,12 @@ if (plugin->info->major_version != GAIM_MAJOR_VERSION || plugin->info->minor_version > GAIM_MINOR_VERSION) { - plugin->error = g_strdup_printf("ABI version mismatch %d.%d.x (need %d.%d.x)", + plugin->error = g_strdup_printf(_("ABI version mismatch %d.%d.x (need %d.%d.x)"), plugin->info->major_version, plugin->info->minor_version, GAIM_MAJOR_VERSION, GAIM_MINOR_VERSION); - gaim_debug_error("plugins", "%s is unloadable: %s\n", plugin->path, plugin->error); + gaim_debug_error("plugins", "%s is unloadable: ABI version mismatch %d.%d.x (need %d.%d.x)\n", + plugin->path, plugin->info->major_version, plugin->info->minor_version, + GAIM_MAJOR_VERSION, GAIM_MINOR_VERSION); plugin->unloadable = TRUE; return plugin; } @@ -443,8 +451,9 @@ (GAIM_PLUGIN_PROTOCOL_INFO(plugin)->login == NULL) || (GAIM_PLUGIN_PROTOCOL_INFO(plugin)->close == NULL))) { - plugin->error = g_strdup("Does not implement all required functions"); - gaim_debug_error("plugins", "%s is unloadable: %s\n", plugin->path, plugin->error); + plugin->error = g_strdup(_("Plugin does not implement all required functions")); + gaim_debug_error("plugins", "%s is unloadable: Plugin does not implement all required functions\n", + plugin->path); plugin->unloadable = TRUE; return plugin; }