Репозитории ALT
S: | 1.3.59-alt4 |
5.1: | 1.3.29-alt2 |
4.1: | 1.3.29-alt2 |
4.0: | 1.3.29-alt2 |
3.0: | 1.2.24-alt5 |
+backports: | 1.3.29-alt0.M30.1 |
Группа :: Система/Настройка/Загрузка и инициализация
Пакет: chkconfig
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: chkconfig-1.2.24-alt-usage.patch
Скачать
Скачать
diff -ur chkconfig-1.2.24~/chkconfig.c chkconfig-1.2.24/chkconfig.c
--- chkconfig-1.2.24~/chkconfig.c Sat Jan 26 22:32:01 2002
+++ chkconfig-1.2.24/chkconfig.c Sat Jan 26 22:41:35 2002
@@ -17,7 +17,8 @@
#include "leveldb.h"
-static void usage(void) {
+__attribute__ ((__noreturn__))
+static void usage(int rc) {
fprintf(stderr, _("%s version %s - Copyright (C) 1997-2000 Red Hat, Inc.\n"), __progname, VERSION);
fprintf(stderr, _("This may be freely redistributed under the terms of "
"the GNU Public License.\n"));
@@ -27,7 +28,7 @@
fprintf(stderr, _(" %s --del <name>\n"), __progname);
fprintf(stderr, _(" %s [--level <levels>] <name> %s)\n"), __progname, "<on|off|reset>");
- exit(1);
+ exit(rc);
}
static void readServiceError(int rc, char * name) {
@@ -38,7 +39,7 @@
name, strerror(errno));
}
- exit(1);
+ exit(EXIT_FAILURE);
}
static void
@@ -292,7 +293,7 @@
bindtextdomain("chkconfig","/usr/share/locale");
textdomain("chkconfig");
- if (argc < 1) usage();
+ if (argc < 1) usage(EXIT_FAILURE);
optCon = poptGetContext("chkconfig", argc, argv, optionsTable, 0);
poptReadDefaultConfig(optCon, 1);
@@ -301,39 +302,42 @@
fprintf(stderr, "%s: %s\n",
poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
poptStrerror(rc));
- exit(1);
+ exit(EXIT_FAILURE);
}
+ if (help) usage(EXIT_SUCCESS);
+
if (version) {
fprintf(stdout, _("%s version %s\n"), __progname, VERSION);
- exit(0);
+ exit(EXIT_SUCCESS);
}
- if (help || argc == 1) usage();
+ if (argc == 1) usage(EXIT_FAILURE);
- if ((listItem + addItem + delItem) > 1) {
- fprintf(stderr, _("only one of --list, --add, or --del may be "
- "specified\n"));
- exit(1);
+ if ((listItem + addItem + delItem + (levels != 0)) > 1) {
+ fprintf(stderr, _("options --list, --add, --del and --level are mutually exclusive.\n"));
+ exit(EXIT_FAILURE);
}
if (addItem) {
char * name = (char *)poptGetArg(optCon);
if (!name || !*name || poptGetArg(optCon))
- usage();
+ usage(EXIT_FAILURE);
return addService(name);
} else if (delItem) {
char * name = (char *)poptGetArg(optCon);
- if (!name || !*name || poptGetArg(optCon)) usage();
+ if (!name || !*name || poptGetArg(optCon))
+ usage(EXIT_FAILURE);
return delService(name);
} else if (listItem) {
char * item = (char *)poptGetArg(optCon);
- if (item && poptGetArg(optCon)) usage();
+ if (item && poptGetArg(optCon))
+ usage(EXIT_FAILURE);
return listService(item);
} else {
@@ -343,7 +347,8 @@
if (levels) {
where = parseLevels(levels, 0);
- if (where == -1) usage();
+ if (where == -1)
+ usage(EXIT_FAILURE);
}
if (!state) {
@@ -362,7 +367,7 @@
if (rc > 1) {
fprintf(stderr, _("only one runlevel may be specified for "
"a chkconfig query\n"));
- exit(1);
+ exit(EXIT_FAILURE);
}
}
@@ -374,10 +379,8 @@
else if (!strcmp(state, "reset"))
return setService(name, where, -1);
else
- usage();
+ usage(EXIT_FAILURE);
}
- usage();
-
- return 1;
+ usage(EXIT_FAILURE);
}