]> git.sur5r.net Git - cc65/commitdiff
Fixed a problem with line continuations and -T
authorcuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 7 Jan 2003 21:45:20 +0000 (21:45 +0000)
committercuz <cuz@b7a2c559-68d2-44c3-8de9-860c34a00d81>
Tue, 7 Jan 2003 21:45:20 +0000 (21:45 +0000)
git-svn-id: svn://svn.cc65.org/cc65/trunk@1893 b7a2c559-68d2-44c3-8de9-860c34a00d81

src/cc65/codeseg.c

index ec229880cd5f57161a257a1bfff788987322a16a..fede7ae6215b12c694a0afd8668e9a77a752aefa 100644 (file)
@@ -1282,9 +1282,21 @@ void CS_Output (const CodeSeg* S, FILE* F)
            /* Line info has changed, remember the new line info */
            LI = E->LI;
 
-           /* Add the source line as a comment */
+           /* Add the source line as a comment. Beware: When line continuation
+             * was used, the line may contain newlines.
+             */
            if (AddSource) {
-               fprintf (F, ";\n; %s\n;\n", LI->Line);
+                const char* L = LI->Line;
+                fputs (";\n; ", F);
+                while (*L) {
+                    if (*L == '\n') {
+                        fputs ("\n; ", F);
+                    } else {
+                        fputc (*L, F);
+                    }
+                    ++L;
+                }
+                fputs ("\n;\n", F);
            }
 
            /* Add line debug info */