]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - ftepp.c
linecounting issues in the ftepp
[xonotic/gmqcc.git] / ftepp.c
diff --git a/ftepp.c b/ftepp.c
index 7969231299a00b2dd8f06bafa0d33e2c8f838bde..d6cdb3de37f06578dc0730b5c3a561d4623aae58 100644 (file)
--- a/ftepp.c
+++ b/ftepp.c
@@ -295,6 +295,7 @@ static bool ftepp_define_params(ftepp_t *ftepp, ppmacro *macro)
 static bool ftepp_define_body(ftepp_t *ftepp, ppmacro *macro)
 {
     pptoken *ptok;
+    size_t l = ftepp_ctx(ftepp).line;
     while (ftepp->token != TOKEN_EOL && ftepp->token < TOKEN_EOF) {
         ptok = pptoken_make(ftepp);
         vec_push(macro->output, ptok);
@@ -305,6 +306,8 @@ static bool ftepp_define_body(ftepp_t *ftepp, ppmacro *macro)
         ftepp_error(ftepp, "unexpected junk after macro or unexpected end of file");
         return false;
     }
+    for (; l < ftepp_ctx(ftepp).line; ++l)
+        ftepp_out(ftepp, "\n", true);
     return true;
 }
 
@@ -1363,15 +1366,16 @@ bool ftepp_init()
     ftepp = ftepp_new();
     if (!ftepp)
         return false;
-    
+
     /* set the right macro based on the selected standard */
+    ftepp_add_define(NULL, "GMQCC");
     if (opts_standard == COMPILER_FTEQCC)
-        ftepp_add_define(NULL, "FTEQCC");
+        ftepp_add_define(NULL, "__STD_FTEQCC__");
     else if (opts_standard == COMPILER_GMQCC)
-        ftepp_add_define(NULL, "GMQCC");
+        ftepp_add_define(NULL, "__STD_GMQCC__");
     else if (opts_standard == COMPILER_QCC)
-        ftepp_add_define(NULL, "QCC");
-    
+        ftepp_add_define(NULL, "__STD_QCC__");
+
     return true;
 }