aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rc/_usage.c4
-rw-r--r--src/rc/rc-update.c56
2 files changed, 25 insertions, 35 deletions
diff --git a/src/rc/_usage.c b/src/rc/_usage.c
index b6e2bebb..57cdb9a4 100644
--- a/src/rc/_usage.c
+++ b/src/rc/_usage.c
@@ -30,7 +30,11 @@ static void usage (int exit_status)
const char * const has_arg[] = { "", "<arg>", "[arg]" };
int i;
+#ifdef usagestring
+ printf (usagestring);
+#else
printf ("Usage: %s [options] ", applet);
+#endif
#ifdef extraopts
printf (extraopts);
#endif
diff --git a/src/rc/rc-update.c b/src/rc/rc-update.c
index 7181ac1a..72b94a3a 100644
--- a/src/rc/rc-update.c
+++ b/src/rc/rc-update.c
@@ -4,7 +4,7 @@
*/
/*
- * Copyright 2007 Roy Marples
+ * Copyright 2007-2008 Roy Marples
* All rights reserved
* Redistribution and use in source and binary forms, with or without
@@ -129,17 +129,15 @@ static void show (char **runlevels, bool verbose)
}
#include "_usage.h"
-#define getoptstring "ads" getoptstring_COMMON
+#define usagestring "" \
+ "Usage: rc-update [options] service <runlevel>\n" \
+ " rc-update [options] del service <runlevel>\n" \
+ " rc-update [options] show"
+#define getoptstring getoptstring_COMMON
static struct option longopts[] = {
- { "add", 0, NULL, 'a'},
- { "delete", 0, NULL, 'd'},
- { "show", 0, NULL, 's'},
longopts_COMMON
};
static const char * const longopts_help[] = {
- "Add the init.d to runlevels",
- "Delete init.d from runlevels",
- "Show init.d's in runlevels",
longopts_help_COMMON
};
#include "_usage.c"
@@ -165,17 +163,7 @@ int rc_update (int argc, char **argv)
longopts, (int *) 0)) != -1)
{
switch (opt) {
- case 'a':
- action |= DOADD;
- break;
- case 'd':
- action |= DODELETE;
- break;
- case 's':
- action |= DOSHOW;
- break;
-
- case_RC_COMMON_GETOPT
+ case_RC_COMMON_GETOPT
}
}
@@ -187,23 +175,21 @@ int rc_update (int argc, char **argv)
eerrorx ("%s: cannot mix commands", applet);
/* We need to be backwards compatible */
- if (! action) {
- if (optind < argc) {
- if (strcmp (argv[optind], "add") == 0)
- action = DOADD;
- else if (strcmp (argv[optind], "delete") == 0 ||
- strcmp (argv[optind], "del") == 0)
- action = DODELETE;
- else if (strcmp (argv[optind], "show") == 0)
- action = DOSHOW;
- if (action)
- optind++;
- else
- eerrorx ("%s: invalid command `%s'", applet, argv[optind]);
- }
- if (! action)
- usage (EXIT_FAILURE);
+ if (optind < argc) {
+ if (strcmp (argv[optind], "add") == 0)
+ action = DOADD;
+ else if (strcmp (argv[optind], "delete") == 0 ||
+ strcmp (argv[optind], "del") == 0)
+ action = DODELETE;
+ else if (strcmp (argv[optind], "show") == 0)
+ action = DOSHOW;
+ if (action)
+ optind++;
+ else
+ eerrorx ("%s: invalid command `%s'", applet, argv[optind]);
}
+ if (! action)
+ action = DOSHOW;
if (optind >= argc) {
if (! action & DOSHOW)