diff options
Diffstat (limited to 'src/format.c')
-rw-r--r-- | src/format.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/format.c b/src/format.c index b4a4340..1302520 100644 --- a/src/format.c +++ b/src/format.c @@ -271,12 +271,14 @@ grecs_format_node(struct grecs_node *node, int flags, FILE *fp) switch (node->type) { case grecs_node_root: case grecs_node_block: - for (node = node->down; node; node = node->next) { - grecs_format_node(node, flags, fp); - if (node->next) - fputc('\n', fp); + if (!(flags & GRECS_NODE_FLAG_NODESCEND)) { + for (node = node->down; node; node = node->next) { + grecs_format_node(node, flags, fp); + if (node->next) + fputc('\n', fp); + } + break; } - break; case grecs_node_stmt: if (flags & GRECS_NODE_FLAG_LOCUS) { |