From 9a32593a494b8193c8837fa06c97552542652375 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Fri, 21 Sep 2012 08:09:44 +0200 Subject: cleo/application/spidinit: recast spidinit, closes #3316 This fix the segfault of spidinit when it was called with unsupported options. --- cleopatre/application/spidinit/S99spidinit | 14 +--- cleopatre/application/spidinit/src/spidinit.c | 100 ++++++-------------------- 2 files changed, 23 insertions(+), 91 deletions(-) (limited to 'cleopatre/application') diff --git a/cleopatre/application/spidinit/S99spidinit b/cleopatre/application/spidinit/S99spidinit index 87346c2367..d3b33cb7f8 100755 --- a/cleopatre/application/spidinit/S99spidinit +++ b/cleopatre/application/spidinit/S99spidinit @@ -1,16 +1,4 @@ #!/bin/sh -# -# Start spidinit.... -# - -case "$1" in - start) - /usr/bin/spidinit -a - ;; - *) - echo $"Usage: $0 {start}" - exit 1 -esac - +/usr/bin/spidinit exit $? diff --git a/cleopatre/application/spidinit/src/spidinit.c b/cleopatre/application/spidinit/src/spidinit.c index 05a775f388..db7aa31d95 100644 --- a/cleopatre/application/spidinit/src/spidinit.c +++ b/cleopatre/application/spidinit/src/spidinit.c @@ -23,94 +23,38 @@ #include #include "spidinit.h" -#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0])) - -struct command { - char lname[32]; - char sname; - char desc[64]; - char use_arg; - int (*func)(char*); -}; - -int do_all_commands(char *arg); -int do_update_img_desc(char *arg); - -struct command cmd_list[] = { - { "descupd", 'd', "update image descriptor", 0, &do_update_img_desc }, - { "all" , 'a', "start all commands", 0, &do_all_commands } /* must be the last one */ +static struct option long_options[] = { + {"descupd", 0, 0, 'd'}, + {"help", 0, 0, 'h'}, + {0, 0, 0, 0} }; -static void print_usage(const char *cmd) +static void print_usage (const char *cmd) { - int i; - fprintf(stderr, "Usage : %s\n", cmd); - for(i=0 ; i