]> git.tuebingen.mpg.de Git - adu.git/blobdiff - interactive.c
parse_select_options(): Add missing break statements.
[adu.git] / interactive.c
index 295be371b384cd102534914f4c4a0903a89ddab2..191e6330f3989995ab93c42252f8a7f1d78ad2dd 100644 (file)
@@ -1,4 +1,6 @@
 #include "adu.h"
+#include "format.h"
+#include "select.h"
 #include "string.h"
 #include "error.h"
 #include "cmdline.h"
@@ -10,6 +12,7 @@ struct interactive_command {
 };
 
 static struct uid_range *admissible_uids;
+static struct format_info *fi;
 
 #define INTERACTIVE_COMMANDS \
        INTERACTIVE_COMMAND(dump, "dump the current configuration") \
@@ -47,7 +50,7 @@ static int read_input_line(char *line, size_t size)
 
 static int icom_run(__a_unused char *line)
 {
-       return run_select_query(admissible_uids);
+       return run_select_query(admissible_uids, fi);
 }
 
 static int icom_help(__a_unused char *line)
@@ -59,6 +62,11 @@ static int icom_help(__a_unused char *line)
        return 1;
 }
 
+void print_interactive_help(void)
+{
+       icom_help(NULL);
+}
+
 static int icom_reset(__a_unused char *line)
 {
        select_cmdline_parser_init(&select_conf);
@@ -74,12 +82,11 @@ static int icom_set(char *line)
                .check_ambiguity = 0,
                .print_errors = 1
        };
-       return parse_select_options(line, &params, &admissible_uids);
+       return parse_select_options(line, &params, &admissible_uids, &fi);
 }
 
 static int icom_dump(__a_unused char *line)
 {
-       ERROR_LOG("dump: %s\n", select_conf.format_arg);
        select_cmdline_parser_dump(stdout, &select_conf);
        return 1;
 }
@@ -92,8 +99,12 @@ static int exec_interactive_command(char *line)
        char *p = cmd + strcspn(cmd, delim);
        int ret = -E_SYNTAX;
 
-       *p = '\0';
-       p++;
+       if (*p == '\0')
+               p = NULL;
+       else {
+               *p = '\0';
+               p++;
+       }
        for (i = 0; icmds[i].name; i++) {
                ERROR_LOG("name: %s, cmd: %s.\n", icmds[i].name, cmd);
                if (strcmp(icmds[i].name, cmd))