summaryrefslogtreecommitdiffstats
path: root/src/defgen.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-04-11 19:22:59 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2021-04-22 17:34:13 (GMT)
commit592aaa4f17d73ec8c475df0f44efaea8cc4d575c (patch)
tree3cfd68cec756661045ee25c906a8d8f4bddf7a6a /src/defgen.cpp
parent98c67549bc3cd855873e0ef5eeab7c6410699d78 (diff)
downloadDoxygen-592aaa4f17d73ec8c475df0f44efaea8cc4d575c.zip
Doxygen-592aaa4f17d73ec8c475df0f44efaea8cc4d575c.tar.gz
Doxygen-592aaa4f17d73ec8c475df0f44efaea8cc4d575c.tar.bz2
Refactoring: remove implicit conversion from QCString to const char *
This commit changes the following in relation to string use - The implicit convert from 'QCString' to 'const char *' is removed - Strings parameters use 'const QCString &' as much as possible in favor over 'const char *' - 'if (s)' where s is a QCString has been replaced by 'if(!s.isEmpty())' - data() now always returns a valid C-string and not a 0-pointer. - when passing a string 's' to printf and related functions 'qPrint(s)' is used instead of 's.data()' - for empty string arguments 'QCString()' is used instead of '0' - The copy() operation has been removed - Where possible 'qstrcmp(a,b)==0' has been replaces by 'a==b' and 'qstrcmp(a,b)<0' has been replaced by 'a<b' - Parameters of string type that were default initialized with '= 0' are no initialized with '= QCString()'
Diffstat (limited to 'src/defgen.cpp')
-rw-r--r--src/defgen.cpp34
1 files changed, 18 insertions, 16 deletions
diff --git a/src/defgen.cpp b/src/defgen.cpp
index 5a3641e..c99d59b 100644
--- a/src/defgen.cpp
+++ b/src/defgen.cpp
@@ -40,17 +40,19 @@
#define DEF_DB(x)
-static inline void writeDEFString(TextStream &t,const char *s)
+static inline void writeDEFString(TextStream &t,const QCString &s)
{
- const char* p=s;
- char c;
-
t << '\'';
- while ((c = *(p++)))
+ if (!s.isEmpty())
{
- if (c == '\'')
- t << '\\';
- t << c;
+ const char* p=s.data();
+ char c;
+
+ while ((c = *(p++)))
+ {
+ if (c == '\'') t << '\\';
+ t << c;
+ }
}
t << '\'';
}
@@ -58,7 +60,7 @@ static inline void writeDEFString(TextStream &t,const char *s)
static void generateDEFForMember(const MemberDef *md,
TextStream &t,
const Definition *def,
- const char* Prefix)
+ const QCString &prefix)
{
QCString memPrefix;
@@ -81,9 +83,9 @@ static void generateDEFForMember(const MemberDef *md,
else if (md->getNamespaceDef())
scopeName=md->getNamespaceDef()->name();
- t << " " << Prefix << "-member = {\n";
+ t << " " << prefix << "-member = {\n";
memPrefix = " ";
- memPrefix.append( Prefix );
+ memPrefix.append( prefix );
memPrefix.append( "-mem-" );
QCString memType;
@@ -291,14 +293,14 @@ static void generateDEFForMember(const MemberDef *md,
}
}
- t << " }; /* " << Prefix << "-member */\n";
+ t << " }; /* " << prefix << "-member */\n";
}
static void generateDEFClassSection(const ClassDef *cd,
TextStream &t,
const MemberList *ml,
- const char *kind)
+ const QCString &kind)
{
if (cd && ml && !ml->empty())
{
@@ -448,7 +450,7 @@ static void generateDEFForClass(const ClassDef *cd,TextStream &t)
static void generateDEFSection(const Definition *d,
TextStream &t,
const MemberList *ml,
- const char *kind)
+ const QCString &kind)
{
if (ml && !ml->empty())
{
@@ -527,7 +529,7 @@ void generateDEF()
Dir defDir(outputDirectory.str());
if (!defDir.exists() && !defDir.mkdir(outputDirectory.str()))
{
- err("Could not create def directory in %s\n",outputDirectory.data());
+ err("Could not create def directory in %s\n",qPrint(outputDirectory));
return;
}
@@ -535,7 +537,7 @@ void generateDEF()
std::ofstream f(fileName.str(),std::ostream::out | std::ostream::binary);
if (!f.is_open())
{
- err("Cannot open file %s for writing!\n",fileName.data());
+ err("Cannot open file %s for writing!\n",qPrint(fileName));
return;
}
TextStream t(&f);