--- /dev/null
+diff -Nru chkconfig-1.2.24h.old/chkconfig.c chkconfig-1.2.24h/chkconfig.c
+--- chkconfig-1.2.24h.old/chkconfig.c 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/chkconfig.c 2003-12-03 22:01:10.000000000 +0100
+@@ -116,7 +116,7 @@
+ printf("%-15s", s.name);
+
+ for (i = 0; i <= conf.maxlevel; i++) {
+- printf("\t%d:%s", i, isOn(s.name, i) ? _("on") : _("off"));
++ printf("\t%d:%s", i, isOn(s.name, i) ? _("***") : _("---"));
+ }
+ printf("\n");
+
+diff -Nru chkconfig-1.2.24h.old/chkconfig.c.orig chkconfig-1.2.24h/chkconfig.c.orig
+--- chkconfig-1.2.24h.old/chkconfig.c.orig 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/chkconfig.c.orig 1970-01-01 01:00:00.000000000 +0100
+@@ -1,451 +0,0 @@
+-/* Copyright (C) 1997-1999, Red Hat Software
+- * This may be freely redistributed under the terms of the GNU Public License.
+- *
+- * Tiny portions copyright 2001-2002, BSI
+- */
+-
+-#include <config.h>
+-
+-#include <ctype.h>
+-#include <dirent.h>
+-#include <errno.h>
+-#include <glob.h>
+-#include <libintl.h>
+-#include <locale.h>
+-
+-#if (!HAVE_LIBPOPT && !HAVE_GETOPT_LONG && !HAVE_LIBGETOPT)
+- #error "Either the Redhat popt or GNU getopt library must be installed."
+-#endif
+-
+-#if HAVE_LIBPOPT
+- #include <popt.h>
+-#else /* !HAVE_LIBPOPT */
+- /* we need GNU getopt-long */
+- #define _GNU_SOURCE
+- #include <getopt.h>
+-#endif /* HAVE_LIBPOPT */
+-
+-#include <stdio.h>
+-#include <stdlib.h>
+-#include <string.h>
+-#include <sys/stat.h>
+-#include <unistd.h>
+-static char *progname;
+-extern int addItem;
+-struct config conf; // used by leveldb.c
+-
+-#define _(String) gettext((String))
+-
+-#include "leveldb.h"
+-
+-static void usage(void) {
+- 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"));
+- fprintf(stderr, "\n");
+- fprintf(stderr, _("usage: %s --list [name]\n"), progname);
+- fprintf(stderr, _(" %s --add <name>\n"), progname);
+- fprintf(stderr, _(" %s --del <name>\n"), progname);
+- fprintf(stderr, _(" %s [--level <levels>] <name> %s\n"), progname, "<on|off|reset>");
+-
+- exit(1);
+-}
+-
+-static void readServiceError(int rc, char * name) {
+- if (rc == 1) {
+- fprintf(stderr, _("service %s does not support chkconfig\n"), name);
+- } else {
+- fprintf(stderr, _("error reading information on service %s: %s\n"),
+- name, strerror(errno));
+- }
+-
+- exit(1);
+-}
+-
+-static int delService(char * name) {
+- int level, i, rc;
+- glob_t globres;
+- struct service s;
+-
+- if ((rc = readServiceInfo(name, &s, 0))) {
+- readServiceError(rc, name);
+- return 1;
+- }
+- if (s.type == TYPE_XINETD) return 0;
+-
+- for (level = 0; level <= conf.maxlevel; level++) {
+- if (!findServiceEntries(name, level, &globres)) {
+- for (i = 0; i < globres.gl_pathc; i++)
+- unlink(globres.gl_pathv[i]);
+- if (globres.gl_pathc) globfree(&globres);
+- }
+- }
+- return 0;
+-}
+-
+-static int addService(char * name) {
+- int i, rc;
+- struct service s;
+-
+- if ((rc = readServiceInfo(name, &s, 0))) {
+- readServiceError(rc, name);
+- return 1;
+- }
+-
+- if (s.type == TYPE_XINETD) return 0;
+-
+- for (i = 0; i <= conf.maxlevel; i++) {
+- if ((1 << i) & s.levels)
+- doSetService(s, i, 1);
+- else
+- doSetService(s, i, 0);
+- }
+-
+- return 0;
+-}
+-
+-static int showServiceInfo( char * name, int forgiving)
+-{
+- int rc;
+- int i;
+- struct service s;
+-
+- if ((rc = readServiceInfo(name, &s, 0))) {
+- if (!forgiving)
+- readServiceError(rc, name);
+- return forgiving ? 0 : 1;
+- }
+-
+- printf("%-15s", s.name);
+- if (s.type == TYPE_XINETD) {
+- printf("\t%s\n", s.levels ? _("on") : _("off"));
+- return 0;
+- }
+-
+- for (i = 0; i <= conf.maxlevel; i++) {
+- printf("\t%d:%s", i, isOn(s.name, i) ? _("on") : _("off"));
+- }
+- printf("\n");
+-
+- return 0;
+-}
+-
+-static int isXinetdEnabled() {
+- int i;
+- struct service s;
+-
+- if (readServiceInfo("xinetd", &s, 0)) {
+- return 0;
+- }
+- for (i = 0; i <= conf.maxlevel; i++) {
+- if (isOn("xinetd", i))
+- return 1;
+- }
+- return 0;
+-}
+-
+-
+-static int listService(char * item) {
+- DIR * dir;
+- struct dirent * ent;
+- struct stat sb;
+- char fn[1024];
+- int err = 0;
+-
+- if (item) return showServiceInfo(item, 0);
+-
+- if (!(dir = opendir(conf.initdir))) {
+- fprintf(stderr, _("failed to open %s: %s\n"), conf.initdir,
+- strerror(errno));
+- return 1;
+- }
+-
+- while ((ent = readdir(dir))) {
+- const char *dn;
+-
+- /* Skip any file starting with a . */
+- if (ent->d_name[0] == '.') continue;
+-
+- /* Skip files with known bad extensions */
+- if ((dn = strrchr(ent->d_name, '.')) != NULL &&
+- (!strcmp(dn, ".rpmsave") || !strcmp(dn, ".rpmnew")
+- || !strcmp(dn, ".rpmorig") || !strcmp(dn, ".swp")
+- || !strcmp(dn, ".dpkg-dist") || !strcmp(dn, ".dpkg-old")
+- || !strcmp(dn, ".dpkg-new")))
+- continue;
+-
+- dn = ent->d_name + strlen(ent->d_name) - 1;
+- if (*dn == '~' || *dn == ',')
+- continue;
+-
+- sprintf(fn, "%s/%s", conf.initdir, ent->d_name);
+- if (stat(fn, &sb)) {
+- err = errno;
+- continue;
+- }
+- if (!S_ISREG(sb.st_mode)) continue;
+-
+- if (showServiceInfo(ent->d_name, 1)) {
+- closedir(dir);
+- return 1;
+- }
+- }
+-
+- if (err) {
+- fprintf(stderr, _("error reading from directory %s: %s"),
+- conf.initdir, strerror(err));
+- return 1;
+- }
+-
+- closedir(dir);
+-
+- if (isXinetdEnabled()) {
+- printf(_("xinetd based services:\n"));
+- if (!(dir = opendir(conf.xinetddir))) {
+- fprintf(stderr, _("failed to open directory %s: %s"),
+- conf.xinetddir, strerror(err));
+- return 1;
+- }
+- while ((ent = readdir(dir))) {
+- const char *dn;
+- struct service s;
+-
+- /* Skip any file starting with a . */
+- if (ent->d_name[0] == '.') continue;
+-
+- /* Skip files with known bad extensions */
+- if ((dn = strrchr(ent->d_name, '.')) != NULL &&
+- (!strcmp(dn, ".rpmsave") || !strcmp(dn, ".rpmnew") || !strcmp(dn, ".rpmorig") || !strcmp(dn, ".swp")))
+- continue;
+-
+- dn = ent->d_name + strlen(ent->d_name) - 1;
+- if (*dn == '~' || *dn == ',')
+- continue;
+-
+- readXinetdServiceInfo(ent->d_name, &s, 0);
+- printf("\t%s:\t%s\n", s.name, s.levels ? _("on") : _("off"));
+- }
+- closedir(dir);
+- }
+- return 0;
+-}
+-
+-int setService(char * name, int where, int state) {
+- int i, rc;
+- int what;
+- struct service s;
+-
+- if (!where && state != -1) {
+- /* levels 3, 4, 5 */
+- where = (1 << 3) | (1 << 4) | (1 << 5);
+- } else if (!where) {
+- where = (1 << 0) | (1 << 1) | (1 << 2) |
+- (1 << 3) | (1 << 4) | (1 << 5) | (1 << 6);
+- }
+-
+- if ((rc = readServiceInfo(name, &s, 0))) {
+- readServiceError(rc, name);
+- return 1;
+- }
+-
+- if (s.type == TYPE_INIT_D) {
+- for (i = 0; i <= conf.maxlevel; i++) {
+- if (!((1 << i) & where)) continue;
+-
+- if (state == 1 || state == 0)
+- what = state;
+- else if (s.levels & (1 << i))
+- what = 1;
+- else
+- what = 0;
+- doSetService(s, i, what);
+- }
+- } else if (s.type == TYPE_XINETD) {
+- char xinetd[250];
+-
+- setXinetdService(s, state);
+- snprintf(xinetd, sizeof(xinetd),
+- "%s/xinetd reload >/dev/null 2>&1", conf.initdir);
+- system(xinetd);
+- }
+-
+- return 0;
+-}
+-
+-
+-int main(int argc, char ** argv) {
+- int listItem = 0, delItem = 0;
+- int rc, i, x;
+- char * levels = NULL;
+- int help=0, version=0;
+-
+-#if HAVE_LIBPOPT
+- poptContext optCon;
+- struct poptOption optionsTable[] = {
+- { "add", '\0', 0, &addItem, 0 },
+- { "del", '\0', 0, &delItem, 0 },
+- { "list", '\0', 0, &listItem, 0 },
+- { "level", '\0', POPT_ARG_STRING, &levels, 0 },
+- { "rc.d", '\0', POPT_ARG_STRING, &conf.rcdir, 0 },
+- { "init.d", '\0', POPT_ARG_STRING, &conf.initdir, 0 },
+- { "xinetd.d", '\0', POPT_ARG_STRING, &conf.xinetddir, 0 },
+- { "help", 'h', POPT_ARG_NONE, &help, 0 },
+- { "version", 'v', POPT_ARG_NONE, &version, 0 },
+- { 0, 0, 0, 0, 0 }
+- };
+-#else /* !HAVE_LIBPOPT */
+- struct option optionsTable[] =
+- {
+- { "add", 0, &addItem, 1 },
+- { "del", 0, &delItem, 1 },
+- { "list", 0, &listItem, 1 },
+- { "level", 1, 0, 0 },
+- { "rc.d", 1, 0, 0 },
+- { "init.d", 1, 0, 0 },
+- { "xinetd.d", 1, 0, 0 },
+- { "help", 0, &help, 1 },
+- { "version", 0, &version, 1 },
+- { 0, 0, 0, 0 }
+- };
+-#endif /* HAVE_LIBPOPT */
+-
+- conf.rcdir = RCDIR; // default to value found by configure
+- conf.initdir = INITDIR;
+- conf.xinetddir = XINETDDIR;
+- conf.maxlevel = MAXLEVEL;
+-
+- if ((progname = strrchr(argv[0], '/')) != NULL)
+- progname++;
+- else
+- progname = argv[0];
+-
+- setlocale(LC_ALL, "");
+- bindtextdomain(PACKAGE, LOCALEDIR);
+- textdomain(PACKAGE);
+-#if HAVE_LIBPOPT
+- optCon = poptGetContext("chkconfig", argc, argv, optionsTable, 0);
+- poptReadDefaultConfig(optCon, 1);
+-
+- if ((rc = poptGetNextOpt(optCon)) < -1) {
+- fprintf(stderr, "%s: %s\n",
+- poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
+- poptStrerror(rc));
+- exit(1);
+- }
+-#else /* !HAVE_LIBPOPT */
+- /* turn off getopt_long from reporting errors on stderr */
+- opterr = 0;
+-
+- /* process all the options so that we know what the user wants */
+- while ((rc = getopt_long(argc, argv, "hv",
+- optionsTable, &i)) != -1) {
+- switch (rc) {
+- case 'h': help = 1; break;
+- case 'v': version =1; break;
+- case ':': /* missing arg for option -- fall through */
+- case '?': /* extra arg for option */
+- usage(); /* exits */
+- case 0: /* found a long option... check for an arg */
+- switch (i) {
+- /* these numbers correspond to the
+- * index in optionsTable[]. */
+- case 3: levels = optarg; break;
+- case 4: conf.rcdir = optarg; break;
+- case 5: conf.initdir = optarg; break;
+- case 6: conf.xinetddir = optarg; break;
+- default: break; /* no arg */
+- }
+- break;
+- default:
+- fprintf(stderr, "%s: weird, getopt_long = %d (%c), i = %d\n",
+- progname, rc, (char) rc, i);
+- fprintf(stderr, "Terminating.\n");
+- exit(1);
+- }
+- }
+-#endif /* HAVE_LIBPOPT */
+-
+- if (version) {
+- fprintf(stdout, _("%s version %s\n"), progname, VERSION);
+- exit(0);
+- }
+-
+- if (help || argc == 1) usage();
+-
+- if ((listItem + addItem + delItem) > 1) {
+- fprintf(stderr, _("only one of --list, --add, or --del may be "
+- "specified\n"));
+- exit(1);
+- }
+-
+-#if !HAVE_LIBPOPT
+- /* for getopt, we just use argv[optind]. This
+- * trickiness preserves the original code, so that
+- * we can do merges later. */
+- #define poptGetArg(x) ((optind < argc) ? argv[optind++] : NULL)
+-#endif
+-
+- if (addItem) {
+- char * name = (char *)poptGetArg(optCon);
+-
+- if (!name || !*name || poptGetArg(optCon))
+- usage();
+-
+- return addService(name);
+- } else if (delItem) {
+- char * name = (char *)poptGetArg(optCon);
+-
+- if (!name || !*name || poptGetArg(optCon)) usage();
+-
+- return delService(name);
+- } else if (listItem) {
+- char * item = (char *)poptGetArg(optCon);
+-
+- if (item && poptGetArg(optCon)) usage();
+-
+- return listService(item);
+- } else {
+- char * name = (char *)poptGetArg(optCon);
+- char * state = (char *)poptGetArg(optCon);
+- int where = 0, level = -1;
+-
+- if (levels) {
+- where = parseLevels(levels, 0);
+- if (where == -1) usage();
+- }
+-
+- if (!state) {
+- if (where) {
+- rc = x = 0;
+- i = where;
+- while (i) {
+- if (i & 1) {
+- rc++;
+- level = x;
+- }
+- i >>= 1;
+- x++;
+- }
+-
+- if (rc > 1) {
+- fprintf(stderr, _("only one runlevel may be specified for "
+- "a chkconfig query\n"));
+- exit(1);
+- }
+- }
+-
+- return isOn(name, level) ? 0 : 1;
+- } else if (!strcmp(state, "on"))
+- return setService(name, where, 1);
+- else if (!strcmp(state, "off"))
+- return setService(name, where, 0);
+- else if (!strcmp(state, "reset"))
+- return setService(name, where, -1);
+- else
+- usage();
+- }
+-
+- usage();
+-
+- return 1;
+-}
+diff -Nru chkconfig-1.2.24h.old/leveldb.c.orig chkconfig-1.2.24h/leveldb.c.orig
+--- chkconfig-1.2.24h.old/leveldb.c.orig 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/leveldb.c.orig 1970-01-01 01:00:00.000000000 +0100
+@@ -1,532 +0,0 @@
+-#include <alloca.h>
+-#include <ctype.h>
+-#include <errno.h>
+-#include <fcntl.h>
+-#include <glob.h>
+-#include <libintl.h>
+-#include <locale.h>
+-#include <sys/mman.h>
+-#include <sys/stat.h>
+-#include <stdlib.h>
+-#include <stdio.h>
+-#include <string.h>
+-#include <unistd.h>
+-#include <sys/types.h>
+-#include <dirent.h>
+-
+-int addItem = 0;
+-
+-/* Changes
+- 2001-12-03 - Petter Reinholdtsen <pere@hungry.com>
+- Bo Adler <thumper@alumni.caltech.edu>
+- Added code to allow init scripts to not have headers
+-
+- 1998-09-22 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+- i18n for init.d scripts (eg.: description(pt_BR) is a brazilian
+- portuguese description for the package)
+-*/
+-
+-#define _(String) gettext((String))
+-
+-#include "leveldb.h"
+-
+-extern struct config conf;
+-
+-int parseLevels(char * str, int emptyOk) {
+- char * chptr = str;
+- int rc = 0;
+-
+- if (!str || !strlen(str))
+- return emptyOk ? 0 : -1;
+-
+- while (*chptr) {
+- if (!isdigit(*chptr) || *chptr > '6') return -1;
+- rc |= 1 << (*chptr - '0');
+- chptr++;
+- }
+-
+- return rc;
+-}
+-
+-int readDescription(char *start, char *bufstop, char **english_desc, char **serv_desc) {
+- char english;
+- char my_lang_loaded = 0;
+- char is_my_lang = 0;
+- char * lang = getenv ("LANG");
+- char * final_parenthesis;
+- char * end, *next;
+- int i;
+-
+- english = *start == ':';
+- end = strchr(start, '\n');
+- if (!end)
+- next = end = bufstop;
+- else
+- next = end + 1;
+-
+- if (!english) {
+- if (*start != '(') {
+- return 1;
+- }
+-
+- ++start;
+- final_parenthesis = strchr (start, ')');
+-
+- if (final_parenthesis == NULL || final_parenthesis - start > 5) {
+- return 1;
+- }
+-
+- is_my_lang = lang ? strncmp (lang, start, strlen (lang)) == 0 : 0;
+- start = final_parenthesis + 2;
+- } else ++start;
+-
+- while (isspace(*start) && start < end) start++;
+- if (start == end) {
+- return 1;
+- }
+- {
+- char* desc = malloc(end - start + 1);
+- strncpy(desc, start, end - start);
+- desc[end - start] = '\0';
+-
+- start = next;
+-
+- while (desc[strlen(desc) - 1] == '\\') {
+- desc[strlen(desc) - 1] = '\0';
+- start = next;
+-
+- while (isspace(*start) && start < bufstop) start++;
+- if (start == bufstop || *start != '#') {
+- return 1;
+- }
+-
+- start++;
+-
+- while (isspace(*start) && start < bufstop) start++;
+- if (start == bufstop) {
+- return 1;
+- }
+-
+- end = strchr(start, '\n');
+- if (!end)
+- next = end = bufstop;
+- else
+- next = end + 1;
+-
+- i = strlen(desc);
+- desc = realloc(desc, i + end - start + 1);
+- strncat(desc, start, end - start);
+- desc[i + end - start] = '\0';
+-
+- start = next;
+- }
+-
+- if (desc) {
+- if (my_lang_loaded) {
+- free(desc);
+- } else if (is_my_lang) {
+- if (*serv_desc)
+- free(*serv_desc);
+-
+- *serv_desc = desc;
+- return 0;
+- } else if (english) {
+- if (*serv_desc)
+- free(*serv_desc);
+-
+- if (*english_desc)
+- free (*english_desc);
+-
+- *english_desc = desc;
+- } else free (desc);
+- }
+- }
+- return 0;
+-}
+-
+-int readXinetdServiceInfo(char *name, struct service * service, int honorHide) {
+- char * filename = alloca(strlen(name) + strlen(XINETDDIR) + 50);
+- int fd;
+- struct service serv = { NULL, -1, -1, -1, NULL, 1, -1 };
+- struct stat sb;
+- char * buf, *ptr;
+- char * eng_desc = NULL, *start;
+-
+- snprintf(filename, strlen(name)+strlen(XINETDDIR)+50, XINETDDIR "/%s", name);
+-
+- if ((fd = open(filename, O_RDONLY)) < 0) return -1;
+- fstat(fd,&sb);
+- buf = malloc(sb.st_size+1);
+- if (read(fd,buf,sb.st_size)!=sb.st_size) {
+- close(fd);
+- free(buf);
+- return -1;
+- }
+- close(fd);
+- serv.name = strdup(name);
+- buf[sb.st_size] = '\0';
+- start = buf;
+- while (buf) {
+- ptr = strchr(buf,'\n');
+- if (*buf == '#') {
+- buf++;
+- while (isspace(*buf) && buf < ptr) buf++;
+- if (!strncmp(buf,"default:", 9)) {
+- buf+=8;
+- while(isspace(*buf)) buf++;
+- if (!strncmp(buf+9,"on",2)) {
+- serv.enabled = 1;
+- } else {
+- serv.enabled = 0;
+- }
+- } else if (!strncmp(buf,"description:",12)) {
+- buf+=11;
+- if (readDescription(buf,start+sb.st_size,
+- &serv.desc,&eng_desc)) {
+- if (serv.desc) free(serv.desc);
+- }
+- if (!serv.desc) {
+- if (eng_desc)
+- serv.desc = eng_desc;
+- } else if (eng_desc)
+- free (eng_desc);
+- }
+- if (ptr) {
+- *ptr = '\0';
+- ptr++;
+- }
+- buf = ptr;
+- continue;
+- }
+- while (isspace(*buf) && buf < ptr) buf++;
+- if (!strncmp(buf,"disable", 7)) {
+- buf = strstr(buf,"=");
+- if (buf)
+- do {
+- buf++;
+- } while(isspace(*buf));
+-
+- if (buf && strncmp(buf,"yes",3)) {
+- serv.levels = parseLevels("0123456",0);
+- if (serv.enabled == -1)
+- serv.enabled = 1;
+- } else {
+- serv.levels = 0;
+- if (serv.enabled == -1)
+- serv.enabled = 0;
+- }
+- }
+- if (ptr) {
+- *ptr = '\0';
+- ptr++;
+- }
+- buf = ptr;
+- }
+- *service = serv;
+- return 0;
+-}
+-
+-int readServiceInfo(char * name, struct service * service, int honorHide) {
+- char * filename = alloca(strlen(name) + strlen(conf.initdir) + 50);
+- int fd;
+- struct stat sb;
+- char * bufstart, * bufstop, * start, * end, * next, *tmpbufstart;
+- struct service serv = { NULL, -1, -1, -1, NULL, 0, 0 };
+- char overflow;
+- char levelbuf[20];
+- char * english_desc = NULL;
+- DIR *dir;
+- struct dirent *dirent;
+- int i;
+-
+- sprintf(filename, "%s/%s", conf.initdir, name);
+-
+- if ((fd = open(filename, O_RDONLY)) < 0) {
+- return readXinetdServiceInfo(name,service,honorHide);
+- }
+- fstat(fd, &sb);
+-
+- bufstart = mmap(NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, 0);
+- if (bufstart == ((caddr_t) -1)) {
+- close(fd);
+- return -1;
+- }
+-
+- tmpbufstart = (char*)malloc(sb.st_size+1);
+- if (tmpbufstart == NULL) {
+- close(fd);
+- return -1;
+- }
+-
+- memcpy(tmpbufstart, bufstart, sb.st_size);
+- munmap(bufstart, sb.st_size);
+-
+- bufstart = tmpbufstart;
+- bufstop = bufstart + sb.st_size;
+- *bufstop = 0;
+-
+- close(fd);
+-
+- next = bufstart;
+- while (next < bufstop && (serv.levels == -1 || !serv.desc)) {
+- start = next;
+-
+- while (isspace(*start) && start < bufstop) start++;
+- if (start == bufstop) break;
+-
+- end = strchr(start, '\n');
+- if (!end)
+- next = end = bufstop;
+- else
+- next = end + 1;
+-
+- if (*start != '#') continue;
+-
+- start++;
+- while (isspace(*start) && start < end) start++;
+- if (start == end) continue;
+- if (honorHide && !strncmp(start, "hide:", 5)) {
+- start += 5;
+- while (isspace(*start) && start < end) start++;
+- if (start == end || !strncmp(start, "true", 4)) {
+- if (serv.desc) free(serv.desc);
+- free(bufstart);
+- return 1;
+- }
+- }
+-
+- if (!strncmp(start, "chkconfig:", 10)) {
+- start += 10;
+- while (isspace(*start) && start < end) start++;
+- if (start == end) {
+- if (serv.desc) free(serv.desc);
+- free(bufstart);
+- return 1;
+- }
+-
+- if ((sscanf(start, "%s %d %d%c", levelbuf,
+- &serv.sPriority, &serv.kPriority, &overflow) != 4) ||
+- !isspace(overflow)) {
+- if (serv.desc) free(serv.desc);
+- free(bufstart);
+- return 1;
+- }
+-
+- if (!strcmp(levelbuf, "-"))
+- serv.levels = 0;
+- else
+- serv.levels = parseLevels(levelbuf, 0);
+- if (serv.levels == -1) {
+- if (serv.desc) free(serv.desc);
+- free(bufstart);
+- return 1;
+- }
+- } else if (!strncmp(start, "description", 11)) {
+- if (readDescription(start+11, bufstop, &english_desc, &serv.desc)) {
+- if (serv.desc) free(serv.desc);
+- }
+- }
+- }
+-
+- free(bufstart);
+-
+- if (!serv.desc) {
+- if (english_desc)
+- serv.desc = english_desc;
+- } else if (english_desc)
+- free (english_desc);
+-
+-#ifndef MANDATORY_HEADERS
+- /* if we're allowing files with no headers... */
+- if (serv.levels = -1) {
+- serv.levels = 0;
+- if ( !serv.desc)
+- serv.desc = strdup("[no description]");
+- }
+-#endif
+-
+-
+- if ((serv.levels == -1 ) || !serv.desc) {
+- return 1;
+- }
+-
+- serv.name = strdup(name);
+-
+- if (addItem) {
+- strcpy(levelbuf,"/etc/rc.d/rc0.d");
+- for(i=0;i<7;i++,levelbuf[12]++) {
+- dir=opendir(levelbuf);
+- if (!dir) return 1;
+- while ((dirent=readdir(dir))) {
+- if (strlen(dirent->d_name)<4) continue;
+- if (strcmp(dirent->d_name+3,name)) continue;
+- if (*dirent->d_name=='K') serv.levels &= ~(1<<i);
+- else if (*dirent->d_name=='S') serv.levels |= 1<<i;
+- }
+- closedir(dir);
+- }
+- }
+-
+- *service = serv;
+- return 0;
+-}
+-
+-/* returns -1 on error */
+-int currentRunlevel(void) {
+- FILE * p;
+- char response[50];
+-
+- p = popen("/sbin/runlevel", "r");
+- if (!p) return -1;
+-
+- if (!fgets(response, sizeof(response), p)) {
+- pclose(p);
+- return -1;
+- }
+-
+- pclose(p);
+-
+- if (response[1] != ' ' || !isdigit(response[2]) || response[3] != '\n')
+- return -1;
+-
+- return response[2] - '0';
+-}
+-
+-int findServiceEntries(char * name, int level, glob_t * globresptr) {
+- char match[200];
+- glob_t globres;
+- int rc;
+-
+- snprintf(match, sizeof(match),
+- "%s/rc%d.d/[SK][0-9][0-9]%s", conf.rcdir, level, name);
+-
+- rc = glob(match, GLOB_ERR | GLOB_NOSORT, NULL, &globres);
+-
+- if (rc && rc != GLOB_NOMATCH) {
+- fprintf(stderr, _("failed to glob pattern %s: %s\n"), match,
+- strerror(errno));
+- return 1;
+- } else if (rc == GLOB_NOMATCH) {
+- globresptr->gl_pathc = 0;
+- return 0;
+- }
+-
+- *globresptr = globres;
+- return 0;
+-}
+-
+-int isConfigured(char * name, int level) {
+- glob_t globres;
+-
+- if (findServiceEntries(name, level, &globres))
+- exit(1);
+-
+- if (!globres.gl_pathc)
+- return 0;
+-
+- globfree(&globres);
+- return 1;
+-}
+-
+-int isOn(char * name, int level) {
+- glob_t globres;
+-
+- if (level == -1) {
+- level = currentRunlevel();
+- if (level == -1) {
+- fprintf(stderr, _("cannot determine current run level\n"));
+- return 0;
+- }
+- }
+-
+- if (findServiceEntries(name, level, &globres))
+- exit(1);
+-
+- if (!globres.gl_pathc || !strstr(globres.gl_pathv[0], "/S"))
+- return 0;
+-
+- globfree(&globres);
+- return 1;
+-}
+-
+-int setXinetdService(struct service s, int on) {
+- int oldfd, newfd;
+- char oldfname[100], newfname[100];
+- char tmpstr[50];
+- char *buf, *ptr, *tmp;
+- struct stat sb;
+-
+- if (on == -1) {
+- on = s.enabled ? 1 : 0;
+- }
+- snprintf(oldfname,100,"%s/%s",XINETDDIR,s.name);
+- if ( (oldfd = open(oldfname,O_RDONLY)) == -1 ) {
+- return -1;
+- }
+- fstat(oldfd,&sb);
+- buf = malloc(sb.st_size+1);
+- if (read(oldfd,buf,sb.st_size)!=sb.st_size) {
+- close(oldfd);
+- free(buf);
+- return -1;
+- }
+- close(oldfd);
+- buf[sb.st_size] = '\0';
+- snprintf(newfname,100,"%s/%s.XXXXXX",XINETDDIR,s.name);
+- newfd = mkstemp(newfname);
+- if (newfd == -1) {
+- free(buf);
+- return -1;
+- }
+- while (buf) {
+- tmp = buf;
+- ptr = strchr(buf,'\n');
+- if (ptr) {
+- *ptr = '\0';
+- ptr++;
+- }
+- while (isspace(*buf)) buf++;
+- if (strncmp(buf,"disable", 7) && strlen(buf)) {
+- write(newfd,tmp,strlen(tmp));
+- write(newfd,"\n",1);
+- if (buf[0] == '{') {
+- snprintf(tmpstr,50,"\tdisable\t= %s", on ? "no" : "yes");
+- write(newfd,tmpstr,strlen(tmpstr));
+- write(newfd,"\n",1);
+- }
+- }
+- buf = ptr;
+- }
+- close(newfd);
+- chmod(newfname,0644);
+- unlink(oldfname);
+- return(rename(newfname,oldfname));
+-}
+-
+-int doSetService(struct service s, int level, int on) {
+- int priority = on ? s.sPriority : s.kPriority;
+- char linkname[200];
+- char linkto[200];
+- glob_t globres;
+- int i;
+-
+- if (!findServiceEntries(s.name, level, &globres)) {
+- for (i = 0; i < globres.gl_pathc; i++)
+- unlink(globres.gl_pathv[i]);
+- if (globres.gl_pathc) globfree(&globres);
+- }
+-
+- sprintf(linkname, "%s/rc%d.d/%c%02d%s", conf.rcdir, level,
+- on ? 'S' : 'K', priority, s.name);
+- sprintf(linkto, "%s/%s", conf.initdir, s.name);
+-
+- unlink(linkname); /* just in case */
+- if (symlink(linkto, linkname)) {
+- fprintf(stderr, _("failed to make symlink %s: %s\n"), linkname,
+- strerror(errno));
+- return 1;
+- }
+-
+- return 0;
+-}
+-
+diff -Nru chkconfig-1.2.24h.old/po/cs.po chkconfig-1.2.24h/po/cs.po
+--- chkconfig-1.2.24h.old/po/cs.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/cs.po 2003-12-03 22:03:36.000000000 +0100
+@@ -51,11 +51,11 @@
+ msgstr "chyba pøi ètení informací o slu¾bì %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "on"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "off"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/da.po chkconfig-1.2.24h/po/da.po
+--- chkconfig-1.2.24h.old/po/da.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/da.po 2003-12-03 22:03:36.000000000 +0100
+@@ -52,11 +52,11 @@
+ msgstr "fejl ved læsning af information om tjeneste %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "til"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "fra"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/de.po chkconfig-1.2.24h/po/de.po
+--- chkconfig-1.2.24h.old/po/de.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/de.po 2003-12-03 22:03:36.000000000 +0100
+@@ -63,12 +63,12 @@
+
+ # ../chkconfig.c:100
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "Ein"
+
+ # ../chkconfig.c:100
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "Aus"
+
+ # ../chkconfig.c:117
+diff -Nru chkconfig-1.2.24h.old/po/es.po chkconfig-1.2.24h/po/es.po
+--- chkconfig-1.2.24h.old/po/es.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/es.po 2003-12-03 22:03:36.000000000 +0100
+@@ -56,11 +56,11 @@
+ msgstr "error al leer la información del servicio %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "on"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "off"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/eu.po chkconfig-1.2.24h/po/eu.po
+--- chkconfig-1.2.24h.old/po/eu.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/eu.po 2003-12-03 22:03:36.000000000 +0100
+@@ -55,11 +55,11 @@
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr ""
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/fi.po chkconfig-1.2.24h/po/fi.po
+--- chkconfig-1.2.24h.old/po/fi.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/fi.po 2003-12-03 22:03:36.000000000 +0100
+@@ -57,11 +57,11 @@
+ msgstr "virhe luettaessa tietoja palvelulta %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr ""
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/fr.po chkconfig-1.2.24h/po/fr.po
+--- chkconfig-1.2.24h.old/po/fr.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/fr.po 2003-12-03 22:03:36.000000000 +0100
+@@ -56,11 +56,11 @@
+ msgstr "Erreur lors de la lecture d'informations sur le service %s : %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "Marche"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "Arrêt"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/gl.po chkconfig-1.2.24h/po/gl.po
+--- chkconfig-1.2.24h.old/po/gl.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/gl.po 2003-12-03 22:03:36.000000000 +0100
+@@ -52,11 +52,11 @@
+ msgstr "erro lendo a información do servicio %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "on"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "off"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/hu.po chkconfig-1.2.24h/po/hu.po
+--- chkconfig-1.2.24h.old/po/hu.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/hu.po 2003-12-03 22:03:36.000000000 +0100
+@@ -50,11 +50,11 @@
+ msgstr "információ olvasási hiba a(z) %s szolgáltatásnál: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "be"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "ki"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/id.po chkconfig-1.2.24h/po/id.po
+--- chkconfig-1.2.24h.old/po/id.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/id.po 2003-12-03 22:03:36.000000000 +0100
+@@ -55,11 +55,11 @@
+ msgstr "terdapat error ketika membaca informasi layanan %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "hidup"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "mati"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/is.po chkconfig-1.2.24h/po/is.po
+--- chkconfig-1.2.24h.old/po/is.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/is.po 2003-12-03 22:03:36.000000000 +0100
+@@ -50,11 +50,11 @@
+ msgstr "villa við lestur upplýsinga um þjónustu %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "á"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "af"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/it.po chkconfig-1.2.24h/po/it.po
+--- chkconfig-1.2.24h.old/po/it.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/it.po 2003-12-03 22:03:36.000000000 +0100
+@@ -56,11 +56,11 @@
+ msgstr "errore durante la lettura delle informazioni sul servizio %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "on"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "off"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/ja.po chkconfig-1.2.24h/po/ja.po
+--- chkconfig-1.2.24h.old/po/ja.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/ja.po 2003-12-03 22:03:36.000000000 +0100
+@@ -64,12 +64,12 @@
+
+ # ../chkconfig.c:101 ../chkconfig.c:106 ../chkconfig.c:203
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "¥ª¥ó"
+
+ # ../chkconfig.c:101 ../chkconfig.c:106 ../chkconfig.c:203
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "¥ª¥Õ"
+
+ # ../chkconfig.c:138
+diff -Nru chkconfig-1.2.24h.old/po/ko.po chkconfig-1.2.24h/po/ko.po
+--- chkconfig-1.2.24h.old/po/ko.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/ko.po 2003-12-03 22:03:36.000000000 +0100
+@@ -56,11 +56,11 @@
+ # # '²û' °ú 'ÄÔ' µµ ¸¶Âù°¡Áö ÀÔ´Ï´Ù. :-)
+ # #
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "È°¼º"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "ÇØÁ¦"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/nn.po chkconfig-1.2.24h/po/nn.po
+--- chkconfig-1.2.24h.old/po/nn.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/nn.po 2003-12-03 22:03:36.000000000 +0100
+@@ -55,11 +55,11 @@
+ msgstr "feil ved lesing frå fila %1\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "på"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "av"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/no.po chkconfig-1.2.24h/po/no.po
+--- chkconfig-1.2.24h.old/po/no.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/no.po 2003-12-03 22:03:36.000000000 +0100
+@@ -52,11 +52,11 @@
+ msgstr "klarte ikke å finne informasjon om tjeneste %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "på"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "av"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/pl.po chkconfig-1.2.24h/po/pl.po
+--- chkconfig-1.2.24h.old/po/pl.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/pl.po 2003-12-03 22:03:36.000000000 +0100
+@@ -57,11 +57,11 @@
+ msgstr "b³±d podczas czytania informacji o us³udze %s: %s\n"
+
+ #: chkconfig.c:119
+-msgid "on"
++msgid "***"
+ msgstr "***"
+
+ #: chkconfig.c:119
+-msgid "off"
++msgid "---"
+ msgstr "---"
+
+ #: chkconfig.c:136
+diff -Nru chkconfig-1.2.24h.old/po/pt_BR.po chkconfig-1.2.24h/po/pt_BR.po
+--- chkconfig-1.2.24h.old/po/pt_BR.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/pt_BR.po 2003-12-03 22:03:36.000000000 +0100
+@@ -57,11 +57,11 @@
+ msgstr "erro durante leitura de informações sobre o serviço %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "sim"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "não"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/pt.po chkconfig-1.2.24h/po/pt.po
+--- chkconfig-1.2.24h.old/po/pt.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/pt.po 2003-12-03 22:03:36.000000000 +0100
+@@ -52,11 +52,11 @@
+ msgstr "erro ao ler informação sobre o serviço %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "ligado"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "desligado"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/ro.po chkconfig-1.2.24h/po/ro.po
+--- chkconfig-1.2.24h.old/po/ro.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/ro.po 2003-12-03 22:03:36.000000000 +0100
+@@ -53,11 +53,11 @@
+ msgstr "eroare la citirea informaþiilor pentru serviciul %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "on"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "off"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/ru.po chkconfig-1.2.24h/po/ru.po
+--- chkconfig-1.2.24h.old/po/ru.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/ru.po 2003-12-03 22:03:36.000000000 +0100
+@@ -50,11 +50,11 @@
+ msgstr "ÏÛÉÂËÁ ÞÔÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ Ï ÓÅÒ×ÉÓÅ %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "×ËÌ"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "×ÙËÌ"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/sk.po chkconfig-1.2.24h/po/sk.po
+--- chkconfig-1.2.24h.old/po/sk.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/sk.po 2003-12-03 22:04:00.000000000 +0100
+@@ -51,11 +51,11 @@
+ msgstr "chyba pri èítaní informácií o slu¾be %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "zapnuté"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "vypnuté"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/sl.po chkconfig-1.2.24h/po/sl.po
+--- chkconfig-1.2.24h.old/po/sl.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/sl.po 2003-12-03 22:03:36.000000000 +0100
+@@ -57,11 +57,11 @@
+ msgstr "napaka pri branju podatkov o storitvi %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "vklopljeno"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "izklopljeno"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/sr.po chkconfig-1.2.24h/po/sr.po
+--- chkconfig-1.2.24h.old/po/sr.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/sr.po 2003-12-03 22:03:36.000000000 +0100
+@@ -56,11 +56,11 @@
+ msgstr "gre¹ka kod èitanja informacija o servisu %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "ukljuèeno"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "iskljuèeno"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/sv.po chkconfig-1.2.24h/po/sv.po
+--- chkconfig-1.2.24h.old/po/sv.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/sv.po 2003-12-03 22:03:36.000000000 +0100
+@@ -56,11 +56,11 @@
+ msgstr "fel vid läsning av information om tjänsten %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "på"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "av"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/tr.po chkconfig-1.2.24h/po/tr.po
+--- chkconfig-1.2.24h.old/po/tr.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/tr.po 2003-12-03 22:03:36.000000000 +0100
+@@ -51,11 +51,11 @@
+ msgstr "%s hizmeti hakkýnda bilgi alýrken hata: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "açýk"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "kapalý"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/uk.po chkconfig-1.2.24h/po/uk.po
+--- chkconfig-1.2.24h.old/po/uk.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/uk.po 2003-12-03 22:03:36.000000000 +0100
+@@ -51,11 +51,11 @@
+ msgstr "ÐÏÍÉÌËÁ ÞÉÔÁÎÎÑ ¦ÎÆÏÒÍÁæ§ Õ ÓÌÕÖ¦ %s: %s\n"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr "on"
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr "off"
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/wa.po chkconfig-1.2.24h/po/wa.po
+--- chkconfig-1.2.24h.old/po/wa.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/wa.po 2003-12-03 22:03:36.000000000 +0100
+@@ -55,11 +55,11 @@
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr ""
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/zh_CN.po chkconfig-1.2.24h/po/zh_CN.po
+--- chkconfig-1.2.24h.old/po/zh_CN.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/zh_CN.po 2003-12-03 22:03:36.000000000 +0100
+@@ -55,11 +55,11 @@
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr ""
+
+ #: chkconfig.c:159
+diff -Nru chkconfig-1.2.24h.old/po/zh_TW.po chkconfig-1.2.24h/po/zh_TW.po
+--- chkconfig-1.2.24h.old/po/zh_TW.po 2003-12-03 22:48:54.000000000 +0100
++++ chkconfig-1.2.24h/po/zh_TW.po 2003-12-03 22:03:36.000000000 +0100
+@@ -55,11 +55,11 @@
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "on"
++msgid "***"
+ msgstr ""
+
+ #: chkconfig.c:122 chkconfig.c:127 chkconfig.c:227
+-msgid "off"
++msgid "---"
+ msgstr ""
+
+ #: chkconfig.c:159