From: Andre Noll <maan@systemlinux.org>
Date: Mon, 23 Jun 2008 12:47:22 +0000 (+0200)
Subject: Introduce run_select_query().
X-Git-Tag: v0.0.3~2
X-Git-Url: https://git.tuebingen.mpg.de/?a=commitdiff_plain;h=1de9e87d0a87b7215e1f914af06f3dd9dc0123b2;p=adu.git

Introduce run_select_query().

This is just the part of com_select() that will be called from
the run command of interactive.c.
---

diff --git a/adu.h b/adu.h
index 6096692..2a15457 100644
--- a/adu.h
+++ b/adu.h
@@ -194,6 +194,7 @@ int for_each_admissible_user(int (*func)(struct user_info *, void *),
 void sort_hash_table(int (*comp)(const void *, const void *));
 
 /* select.c */
+int run_select_query(struct uid_range *admissible_uids);
 int com_select(void);
 
 /* create.h */
diff --git a/select.c b/select.c
index e3d97b1..4795de4 100644
--- a/select.c
+++ b/select.c
@@ -584,27 +584,9 @@ out:
 	return ret;
 }
 
-int com_select(void)
+int run_select_query(struct uid_range *admissible_uids)
 {
 	int ret;
-	struct uid_range *admissible_uids = NULL;
-
-	if (conf.select_options_given) {
-		struct select_cmdline_parser_params params = {
-			.override = 1,
-			.initialize = 1,
-			.check_required = 1,
-			.check_ambiguity = 1,
-			.print_errors = 1
-		};
-
-		if (select_cmdline_parser_string_ext(conf.select_options_arg,
-			&select_conf, "select", &params))
-			return -E_SYNTAX;
-		ret = parse_uid_arg(select_conf.uid_arg, &admissible_uids);
-		if (ret < 0)
-			return ret;
-	}
 
 	if (select_conf.count_unit_arg != count_unit_arg_h)
 		count_unit_buf[1] = count_unit_abbrevs[select_conf.count_unit_arg];
@@ -627,3 +609,27 @@ int com_select(void)
 	close_all_tables();
 	return ret;
 }
+
+int com_select(void)
+{
+	int ret;
+	struct uid_range *admissible_uids = NULL;
+
+	if (conf.select_options_given) {
+		struct select_cmdline_parser_params params = {
+			.override = 1,
+			.initialize = 1,
+			.check_required = 1,
+			.check_ambiguity = 1,
+			.print_errors = 1
+		};
+
+		if (select_cmdline_parser_string_ext(conf.select_options_arg,
+			&select_conf, "select", &params))
+			return -E_SYNTAX;
+		ret = parse_uid_arg(select_conf.uid_arg, &admissible_uids);
+		if (ret < 0)
+			return ret;
+	}
+	return run_select_query(admissible_uids);
+}