diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2015-03-05 21:01:37 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2015-03-05 21:01:37 (GMT) |
commit | e9983f652ad703784d889cd8ed4c8aa81f714b22 (patch) | |
tree | 383d682d72bf72fd225c91739e6a4d192786411c | |
parent | ab59567161519f7b23cf8d51ccfad3a913419dec (diff) | |
parent | a7eef85a89d8772b7ab97a4ba378cc7e78c988cc (diff) | |
download | Doxygen-e9983f652ad703784d889cd8ed4c8aa81f714b22.zip Doxygen-e9983f652ad703784d889cd8ed4c8aa81f714b22.tar.gz Doxygen-e9983f652ad703784d889cd8ed4c8aa81f714b22.tar.bz2 |
Merge pull request #303 from albert-github/feature/bug_idl_error
Better error message in case of IDL inconsistency
-rw-r--r-- | src/message.cpp | 10 | ||||
-rw-r--r-- | src/message.h | 1 | ||||
-rw-r--r-- | src/namespacedef.cpp | 2 |
3 files changed, 11 insertions, 2 deletions
diff --git a/src/message.cpp b/src/message.cpp index 19b117d..df0a2dc 100644 --- a/src/message.cpp +++ b/src/message.cpp @@ -151,7 +151,7 @@ static void format_warn(const char *file,int line,const char *text) static void do_warn(const char *tag, const char *file, int line, const char *prefix, const char *fmt, va_list args) { - if (!Config_getBool(tag)) return; // warning type disabled + if (tag && !Config_getBool(tag)) return; // warning type disabled const int bufSize = 40960; char text[bufSize]; int l=0; @@ -216,6 +216,14 @@ void err(const char *fmt, ...) va_end(args); } +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); +} + void printlex(int dbg, bool enter, const char *lexName, const char *fileName) { const char *enter_txt = "entering"; diff --git a/src/message.h b/src/message.h index 3b00b52..3b1a294 100644 --- a/src/message.h +++ b/src/message.h @@ -29,6 +29,7 @@ extern void warn_undoc(const char *file,int line,const char *fmt, ...); extern void warn_doc_error(const char *file,int line,const char *fmt, ...); extern void warn_uncond(const char *fmt, ...); extern void err(const char *fmt, ...); +extern void err_full(const char *file,int line,const char *fmt, ...); void initWarningFormat(); extern void printlex(int dbg, bool enter, const char *lexName, const char *fileName); diff --git a/src/namespacedef.cpp b/src/namespacedef.cpp index 7649e4f..d08e735 100644 --- a/src/namespacedef.cpp +++ b/src/namespacedef.cpp @@ -1188,7 +1188,7 @@ QCString NamespaceDef::compoundTypeString() const } else { - err("Internal inconsistency: namespace in IDL not module, library or constant group\n"); + err_full(getDefFileName(),getDefLine(),"Internal inconsistency: namespace in IDL not module, library or constant group"); } } return ""; |