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)
{
static bool write_space = false;
switch (node->type)
{
case NODE_TYPE_LIST:
{
bool space = false;
for (auto subnode : *node->list)
{
if (space)
if (write_space)
{
fprintf(file, " ");
}
write_node(file, subnode);
space = true;
}
}
break;
@ -64,6 +63,11 @@ void write_node(FILE * file, Node * node)
if (*node->token.text == ";")
{
fprintf(file, "\n");
write_space = false;
}
else
{
write_space = true;
}
break;
}