[netfilter-cvslog] r3390 - trunk/nfsim/core

rusty at netfilter.org rusty at netfilter.org
Wed Dec 15 09:59:22 CET 2004


Author: rusty at netfilter.org
Date: 2004-12-15 09:59:21 +0100 (Wed, 15 Dec 2004)
New Revision: 3390

Modified:
   trunk/nfsim/core/core.c
   trunk/nfsim/core/tui.c
   trunk/nfsim/core/tui.h
Log:
Allow script name on cmdline (easier for gdb)
Remove stdin assumption from tui.c.


Modified: trunk/nfsim/core/core.c
===================================================================
--- trunk/nfsim/core/core.c	2004-12-15 08:55:57 UTC (rev 3389)
+++ trunk/nfsim/core/core.c	2004-12-15 08:59:21 UTC (rev 3390)
@@ -182,7 +182,7 @@
 
 int main(int argc, char **argv)
 {
-	int termfd, failtest = 0, load_modules = 1;
+	int failtest = 0, load_modules = 1;
 	char c;
 	char *p;
 	char *failpattern = NULL;
@@ -220,6 +220,14 @@
 		}
 	}
 
+	if (optind < argc) {
+		int input = open(argv[optind], O_RDONLY);
+		if (input < 0)
+			barf_perror("Opening %s", argv[optind]);
+		dup2(input, STDIN_FILENO);
+		close(input);
+	}
+
 	/* Hack to make users' lives easier: set LD_LIBRARY_PATH for
 	 * fakesockopt.so, based on where we are. */
 	p = strrchr(argv[0], '/');
@@ -265,19 +273,18 @@
 	running = 1;
 
 	message_init();
-	if ((termfd = tui_init()) < 0)
-		barf_perror("tui_init");
+	tui_init();
 
 	while (running) {
-		wait_for_message(termfd);
-		tui_userinput(termfd);
+		wait_for_message(STDIN_FILENO);
+		tui_userinput(STDIN_FILENO);
 	}
 
 	if (!tui_quiet)
 		printf("\n");
 
 	message_cleanup();
-	tui_cleanup(termfd);
+	tui_cleanup(STDIN_FILENO);
 	unload_all_modules();
 	check_allocations();
 

Modified: trunk/nfsim/core/tui.c
===================================================================
--- trunk/nfsim/core/tui.c	2004-12-15 08:55:57 UTC (rev 3389)
+++ trunk/nfsim/core/tui.c	2004-12-15 08:59:21 UTC (rev 3390)
@@ -171,7 +171,7 @@
  */
 }
 
-int tui_init(void)
+void tui_init(void)
 {
 	rl_callback_handler_install(tui_quiet ? "" : "> ", process_line);
 
@@ -180,8 +180,6 @@
 	tui_register_command("q", tui_exit, tui_exit_help);
 	tui_register_command("test", tui_argtest, NULL);
 	tui_register_command("help", tui_help, tui_help_help);
-
-	return fileno(stdin);
 }
 
 void script_fail(const char *fmt, ...)

Modified: trunk/nfsim/core/tui.h
===================================================================
--- trunk/nfsim/core/tui.h	2004-12-15 08:55:57 UTC (rev 3389)
+++ trunk/nfsim/core/tui.h	2004-12-15 08:59:21 UTC (rev 3390)
@@ -27,7 +27,7 @@
 #define TUI_MAX_CMD_LEN		1024
 #define TUI_MAX_ARGS		128
 
-int tui_init(void);
+void tui_init(void);
 void tui_cleanup(int fd);
 
 int tui_userinput(int fd);




More information about the netfilter-cvslog mailing list