diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-11 19:22:59 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2021-04-22 17:34:13 (GMT) |
commit | 592aaa4f17d73ec8c475df0f44efaea8cc4d575c (patch) | |
tree | 3cfd68cec756661045ee25c906a8d8f4bddf7a6a /src/defgen.cpp | |
parent | 98c67549bc3cd855873e0ef5eeab7c6410699d78 (diff) | |
download | Doxygen-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.cpp | 34 |
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); |