diff options
Diffstat (limited to 'src/meta1parse.c')
-rw-r--r-- | src/meta1parse.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/meta1parse.c b/src/meta1parse.c index 4b2fccb..528a80a 100644 --- a/src/meta1parse.c +++ b/src/meta1parse.c @@ -293,12 +293,14 @@ meta1_translate_node (struct grecs_node *node) { struct component *comp; struct grecs_node *stmt; size_t len; int err = 0; + if (node->type != grecs_node_block) + return 0; comp = component_create (node->ident); for (stmt = node->down; stmt; stmt = stmt->next) { if (meta1_translate_stmt (stmt, comp)) ++err; } @@ -306,13 +308,13 @@ meta1_translate_node (struct grecs_node *node) { component_free (comp); return -1; } comp->privs.allgroups = 1; - comp->dir = META1_QUEUE_DIR (); + comp->dir = grecs_strdup (META1_QUEUE_DIR ()); comp->redir[RETR_ERR].type = redir_file; comp->redir[RETR_ERR].v.file = NULL; len = 0; grecs_asprintf (&comp->redir[RETR_ERR].v.file, &len, "%s/%s.log", META1_QUEUE_DIR (), comp->tag); component_finish (comp, &node->locus); |