diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2019-09-24 19:31:40 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2019-09-24 19:31:40 (GMT) |
commit | f8ce2e4edbf986248b7382a702d982173c2f41d0 (patch) | |
tree | d8b64eb333043fd7e7d83307f728678e437bf2d1 /src/scanner.l | |
parent | f63047687a895dc30656913d5d6ff110bde4bd7a (diff) | |
download | Doxygen-f8ce2e4edbf986248b7382a702d982173c2f41d0.zip Doxygen-f8ce2e4edbf986248b7382a702d982173c2f41d0.tar.gz Doxygen-f8ce2e4edbf986248b7382a702d982173c2f41d0.tar.bz2 |
issue #7265: Double quote character in C++ raw string literal causes Doxygen to process the string contents
Diffstat (limited to 'src/scanner.l')
-rw-r--r-- | src/scanner.l | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/scanner.l b/src/scanner.l index f6ffdff..07d5c71 100644 --- a/src/scanner.l +++ b/src/scanner.l @@ -142,6 +142,7 @@ static int lastCopyArgStringContext; static int lastCopyArgContext; static QCString *copyArgString; static QCString fullArgString; +static QCString dummyRawString; static ArgumentList *currentArgumentList; static char lastCopyArgChar; @@ -5398,6 +5399,16 @@ OPERATOR "operator"{B}*({ARITHOP}|{ASSIGNOP}|{LOGICOP}|{BITOP}) BEGIN(HereDoc); } } +<SkipCurly,SkipCurlyCpp>{B}*{RAWBEGIN} { + QCString raw=QCString(yytext).stripWhiteSpace(); + g_delimiter = raw.data()+2; + g_delimiter=g_delimiter.left(g_delimiter.length()-1); + lastRawStringContext = YY_START; + dummyRawString.resize(0); + pCopyRawString = &dummyRawString; + *pCopyRawString+=yytext; + BEGIN(RawString); + } <SkipCurly,SkipCurlyCpp>[^\n#"'@\\/{}<]+ { lineCount(); // for g_column updates //addToBody(yytext); |