SF.net SVN: geany-plugins:[912] trunk/geany-plugins/geanylua
ntrel at users.sourceforge.net
ntrel at xxxxx
Tue Sep 1 15:37:53 UTC 2009
Revision: 912
http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=912&view=rev
Author: ntrel
Date: 2009-09-01 15:37:53 +0000 (Tue, 01 Sep 2009)
Log Message:
-----------
Check support library ABI version matches.
Modified Paths:
--------------
trunk/geany-plugins/geanylua/ChangeLog
trunk/geany-plugins/geanylua/geanylua.c
trunk/geany-plugins/geanylua/glspi_init.c
Modified: trunk/geany-plugins/geanylua/ChangeLog
===================================================================
--- trunk/geany-plugins/geanylua/ChangeLog 2009-09-01 15:20:22 UTC (rev 911)
+++ trunk/geany-plugins/geanylua/ChangeLog 2009-09-01 15:37:53 UTC (rev 912)
@@ -1,5 +1,6 @@
September 1, 2009 (ntrel)
Try loading system support library if user library fails.
+ Check support library ABI version matches.
August 31, 2009 (ntrel)
Print support library path if Geany is in debug mode.
Modified: trunk/geany-plugins/geanylua/geanylua.c
===================================================================
--- trunk/geany-plugins/geanylua/geanylua.c 2009-09-01 15:20:22 UTC (rev 911)
+++ trunk/geany-plugins/geanylua/geanylua.c 2009-09-01 15:37:53 UTC (rev 912)
@@ -69,6 +69,7 @@
static gchar **glspi_version = NULL;
+static guint *glspi_abi = NULL;
static InitFunc glspi_init = NULL;
static ConfigFunc glspi_configure = NULL;
static CleanupFunc glspi_cleanup = NULL;
@@ -114,6 +115,7 @@
if (libgeanylua) { g_module_close(libgeanylua); }
libgeanylua = NULL;
glspi_version = NULL;
+ glspi_abi = NULL;
glspi_init = NULL;
glspi_configure = NULL;
glspi_cleanup = NULL;
@@ -159,6 +161,7 @@
}
if ( !(
GETSYM("glspi_version", glspi_version) &&
+ GETSYM("glspi_abi", glspi_abi) &&
GETSYM("glspi_init", glspi_init) &&
GETSYM("glspi_configure", glspi_configure) &&
GETSYM("glspi_cleanup", glspi_cleanup) &&
@@ -175,6 +178,12 @@
fail_init();
return FALSE;
}
+ if (*glspi_abi != GEANY_ABI_VERSION) {
+ g_printerr(_("%s: Support library ABI mismatch: %s for %s (should be %s)!\n"),
+ PLUGIN_NAME, *glspi_abi, libname, GEANY_ABI_VERSION);
+ fail_init();
+ return FALSE;
+ }
if (geany->app->debug_mode) {
g_printerr("%s: Using support library path: %s\n", PLUGIN_NAME, libname);
}
Modified: trunk/geany-plugins/geanylua/glspi_init.c
===================================================================
--- trunk/geany-plugins/geanylua/glspi_init.c 2009-09-01 15:20:22 UTC (rev 911)
+++ trunk/geany-plugins/geanylua/glspi_init.c 2009-09-01 15:37:53 UTC (rev 912)
@@ -30,6 +30,8 @@
PLUGIN_EXPORT
const gchar* glspi_version = VERSION;
+PLUGIN_EXPORT
+const guint glspi_abi = GEANY_ABI_VERSION;
GeanyData *glspi_geany_data=NULL;
GeanyFunctions *glspi_geany_functions=NULL;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Plugins-Commits
mailing list