summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2013-12-08 14:48:53 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2013-12-08 14:48:53 (GMT)
commit4bf77766ee2b981899e613f80904db15131fd1b3 (patch)
treea70357ff60f5f6feaabf4298b3fa6998b9aa6954 /src/util.cpp
parent58b2c852b150d75d100f27ea70124631549ba0e1 (diff)
downloadDoxygen-4bf77766ee2b981899e613f80904db15131fd1b3.zip
Doxygen-4bf77766ee2b981899e613f80904db15131fd1b3.tar.gz
Doxygen-4bf77766ee2b981899e613f80904db15131fd1b3.tar.bz2
Bug 719463 - Invalid null key and segmentation fault
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 532d437..202ba82 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -5911,29 +5911,29 @@ int extractClassNameFromType(const QCString &type,int &pos,QCString &name,QCStri
static const QRegExp re_ftn("[a-z_A-Z\\x80-\\xFF][()=_a-z_A-Z0-9:\\x80-\\xFF]*");
QRegExp re;
- if (lang == SrcLangExt_Fortran)
+ name.resize(0);
+ templSpec.resize(0);
+ int i,l;
+ int typeLen=type.length();
+ if (typeLen>0)
{
- if (type.at(pos)==',') return -1;
- if (type.left(4).lower()=="type")
+ if (lang == SrcLangExt_Fortran)
{
- re = re_norm;
+ if (type.at(pos)==',') return -1;
+ if (type.left(4).lower()=="type")
+ {
+ re = re_norm;
+ }
+ else
+ {
+ re = re_ftn;
+ }
}
else
{
- re = re_ftn;
+ re = re_norm;
}
- }
- else
- {
- re = re_norm;
- }
- name.resize(0);
- templSpec.resize(0);
- int i,l;
- int typeLen=type.length();
- if (typeLen>0)
- {
if ((i=re.match(type,pos,&l))!=-1) // for each class name in the type
{
int ts=i+l;