aboutsummaryrefslogtreecommitdiff
path: root/src/pies.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2015-12-17 14:50:34 +0200
committerSergey Poznyakoff <gray@gnu.org.ua>2015-12-17 14:53:21 +0200
commit0ac42500ecdfe289b44d0d7ac10ff302e48aef5c (patch)
treeff1d0be679e935256167972034b7f88f9157f010 /src/pies.c
parentf928d00f38cc8a43f31506fadf868ba72ca93b4d (diff)
downloadpies-0ac42500ecdfe289b44d0d7ac10ff302e48aef5c.tar.gz
pies-0ac42500ecdfe289b44d0d7ac10ff302e48aef5c.tar.bz2
Fixes
* src/ctl.c: Make "id" command accessible only to administrators (cmd_id): Print PID. (ctlio_do_command): Reword 510 text. * src/pies.c (config_file): Remove "next" (conf_head, conf_tail): Remove. Use grecs_list instead. All uses changed.
Diffstat (limited to 'src/pies.c')
-rw-r--r--src/pies.c42
1 files changed, 14 insertions, 28 deletions
diff --git a/src/pies.c b/src/pies.c
index 85d0567..9466aa2 100644
--- a/src/pies.c
+++ b/src/pies.c
@@ -63,12 +63,11 @@ struct quoting_options *pp_qopt;
struct config_file
{
- struct config_file *next;
enum config_syntax syntax;
char *name;
};
-static struct config_file *conf_head, *conf_tail;
+struct grecs_list *config_list;
struct config_syntax_descr
{
@@ -101,14 +100,11 @@ void
add_config (enum config_syntax syntax, const char *name)
{
struct config_file *file = xmalloc (sizeof (file[0]));
- file->next = NULL;
file->syntax = syntax;
file->name = xstrdup (name);
- if (conf_tail)
- conf_tail->next = file;
- else
- conf_head = file;
- conf_tail = file;
+ if (!config_list)
+ config_list = grecs_list_create ();
+ grecs_list_append (config_list, file);
}
@@ -2281,7 +2277,7 @@ mkfilename (const char *dir, const char *name, const char *suf)
static void
set_conf_file_names (const char *base)
{
- if (!conf_head)
+ if (!config_list)
{
char *name = mkfilename (SYSCONFDIR, base, ".conf");
add_config (current_syntax, name);
@@ -2308,13 +2304,13 @@ main (int argc, char **argv)
int index;
pid_t pid;
extern char **environ;
- struct config_file *file;
+ struct grecs_list_entry *ep;
set_program_name (argv[0]);
#ifdef ENABLE_NLS
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEDIR);
- bindtextdomain ("mailfromd", LOCALEDIR);
+ bindtextdomain ("pies", LOCALEDIR);
textdomain (PACKAGE);
#endif
mf_proctitle_init (argc, argv, environ);
@@ -2358,22 +2354,8 @@ main (int argc, char **argv)
#endif
for (index = 1; index < argc; index++)
{
- if (!strcmp(argv[index], "single") || !strcmp(argv[index], "-s"))
+ if (!strcmp (argv[index], "single") || !strcmp (argv[index], "-s"))
dfl_level = 'S';
-#if 0
- //FIXME
- else if (!strcmp(argv[index], "-a") || !strcmp(argv[index], "auto"))
- putenv("AUTOBOOT=YES");
- else if (!strcmp(argv[index], "-b") ||
- !strcmp(argv[index],"emergency"))
- emerg_shell = 1;
- else if (!strcmp(argv[index], "-z"))
- {
- /* Ignore -z xxx */
- if (argv[index + 1])
- index++;
- }
-#endif
else if (strchr("0123456789sS", argv[index][0]) && !argv[index][1])
{
dfl_level = toupper (argv[index][0]);
@@ -2407,8 +2389,10 @@ main (int argc, char **argv)
if (preprocess_only)
{
- for (file = conf_head; file; file = file->next)
+ for (ep = config_list->head; ep; ep = ep->next)
{
+ struct config_file *file = ep->data;
+
if (file->syntax == CONF_PIES
&& grecs_preproc_run (file->name, grecs_preprocessor))
exit (EX_CONFIG);
@@ -2416,8 +2400,10 @@ main (int argc, char **argv)
exit (0);
}
else
- for (file = conf_head; file; file = file->next)
+ for (ep = config_list->head; ep; ep = ep->next)
{
+ struct config_file *file = ep->data;
+
switch (file->syntax)
{
case CONF_PIES:

Return to:

Send suggestions and report system problems to the System administrator.