Browse Source

parse: Fix parsing of incompleted commands

Serj Kalichev 2 years ago
parent
commit
eb4c3eee06
2 changed files with 2 additions and 3 deletions
  1. 1 1
      bin/klishd/klishd.c
  2. 1 2
      klish/ksession/ksession_parse.c

+ 1 - 1
bin/klishd/klishd.c

@@ -178,7 +178,7 @@ int main(int argc, char **argv)
 	{
 	kparse_status_e pstatus = KPARSE_NONE;
 	char *s = NULL;
-	const char *line = "cmd o5 m8 o2 e1";
+	const char *line = "cmd o5 m8 o2";
 	kpargv_t *pargv = NULL;
 	kpargv_pargs_node_t *p_iter = NULL;
 	

+ 1 - 2
klish/ksession/ksession_parse.c

@@ -56,7 +56,6 @@ static kparse_status_e ksession_parse_arg(kentry_t *current_entry,
 		return KPARSE_ERROR;
 
 	// If all arguments are resolved already then return INCOMPLETED
-	assert(*argv_iter);
 	if (!*argv_iter)
 		return KPARSE_INCOMPLETED;
 
@@ -110,7 +109,7 @@ static kparse_status_e ksession_parse_arg(kentry_t *current_entry,
 			size_t num = 0;
 			size_t min = kentry_min(nested);
 
-printf("Arg: %s, entry %s\n", faux_argv_current(*argv_iter), kentry_name(nested));
+//printf("Arg: %s, entry %s\n", faux_argv_current(*argv_iter), kentry_name(nested));
 			// Filter out double parsing for optional entries.
 			if (kpargv_entry_exists(pargv, nested))
 				continue;