bugfix for external non-emitting API
authorMatthias Braun <matthias.braun@kit.edu>
Thu, 5 Jul 2012 16:33:02 +0000 (18:33 +0200)
committerChristoph Mallon <christoph.mallon@gmx.de>
Sun, 8 Jul 2012 07:54:22 +0000 (09:54 +0200)
preprocessor.c

index 70b1bac..9c457a3 100644 (file)
@@ -1370,7 +1370,8 @@ digraph_percentcolon:
                if (input_stack != NULL) {
                        fclose(close_pp_input());
                        pop_restore_input();
-                       fputc('\n', out);
+                       if (out)
+                               fputc('\n', out);
                        if (input.c == (utf32)EOF)
                                --input.position.lineno;
                        print_line_directive(&input.position, "2");
@@ -1463,6 +1464,9 @@ static void print_line_directive(const source_position_t *pos, const char *add)
 
 static bool emit_newlines(void)
 {
+       if (!out)
+               return true;
+
        unsigned delta = pp_token.base.source_position.lineno - input.output_line;
        if (delta == 0)
                return false;