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 <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
+