summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2008-01-23 21:30:39 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2008-01-23 21:30:39 (GMT)
commit0e922bf35ccff96ec03f22df607f3b44303206eb (patch)
treed75127a33593cfe4d77e951e6df541294dc1e9b4 /src/util.cpp
parent974f9e82c84412f1b51aff41f21f635f5fb84d9d (diff)
downloadDoxygen-0e922bf35ccff96ec03f22df607f3b44303206eb.zip
Doxygen-0e922bf35ccff96ec03f22df607f3b44303206eb.tar.gz
Doxygen-0e922bf35ccff96ec03f22df607f3b44303206eb.tar.bz2
Release-1.5.4-20080123
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 5f52d40..d2e9593 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1465,6 +1465,20 @@ static bool findOperator(const QCString &s,int i)
return TRUE;
}
+static bool findOperator2(const QCString &s,int i)
+{
+ int b = s.findRev("operator",i);
+ if (b==-1) return FALSE; // not found
+ b+=8;
+ while (b<i) // check if there are only non-ascii
+ // characters in front of the operator
+ {
+ if (isId((uchar)s.at(b))) return FALSE;
+ b++;
+ }
+ return TRUE;
+}
+
static const char constScope[] = { 'c', 'o', 'n', 's', 't', ':' };
static const char virtualScope[] = { 'v', 'i', 'r', 't', 'u', 'a', 'l', ':' };
@@ -1599,7 +1613,12 @@ nextChar:
if (c=='*' || c=='&' || c=='@' || c=='$')
{
uint rl=result.length();
- if (rl>0 && (isId(result.at(rl-1)) || result.at(rl-1)=='>')) result+=' ';
+ if ((rl>0 && (isId(result.at(rl-1)) || result.at(rl-1)=='>')) &&
+ (c!='*' || !findOperator2(s,i)) // avoid splitting operator* and operator->*
+ )
+ {
+ result+=' ';
+ }
}
result+=c;
if (cliSupport && (c=='^' || c=='%') && i>1 && isId(s.at(i-1))) result+=' '; // C++/CLI: Type^ name and Type% name
@@ -2141,6 +2160,7 @@ QCString fileToString(const char *name,bool filter)
else // filter the input
{
QCString cmd=filterName+" \""+name+"\"";
+ Debug::print(Debug::ExtCmd,0,"Executing popen(`%s`)\n",cmd.data());
FILE *f=portable_popen(cmd,"r");
if (!f)
{
@@ -6270,6 +6290,7 @@ SrcLangExt getLanguageFromFileName(const QCString fileName)
extLookup.insert(".M", new int(SrcLangExt_ObjC));
extLookup.insert(".mm", new int(SrcLangExt_ObjC));
extLookup.insert(".py", new int(SrcLangExt_Python));
+ extLookup.insert(".f", new int(SrcLangExt_F90));
extLookup.insert(".f90", new int(SrcLangExt_F90));
extLookup.insert(".vhd", new int(SrcLangExt_VHDL));
extLookup.insert(".vhdl", new int(SrcLangExt_VHDL));