From: Mariusz Mazur Date: Wed, 3 Dec 2003 22:14:35 +0000 (+0000) Subject: - I do belive this patch should look more like this (100 times smaller) X-Git-Tag: auto/ac/chkconfig-1_2_24h-6 X-Git-Url: http://git.pld-linux.org/?a=commitdiff_plain;h=ec6b0b744e7f65c484d348e6e04e73ec9b3a6118;p=packages%2Fchkconfig.git - I do belive this patch should look more like this (100 times smaller) Changed files: chkconfig-more_readable.patch -> 1.2 --- diff --git a/chkconfig-more_readable.patch b/chkconfig-more_readable.patch index d84215a..8c8f17f 100644 --- a/chkconfig-more_readable.patch +++ b/chkconfig-more_readable.patch @@ -6,1510 +6,8 @@ diff -Nru chkconfig-1.2.24h.old/chkconfig.c chkconfig-1.2.24h/chkconfig.c 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("\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 -- --#include --#include --#include --#include --#include --#include -- --#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 --#else /* !HAVE_LIBPOPT */ -- /* we need GNU getopt-long */ -- #define _GNU_SOURCE -- #include --#endif /* HAVE_LIBPOPT */ -- --#include --#include --#include --#include --#include --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 \n"), progname); -- fprintf(stderr, _(" %s --del \n"), progname); -- fprintf(stderr, _(" %s [--level ] %s\n"), progname, ""); -- -- 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 --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include --#include -- --int addItem = 0; -- --/* Changes -- 2001-12-03 - Petter Reinholdtsen -- Bo Adler -- Added code to allow init scripts to not have headers -- -- 1998-09-22 - Arnaldo Carvalho de Melo -- 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<d_name=='S') serv.levels |= 1<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 +