write fewer spaces to C file

This commit is contained in:
Josh Holtrop 2018-05-20 16:27:44 -04:00
parent e4b7f5335f
commit 46145fa975

View File

@ -43,19 +43,18 @@ bool preprocess(const char * input_fname)
void write_node(FILE * file, Node * node) void write_node(FILE * file, Node * node)
{ {
static bool write_space = false;
switch (node->type) switch (node->type)
{ {
case NODE_TYPE_LIST: case NODE_TYPE_LIST:
{ {
bool space = false;
for (auto subnode : *node->list) for (auto subnode : *node->list)
{ {
if (space) if (write_space)
{ {
fprintf(file, " "); fprintf(file, " ");
} }
write_node(file, subnode); write_node(file, subnode);
space = true;
} }
} }
break; break;
@ -64,6 +63,11 @@ void write_node(FILE * file, Node * node)
if (*node->token.text == ";") if (*node->token.text == ";")
{ {
fprintf(file, "\n"); fprintf(file, "\n");
write_space = false;
}
else
{
write_space = true;
} }
break; break;
} }