diff options
Diffstat (limited to 'wrapper/plugin-depend.c')
-rw-r--r-- | wrapper/plugin-depend.c | 126 |
1 files changed, 0 insertions, 126 deletions
diff --git a/wrapper/plugin-depend.c b/wrapper/plugin-depend.c deleted file mode 100644 index d562489..0000000 --- a/wrapper/plugin-depend.c +++ /dev/null @@ -1,126 +0,0 @@ -/* 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. -*/ -#ifndef FILE_plugin_depend_c_SEEN -#define FILE_plugin_depend_c_SEEN - -/* translates a string in format `plugin/command' into a pointer to the command - DON'T plan on using the string again, it will be mutilated! - (so we go ahead and free() it and set the pointer to NULL) */ -struct plugin_command * -_plugin_depend_parse (char **string, struct plugin_command *root) -{ - struct plugin_command *command=NULL; - - if (*string==NULL) - *string=root; - else { - /* *string is in the format `plugin/command' */ - /* char *del=delimeter */ - char *del=strchr(*string,'/'); - del[0]='\0'; - /// *string = PLUGIN_NAME - /// &del[1] = COMMAND_NAME - struct plugin *plugin; - plugin =_plugin_find_plugin(root, *string ); - if (plugin==NULL) - error(EXIT_FAILURE,0,"cannot find plugin `%s'",*string); - command=_plugin_find_plugin_command(plugin->child, &del[1] ); - if (command==NULL) - error(EXIT_FAILURE,0, - "plugin `%s' does not contain command `%s'", - *string,&del[1]); - xfree(*string); - *string=NULL; - } - return command; -} - -/* used by _plugin_depend_add */ -void -_plugin_depend_add2 (struct plugin_command *prev, - struct plugin_command *next) -{ - if (prev->d_next==NULL) { - prev->d_next=next; - } else { - _plugin_depend_add2(prev->d_next,next); - } -} - -/* _plugin_depend_add(depend,depender) */ -void -_plugin_depend_add (struct plugin_command *depend, - struct plugin_command *depender) -{ - if (depend->child==NULL) { - depend->child=depender; - } else { - _plugin_depend_add2(depend->child,depender); - } -} - -/* take care of depends for `command', and those after it (linked list) */ -void -_plugin_depend_command (struct plugin_command *command, - struct plugin_command *root) -{ - if (command->depends == NULL) { - command->depend=root; - } else { - command->depend=_plugin_depend_parse(root,command->depends); - command->depends=NULL; - } - _plugin_depend_add(command->depend,command); - if (command->p_next != NULL) - _plugin_depend_command(command->p_next,root); -} - -/* take care of commands for a `plugin', and those after it (linked list) */ -void -_plugin_depend_plugin_all (struct plugin *plugin, struct plugin_command *root) -{ - _plugin_depend_command(plugin->child,root); - if (plugin->next != NULL) { - _plugin_depend_plugin_all(plugin->next,root); - } -} - -/* take care of all depends */ -struct plugin_command * -_plugin_depend_all (struct plugin_command *plugins) -{ - struct plugin_command *root=mkcommand(); - - _plugin_depend_plugin_all(*plugins,root); - return root; -} - -/* take care of all depends for a particular command */ -struct plugin_command * -_plugin_depend_name (char *name, struct plugin_command *plugins) -{ - struct plugin_command *root=mkcommand(); - - /* code goes here */ - return root; -} - -#endif - |