diff options
author | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-25 23:56:37 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-26 00:30:16 -0600 |
commit | acc687b3a74e3c8d750630c323d223f1c63599db (patch) | |
tree | da55f9a30ffebc005d3a0157d70ca8d997afa959 /wrapper/plugin-load.c | |
parent | bddd6fb07906e660260ef0fced05440ecac8d9e9 (diff) |
mkdir rvs; mv * rvs
Diffstat (limited to 'wrapper/plugin-load.c')
-rw-r--r-- | wrapper/plugin-load.c | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/wrapper/plugin-load.c b/wrapper/plugin-load.c deleted file mode 100644 index 142fcd5..0000000 --- a/wrapper/plugin-load.c +++ /dev/null @@ -1,78 +0,0 @@ -/* wrapper/plugin-load.h -- load rvs plugins into mem - system depens: <stdio.h>, GNU <string.h> - Copyright (C) 2009 Luke Shumaker - - This file is part of rvs. - - rvs is free software; you can redistribute it and/or modify it - under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your - option) any later version. - - rvs is distributed in the hope that it will be useful, but - WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with rvs; see the file COPYING. - If not, write to the Free Software Foundation, - 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -*/ - -#include <stdio.h> -#include <string.h> - -#include "rvs.h" -#include "plugins.h" -#include "plugin-parse.h" - -#include "plugin-load.h" - -/*- plugin_load ----------------------------------------------------*\ - now, load plugin plug_name, -\* whose configuration file is plugin_conf */ -struct plugin * -plugin_load (const char *plug_name) -{ - struct plugin *plugin=xmalloc( sizeof(*plugin) ); - plugin->name=stralloc(plug_name); - plugin->next=NULL; - - xchdir(plug_name); - FILE *file = xfopen(plugin_conf,"r"); - plugin->commands=plugin_parse(plugin, file); - fclose( file ); - xchdir(".."); - - return plugin; -} - -/*- load_plugins ---------------------------------------------------*\ - Load all the plugins - assume we're in rvs's libexecdir, where plugins are -\* Use `plugin_conf' as the name of the config file for each plugin */ - -struct plugin * -load_plugins (FILE *list) -{ - struct plugin *first=NULL; /* we return this */ - struct plugin **prev=&first; /* this is the previous plugin->next */ - struct plugin *plugin; /* this is the current plugin */ - - size_t nbytes = 10; - char *plug_name=(char *)xmalloc(nbytes); - while ( getline(&plug_name, &nbytes, list) > 0 ) { - char *del=strchr(plug_name,'\n'); - del[0]='\0'; - /*if (strlen(plug_name)!=0) {*/ - if (plug_name[0]!='\0') {; - plugin=plugin_load(plug_name); - *prev=plugin;/* this sets the last's `next' */ - prev=&plugin->next; - } - } - - return first; -} - |