summaryrefslogtreecommitdiffstats
path: root/src/doctokenizer.l
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-03-28 11:58:30 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2021-03-28 12:25:48 (GMT)
commitc48639744a6fa118b9851b307107994ba93ce4c8 (patch)
tree8917c567f8f00560fba4554ade2b7e79bbe3ff45 /src/doctokenizer.l
parentcef71dc4fcfca9e3580214c39f20dc538ed6b2d9 (diff)
downloadDoxygen-c48639744a6fa118b9851b307107994ba93ce4c8.zip
Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.tar.gz
Doxygen-c48639744a6fa118b9851b307107994ba93ce4c8.tar.bz2
Refactoring: Add TextStream buffer to improve output writing performance
- direct use of std::stringstream and std::ostream gave a 30% drop in performance.
Diffstat (limited to 'src/doctokenizer.l')
-rw-r--r--src/doctokenizer.l10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/doctokenizer.l b/src/doctokenizer.l
index 5debd5f..e2aac01 100644
--- a/src/doctokenizer.l
+++ b/src/doctokenizer.l
@@ -152,9 +152,9 @@ const char *tokToString(int token)
return "ERROR";
}
-static int computeIndent(const char *str,int length)
+static int computeIndent(const char *str,size_t length)
{
- int i;
+ size_t i;
int indent=0;
static int tabSize=Config_getInt(TAB_SIZE);
for (i=0;i<length;i++)
@@ -498,7 +498,7 @@ RCSID "$"("Author"|"Date"|"Header"|"Id"|"Locker"|"Log"|"Name"|"RCSfile"|"Revisio
<St_Para>^{LISTITEM} { /* list item */
lineCount(yytext,yyleng);
QCString text=yytext;
- int dashPos = text.findRev('-');
+ size_t dashPos = static_cast<size_t>(text.findRev('-'));
g_token->isEnumList = text.at(dashPos+1)=='#';
g_token->id = -1;
g_token->indent = computeIndent(yytext,dashPos);
@@ -543,7 +543,7 @@ RCSID "$"("Author"|"Date"|"Header"|"Id"|"Locker"|"Log"|"Name"|"RCSfile"|"Revisio
<St_Para>{BLANK}*(\n|"\\ilinebr"){LISTITEM} { /* list item on next line */
lineCount(yytext,yyleng);
QCString text=extractPartAfterNewLine(yytext);
- int dashPos = text.findRev('-');
+ size_t dashPos = static_cast<size_t>(text.findRev('-'));
g_token->isEnumList = text.at(dashPos+1)=='#';
g_token->id = -1;
g_token->indent = computeIndent(text,dashPos);
@@ -820,7 +820,7 @@ RCSID "$"("Author"|"Date"|"Header"|"Id"|"Locker"|"Log"|"Name"|"RCSfile"|"Revisio
}
else
{
- g_token->indent=computeIndent(yytext,(int)yyleng);
+ g_token->indent=computeIndent(yytext,yyleng);
int i;
// put back the indentation (needed for list items)
for (i=0;i<g_token->indent;i++)