aboutsummaryrefslogtreecommitdiff
path: root/src/pies.c
diff options
context:
space:
mode:
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.