]> git.tuebingen.mpg.de Git - adu.git/blobdiff - interactive.c
Add format string doku, simplify format string handling.
[adu.git] / interactive.c
index 494a4f8760fabdc95db2a9213a2057194ca80a74..036f7a84d1a861eb0a48b21583854cb6fe0a068a 100644 (file)
@@ -1,8 +1,9 @@
 #include "adu.h"
+#include "format.h"
+#include "select.h"
 #include "string.h"
 #include "error.h"
 #include "cmdline.h"
-#include "select.cmdline.h"
 
 struct interactive_command {
        const char *name;
@@ -11,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") \
@@ -48,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)
@@ -75,15 +77,11 @@ static int icom_set(char *line)
                .check_ambiguity = 0,
                .print_errors = 1
        };
-       if (select_cmdline_parser_string_ext(line, &select_conf, "select",
-               &params))
-               return -E_SYNTAX;
-       return parse_uid_arg(select_conf.uid_arg, &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;
 }