diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2015-12-19 15:23:23 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2015-12-19 15:23:23 (GMT) |
commit | cbc268d3c892934a24e6958bd20af8a875f603b6 (patch) | |
tree | af001d28a3d3ee634bc594155c259f8e0dd9f449 /src/message.cpp | |
parent | 6c005b1e9458430a77bfeba6d08deed4778ad71d (diff) | |
parent | 192d06764558e51ddc3fdec881308308017894da (diff) | |
download | Doxygen-cbc268d3c892934a24e6958bd20af8a875f603b6.zip Doxygen-cbc268d3c892934a24e6958bd20af8a875f603b6.tar.gz Doxygen-cbc268d3c892934a24e6958bd20af8a875f603b6.tar.bz2 |
Merge branch 'master' of github.com:doxygen/doxygen
Diffstat (limited to 'src/message.cpp')
-rw-r--r-- | src/message.cpp | 34 |
1 files changed, 24 insertions, 10 deletions
diff --git a/src/message.cpp b/src/message.cpp index e29c4e4..d94661c 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -69,10 +69,10 @@ void initWarningFormat() // { // warnFormatOrder = 6; // } -// outputFormat = +// outputFormat = // substitute( // substitute( -// substitute( +// substitute( // Config_getString("WARN_FORMAT"), // "$file","%s" // ), @@ -96,6 +96,10 @@ void initWarningFormat() { warnFile = stderr; } + + if (Config_getBool("WARN_AS_ERROR")) { + warning_str = error_str; + } } @@ -130,11 +134,12 @@ static void format_warn(const char *file,int line,const char *text) } } // substitute markers by actual values - QCString msgText = + bool warnAsError = Config_getBool("WARN_AS_ERROR"); + QCString msgText = substitute( substitute( substitute( - substitute( + substitute( outputFormat, "$file",fileSubst ), @@ -143,10 +148,19 @@ static void format_warn(const char *file,int line,const char *text) "$version",versionSubst ), "$text",textSubst - )+'\n'; + ); + if (warnAsError) { + msgText += " (warning treated as error, aborting now)"; + } + msgText += '\n'; // print resulting message fwrite(msgText.data(),1,msgText.length(),warnFile); + if (warnAsError) { + exit(1); + } else { + Doxygen::exitCode = 2; + } } static void do_warn(const char *tag, const char *file, int line, const char *prefix, const char *fmt, va_list args) @@ -170,7 +184,7 @@ void warn(const char *file,int line,const char *fmt, ...) va_list args; va_start(args, fmt); do_warn("WARNINGS", file, line, warning_str, fmt, args); - va_end(args); + va_end(args); } void va_warn(const char *file,int line,const char *fmt,va_list args) @@ -191,7 +205,7 @@ void warn_undoc(const char *file,int line,const char *fmt, ...) do_warn("WARN_IF_UNDOCUMENTED", file, line, warning_str, fmt, args); va_end(args); } - + void warn_doc_error(const char *file,int line,const char *fmt, ...) { va_list args; @@ -205,7 +219,7 @@ void warn_uncond(const char *fmt, ...) va_list args; va_start(args, fmt); vfprintf(warnFile, (QCString(warning_str) + fmt).data(), args); - va_end(args); + va_end(args); } void err(const char *fmt, ...) @@ -213,7 +227,7 @@ void err(const char *fmt, ...) va_list args; va_start(args, fmt); vfprintf(warnFile, (QCString(error_str) + fmt).data(), args); - va_end(args); + va_end(args); } extern void err_full(const char *file,int line,const char *fmt, ...) @@ -221,7 +235,7 @@ extern void err_full(const char *file,int line,const char *fmt, ...) va_list args; va_start(args, fmt); do_warn(NULL, file, line, error_str, fmt, args); - va_end(args); + va_end(args); } void printlex(int dbg, bool enter, const char *lexName, const char *fileName) |