From: helly Date: Thu, 4 Aug 2005 18:47:40 +0000 (+0000) Subject: - Fixed #1251653 re2c generate some invalid #line on WIN32. X-Git-Tag: 0.13.6~608 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=26e3473d2c91e0fc95f8eb8041a7899d0ce85e60;p=re2c - Fixed #1251653 re2c generate some invalid #line on WIN32. --- diff --git a/CHANGELOG b/CHANGELOG index 84afb9c1..00efde53 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,7 @@ Version 0.9.10 (????-??-??) --------------------------- - Add -i switch to avoid generating #line information. +- Fixed bug #1251653 re2c generate some invalid #line on WIN32. Version 0.9.9 (2005-07-21) -------------------------- diff --git a/main.cc b/main.cc index 6e585945..2cf85d6a 100644 --- a/main.cc +++ b/main.cc @@ -195,7 +195,7 @@ int main(int argc, char *argv[]) if (outputFileName == 0 || (fileName[0] == '-' && fileName[1] == '\0')) { - outputFileName = ""; + outputFileName = strdup(""); output = &cout; } else @@ -209,9 +209,25 @@ int main(int argc, char *argv[]) } output = &outputFile; + + int len = strlen(outputFileName); + char *src, *dst, *tmp = (char*)malloc((len+1)*2); + + for (src = outputFileName, dst = tmp; *src; ++src) + { + if (*src == '\\') + { + *dst++ = *src; + } + *dst++ = *src; + } + *dst = '\0'; + + outputFileName = tmp; } parse(*input, *output); + free(outputFileName); return 0; }