X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeemitter.c;h=62381f0a93606adf679ecca1357f41e26f19c313;hb=2c6cb525849141ca24634f4bf3eab578fe6361d2;hp=f0f24811eee7a7445d165708e8e9cce5c6ed46b2;hpb=0fbcef83aa6060534172bb13e71cdadb04428806;p=libfirm diff --git a/ir/be/beemitter.c b/ir/be/beemitter.c index f0f24811e..62381f0a9 100644 --- a/ir/be/beemitter.c +++ b/ir/be/beemitter.c @@ -34,12 +34,10 @@ FILE *emit_file; struct obstack emit_obst; -int emit_linelength; void be_emit_init(FILE *file) { emit_file = file; - emit_linelength = 0; obstack_init(&emit_obst); } @@ -83,19 +81,20 @@ void be_emit_irprintf(const char *fmt, ...) void be_emit_write_line(void) { - char *finished_line = obstack_finish(&emit_obst); + size_t len = obstack_object_size(&emit_obst); + char *line = obstack_finish(&emit_obst); - fwrite(finished_line, emit_linelength, 1, emit_file); - emit_linelength = 0; - obstack_free(&emit_obst, finished_line); + fwrite(line, 1, len, emit_file); + obstack_free(&emit_obst, line); } void be_emit_pad_comment(void) { - while(emit_linelength <= 30) { - be_emit_char(' '); - } - be_emit_cstring(" "); + size_t len = obstack_object_size(&emit_obst); + if (len > 30) + len = 30; + /* 34 spaces */ + be_emit_string_len(" ", 34 - len); } void be_emit_finish_line_gas(const ir_node *node)