diff options
Diffstat (limited to 'wrapper/debug.h')
-rw-r--r-- | wrapper/debug.h | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/wrapper/debug.h b/wrapper/debug.h new file mode 100644 index 0000000..882ae11 --- /dev/null +++ b/wrapper/debug.h @@ -0,0 +1,82 @@ +/* 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_debug_c_SEEN +#define FILE_plugin_debug_c_SEEN + +#include <stdio.h> +#include "structures.h" + +size_t +xstrlen (const char *s) +{ + printf("xstrlen(%p)\n",s); + size_t size=0; + while (s[size] != '\0') { + printf("%i = %p `%c'\n",size,&s[size],s[size]); + size++; + } + return size; +} + +void +print_tree_list (struct tree_list *node, unsigned int ind) +{ + if (node != NULL) { + unsigned int i; + for (i=0; i < ind; i++) printf(" "); + puts(node->node); + print_tree_list(node->child,ind++); + print_tree_list(node->next ,ind ); + } +} + +/* hack of the above */ + +void +_plugin_print_command (struct tree_list *command) +{ + if (command != NULL) { + struct command_plugin *node=(struct command_plugin *)command->node; + printf(" - %s\n",node->name); + if (node->depends != NULL) + printf(" depend string: %s\n",node->depends); + if (node->depend->plugin == NULL) { + puts (" depend: <none>"); + } else { + printf(" depend: %s / %s\n", + node->depend->plugin->name, + node->depend->name); + } + _plugin_print_plugin_command(command->next); + } +} + +void +_plugin_print_plugin (struct tree_list *node) +{ + if (node != NULL ) { + puts(node->node); + _plugin_print_command(node->child,ind++); + _plugin_print_plugin(node->next ,ind ); + } +} + +#endif + |