diff options
author | Luke Shumaker <LukeShu@sbcglobal.net> | 2009-09-05 13:00:55 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@sbcglobal.net> | 2015-06-26 00:30:14 -0600 |
commit | ea8a13dfa2a25f52cc245a8992fbff5d1e41106d (patch) | |
tree | 7863baa36237143521d2480a216bdeb64569e124 /c/plugin-depend.c | |
parent | 67d3b5846d84d4a2e5a31d4e268bc9d51495d7e0 (diff) |
work on tieing it all together
Diffstat (limited to 'c/plugin-depend.c')
-rw-r--r-- | c/plugin-depend.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/c/plugin-depend.c b/c/plugin-depend.c deleted file mode 100644 index 4101fe1..0000000 --- a/c/plugin-depend.c +++ /dev/null @@ -1,102 +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. -*/ - -/* translates a string in syntax `plugin/command' into a pointer to the commnad - DON'T plan on using the string again, it will be mutilated! - (so we go ahead and free() it) */ -struct plugin_command * -_plugin_depend_parse(struct plugin *root, char *string) -{ - char *c=strchr(string,'/'); - c[0]='\0'; - return _plugin_find_command( - _plugin_find_plugin(root,string)->child, - &c[1]); - xfree(string); -} - -/* 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_tree *tree) -{ - if (command->depends == NULL) { - command->depend=tree->depends; - } else { - command->depend=_plugin_depend_parse(tree->plugins,command->depends); - command->depends=NULL; - } - _plugin_depend_add(command->depend,command); - if (command->p_next != NULL) - _plugin_depend_command(command->p_next,tree); -} - -/* take care of commands for a `plugin', and those after it (linked list) */ -void -_plugin_depend_plugin(struct plugin *plugin, struct plugin_tree *tree) -{ - _plugin_depend_command(plugin->child,tree); - if (plugin->next != NULL) { - _plugin_depend_plugin(plugin->next,tree); - } -} - -/* take care of all depends */ -void -_plugin_depend(struct plugin_tree *tree) -{ - /* add a blank `root' command for those that don't have depends */ - struct plugin_command *command; - command=(struct plugin_command *)xmalloc(sizeof(*command)); - command->name=NULL; - command->plugin=NULL; - command->p_next=NULL; - command->depend=NULL; - command->depends=NULL; - command->child=NULL;/*<--only variable of any value */ - command->d_next=NULL; - - tree->depends=command; - - /* parse all commands */ - _plugin_depend_plugin(tree->plugins,tree); -} - |