[Initng-svn] r4418 - initng/trunk/plugins/debug_commands
svn at initng.thinktux.net
svn at initng.thinktux.net
Thu Jun 8 15:04:54 CEST 2006
Author: jimmy
Date: Thu Jun 8 15:04:52 2006
New Revision: 4418
Modified:
initng/trunk/plugins/debug_commands/initng_debug_commands.c
initng/trunk/plugins/debug_commands/print_service.c
initng/trunk/plugins/debug_commands/print_service.h
Log:
Cleanup and obay arguments better with commands from "debug_commands" plugin.
Modified: initng/trunk/plugins/debug_commands/initng_debug_commands.c
==============================================================================
--- initng/trunk/plugins/debug_commands/initng_debug_commands.c (original)
+++ initng/trunk/plugins/debug_commands/initng_debug_commands.c Thu Jun 8 15:04:52 2006
@@ -55,8 +55,6 @@
static char *cmd_print_fds(char *arg);
static int cmd_initng_quit(char *arg);
-static char *cmd_print_service_db(char *arg);
-static char *cmd_print_active_db(char *arg);
#ifdef DEBUG
static int cmd_toggle_verbose(char *arg);
@@ -64,7 +62,7 @@
static int cmd_del_verbose(char *arg);
#endif
-s_command LIST_FDS = { 'I', "list_filedescriptors", STRING_COMMAND, ADVANCHED_COMMAND, NO_OPT, {(void *) &cmd_print_fds}, "Print all open filedescriptors initng have." };
+s_command LIST_FDS = { 'I', "list_filedescriptors", STRING_COMMAND, ADVANCHED_COMMAND, USES_OPT, {(void *) &cmd_print_fds}, "Print all open filedescriptors initng have." };
s_command QUIT_INITNG = { 'q', "quit", TRUE_OR_FALSE_COMMAND, ADVANCHED_COMMAND, NO_OPT,
{(void *) &cmd_initng_quit},
@@ -73,12 +71,12 @@
s_command PRINT_SERVICE_DB = { 'p', "print_service_db", STRING_COMMAND, ADVANCHED_COMMAND,
USES_OPT,
- {(void *) &cmd_print_service_db},
+ {(void *) &service_db_print_all},
"Print service_db"
};
s_command PRINT_ACTIVE_DB = { 'P', "print_active_db", STRING_COMMAND, ADVANCHED_COMMAND, USES_OPT,
- {(void *) &cmd_print_active_db},
+ {(void *) &active_db_print_all},
"Print active_db"
};
@@ -117,27 +115,38 @@
if (currentC->c.fdh->fds != i)
continue;
- mprintf(&string, " %i: Used by plugin: %s\n", i,
+ if(!arg || strstr(currentC->from_file, arg))
+ mprintf(&string, " %i: Used by plugin: %s\n", i,
currentC->from_file);
break;
/* Call db fs */
}
currentA = NULL;
+
+ /* for every service */
while_active_db(currentA)
{
- currentP = NULL;
- while_processes(currentP, currentA)
+ /* if argument was set, only print matching */
+ if(!arg || service_match(currentA->name, arg))
{
- current_pipe = NULL;
- while_pipes(current_pipe, currentP)
+ /* for every process */
+ currentP = NULL;
+ while_processes(currentP, currentA)
{
- if (current_pipe->pipe[0] == i
- || current_pipe->pipe[1] == i)
+ /* for every pipe */
+ current_pipe = NULL;
+ while_pipes(current_pipe, currentP)
{
- mprintf(&string,
+ /* if matching */
+ if (current_pipe->pipe[0] == i
+ || current_pipe->pipe[1] == i)
+ {
+ /* PRINT */
+ mprintf(&string,
" %i: Used service: %s, process: %s\n", i,
currentA->name, currentP->pt->name);
+ }
}
}
}
@@ -158,47 +167,6 @@
}
-static char *cmd_print_service_db(char *arg)
-{
- service_cache_h *s;
-
- D_("Print service \"%s\"\n", arg);
- if (arg && strlen(arg) > 1
- && (s = initng_service_cache_find_in_name(arg)))
- {
- return (service_db_print(s));
- }
- else if (arg && strlen(arg) > 1)
- {
- return (i_strdup("No such service.\n"));
- }
- else
- {
- return (service_db_print_all());
- }
-
- return (NULL);
-}
-
-static char *cmd_print_active_db(char *arg)
-{
- active_db_h *s;
-
- if (arg && strlen(arg) > 1 && (s = initng_active_db_find_in_name(arg)))
- {
- return (active_db_print(s));
- }
- else if (arg && strlen(arg) > 1)
- {
- return (i_strdup("No such service."));
- }
- else
- {
- return (active_db_print_all());
- }
-
- return (NULL);
-}
#ifdef DEBUG
Modified: initng/trunk/plugins/debug_commands/print_service.c
==============================================================================
--- initng/trunk/plugins/debug_commands/print_service.c (original)
+++ initng/trunk/plugins/debug_commands/print_service.c Thu Jun 8 15:04:52 2006
@@ -172,24 +172,6 @@
}
-/* Walk through every service and print it all */
-char *service_db_print_all(void)
-{
- char *string = NULL;
- service_cache_h *current = NULL;
-
- mprintf(&string, "Full service print:\n");
-
- D_("print_all():\n");
-
- while_service_cache(current)
- {
- D_("printing %s ...\n", current->name);
- service_db_print_u(current, &string);
- }
-
- return (string);
-}
static void active_db_print_process(process_h * p, char **string)
{
@@ -332,16 +314,35 @@
}
/* Walk through every service and print it all */
-char *active_db_print_all(void)
+char *active_db_print_all(char * matching)
{
char *string = NULL;
active_db_h *apt = NULL;
- D_("print_all():\n");
+ D_("active_db_print_all(%s):\n", matching);
while_active_db(apt)
{
- active_db_print_u(apt, &string);
+ if(!matching || service_match(apt->name, matching))
+ active_db_print_u(apt, &string);
+ }
+
+ return (string);
+}
+
+/* Walk through every service and print it all */
+char *service_db_print_all(char * matching)
+{
+ char *string = NULL;
+ service_cache_h *current = NULL;
+
+
+ D_("service_db_print_all(%s):\n", matching);
+
+ while_service_cache(current)
+ {
+ if(!matching || service_match(current->name, matching))
+ service_db_print_u(current, &string);
}
return (string);
Modified: initng/trunk/plugins/debug_commands/print_service.h
==============================================================================
--- initng/trunk/plugins/debug_commands/print_service.h (original)
+++ initng/trunk/plugins/debug_commands/print_service.h Thu Jun 8 15:04:52 2006
@@ -22,7 +22,7 @@
#include <initng_service_cache.h>
char *service_db_print(service_cache_h * s);
-char *service_db_print_all(void);
+char *service_db_print_all(char * matching);
char *active_db_print(active_db_h * s);
-char *active_db_print_all(void);
+char *active_db_print_all(char * matching);
More information about the Initng-svn
mailing list