[Initng-svn] r4357 - in initng/trunk: plugins/bash_parser src

svn at initng.thinktux.net svn at initng.thinktux.net
Sun Jun 4 22:49:20 CEST 2006


Author: jimmy
Date: Sun Jun  4 22:49:17 2006
New Revision: 4357

Modified:
   initng/trunk/plugins/bash_parser/bp.c
   initng/trunk/plugins/bash_parser/initng_bash_parser.c
   initng/trunk/plugins/iparser/initng_i_parser.c
   initng/trunk/src/initng_string_tools.c
   initng/trunk/src/initng_string_tools.h

Log:
Now setting multible variables right.


Modified: initng/trunk/plugins/bash_parser/bp.c
==============================================================================
--- initng/trunk/plugins/bash_parser/bp.c	(original)
+++ initng/trunk/plugins/bash_parser/bp.c	Sun Jun  4 22:49:17 2006
@@ -74,6 +74,13 @@
 	/*if(service)
 		printf("SERVICE: %s\n", service);*/
 
+	{
+		int i;
+		printf(" **||** ");
+		for(i=0; argv[i]; i++)
+			printf("%s ", argv[i]);
+		printf("\n");
+	}
 	/* printf("argc: %i argv[0]: %s :: %s\n", argc, argv[0], argv0); */
 
 	/* Sort by the number of arguments */

Modified: initng/trunk/plugins/bash_parser/initng_bash_parser.c
==============================================================================
--- initng/trunk/plugins/bash_parser/initng_bash_parser.c	(original)
+++ initng/trunk/plugins/bash_parser/initng_bash_parser.c	Sun Jun  4 22:49:17 2006
@@ -50,6 +50,7 @@
 #include <initng_control_command.h>
 #include <initng_fork.h>
 #include <initng_common.h>
+#include <initng_string_tools.h>
 
 #include <initng-paths.h>
 
@@ -267,8 +268,14 @@
 			break;
 		case STRINGS:
 		case VARIABLE_STRINGS:
-			set_another_string_var(type, varname ? i_strdup(varname) : NULL,
-								   active, i_strdup(value));
+			{
+				char *new_st = NULL;
+				while((new_st=st_dup_next_word(&value)))
+				{
+					set_another_string_var(type, varname ? i_strdup(varname) : NULL,
+								   active, new_st);
+				}
+			}
 			D_("strings type\n");
 			break;
 		case SET:

Modified: initng/trunk/plugins/iparser/initng_i_parser.c
==============================================================================
--- initng/trunk/plugins/iparser/initng_i_parser.c	(original)
+++ initng/trunk/plugins/iparser/initng_i_parser.c	Sun Jun  4 22:49:17 2006
@@ -421,7 +421,7 @@
 	/*         |              */
 
 	/* this fetches name, and increase *to_parse */
-	if (!(name = st_dup_next_word(to_parse)))
+	if (!(name = st_dup_next_word((const char **)to_parse)))
 	{
 		FL_(*to_parse, "Did not get a name!");
 		return (FALSE);
@@ -466,7 +466,7 @@
 		/* service test : class { */
 		/*                |       */
 
-		if (!(father_name = st_dup_next_word(to_parse)))
+		if (!(father_name = st_dup_next_word((const char **)to_parse)))
 		{
 			FL_(*to_parse, "Unable to fetch fathername.");
 			free(name);

Modified: initng/trunk/src/initng_string_tools.c
==============================================================================
--- initng/trunk/src/initng_string_tools.c	(original)
+++ initng/trunk/src/initng_string_tools.c	Sun Jun  4 22:49:17 2006
@@ -116,7 +116,7 @@
  * line with "this is one word", it will i_strdup it, and
  * add word length on string pointer
  */
-char *st_dup_next_word(char **string)
+char *st_dup_next_word(const char **string)
 {
 	char *td = NULL;
 	int i = 0;

Modified: initng/trunk/src/initng_string_tools.h
==============================================================================
--- initng/trunk/src/initng_string_tools.h	(original)
+++ initng/trunk/src/initng_string_tools.h	Sun Jun  4 22:49:17 2006
@@ -62,7 +62,7 @@
     while ((s)[0] == ' ' || (s)[0] == '\t') (s)++;
 
 int st_cmp(char **string, const char *to_cmp);
-char *st_dup_next_word(char **string);
+char *st_dup_next_word(const char **string);
 char *st_dup_line(char **string);
 
 


More information about the Initng-svn mailing list