@@ -830,25 +1011,80 @@ static gboolean check_plugin_path(const gchar *fname) }
+/* Retuns NULL if this ain't a plugin,
- otherwise it returns the appropriate PluginProxy instance to load it */
+static PluginProxy* is_plugin(const gchar *file) +{
- GList *node;
- const gchar *ext;
- /* extract file extension to avoid g_str_has_suffix() in the loop */
- ext = (const gchar *)strrchr(file, '.');
- if (ext == NULL)
return FALSE;
- /* ensure the dot is really part of the filename */
- else if (strchr(ext, G_DIR_SEPARATOR) != NULL)
return FALSE;
In this case it is guaranteed. geany.cfg stores only the plugin's basename, not the full path. The full path is always constructed using g_build_path() prior to calling plugin_new()
--- Reply to this email directly or view it on GitHub: https://github.com/geany/geany/pull/629/files#r41071290