summaryrefslogtreecommitdiff
path: root/wrapper/runcom.c
diff options
context:
space:
mode:
Diffstat (limited to 'wrapper/runcom.c')
-rw-r--r--wrapper/runcom.c92
1 files changed, 0 insertions, 92 deletions
diff --git a/wrapper/runcom.c b/wrapper/runcom.c
deleted file mode 100644
index 30603a2..0000000
--- a/wrapper/runcom.c
+++ /dev/null
@@ -1,92 +0,0 @@
-/* wrapper/runcom.c -- main program loop
- system depends: this file is truly system-independant
- 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.
-*/
-
-const char *name=NAME;
-const char *ver=VER;
-
-#include "rvs.h"
-#include "plugins.h"
-#include "plugin-load.h"
-#include "plugin-find.h"
-#include "plugin-depend.h"
-#include "plugin-run.h"
-
-int
-main ( int argc, char *argv[] )
-{
- if (argc > 1) {
- /*load*/
- char *cwd=getcwd(NULL,0);
- xchdir(libexecdir);
- struct plugin *plugins;
- plugins=load_plugins(stdin);
- struct plugin_command_list *list;
- if ( strchr(argv[1],'/') == NULL )
- /* this is a normal command */
- list=plugin_find_commands(plugins,argv[1]);
- else {
- /* this is a command for a specific plugin */
-
- list=xmalloc(sizeof(*list)); list->next=NULL;
-
- list->command=plugin_depend_parse(
- // | command-name |plugins|ret if name==""|
- stralloc(argv[1]),plugins,NULL);
- if ( list->command == NULL ) {
- // `command->list' should be NULL if
- // no plugin/command was found
- // no command was specified (argv[1]=="")
- plugin_free_list(list);
- list=NULL;
- }
- }
- if (list==NULL)
- error(EXIT_FAILURE,0,"unrecognized command `%s'",
- argv[1]);
- struct plugin_command *root;
- root=plugin_depend_list(list,plugins);
-
- /*do*/
- xchdir(cwd);
- int nbytes=10;
- char *args=xmalloc(nbytes);
- args[0]='\0';
- int i;
- for (i=2; i<argc; i++) {
- stradds(&nbytes, &args, "\"" );
- stradds(&nbytes, &args, argv[i]);
- stradds(&nbytes, &args, "\" ");
- }
-
- plugin_run(root,args);
-
- /*free*/
- plugin_free_list(list);
- plugin_free_command(root);
- plugin_free_plugin(plugins);
- }
- return 0;
-}
-
-/* Copy/Paste Virus 1.3c Please copy and paste this text anywhere. Track *\
-\* its progress by searching for this MD5#f7eac285ebfe21c4587bfebb9582f90d */
-