diff mbox series

[RISU,02/10] risu.c: split out setting up options

Message ID 20171107150558.22131-3-alex.bennee@linaro.org
State New
Headers show
Series Initial support for SVE | expand

Commit Message

Alex Bennée Nov. 7, 2017, 3:05 p.m. UTC
This is a prerequisite to properly handling architecture specific
options.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 risu.c | 29 +++++++++++++++++++----------
 1 file changed, 19 insertions(+), 10 deletions(-)

-- 
2.14.2
diff mbox series

Patch

diff --git a/risu.c b/risu.c
index 47471c6..a5d155d 100644
--- a/risu.c
+++ b/risu.c
@@ -282,6 +282,21 @@  void usage(void)
             "(default 9191)\n");
 }
 
+struct option * setup_options(char **short_opts)
+{
+    static struct option default_longopts[] = {
+        {"help", no_argument, 0, '?'},
+        {"master", no_argument, &ismaster, 1},
+        {"host", required_argument, 0, 'h'},
+        {"port", required_argument, 0, 'p'},
+        {"test-fp-exc", no_argument, &test_fp_exc, 1},
+        {0, 0, 0, 0}
+    };
+
+    *short_opts = "h:p:t:";
+    return default_longopts;
+}
+
 int main(int argc, char **argv)
 {
     /* some handy defaults to make testing easier */
@@ -289,20 +304,14 @@  int main(int argc, char **argv)
     char *hostname = "localhost";
     char *imgfile;
     char *trace_fn = NULL;
+    struct option *longopts;
+    char *shortopts;
 
-    /* TODO clean this up later */
+    longopts = setup_options(&shortopts);
 
     for (;;) {
-        static struct option longopts[] = {
-            {"help", no_argument, 0, '?'},
-            {"master", no_argument, &ismaster, 1},
-            {"host", required_argument, 0, 'h'},
-            {"port", required_argument, 0, 'p'},
-            {"test-fp-exc", no_argument, &test_fp_exc, 1},
-            {0, 0, 0, 0}
-        };
         int optidx = 0;
-        int c = getopt_long(argc, argv, "h:p:t:", longopts, &optidx);
+        int c = getopt_long(argc, argv, shortopts, longopts, &optidx);
         if (c == -1) {
             break;
         }