diff options
-rw-r--r-- | src/testlib/qabstracttestlogger.cpp | 20 | ||||
-rw-r--r-- | src/testlib/qabstracttestlogger_p.h | 1 | ||||
-rw-r--r-- | src/testlib/qtestcase.cpp | 12 |
3 files changed, 18 insertions, 15 deletions
diff --git a/src/testlib/qabstracttestlogger.cpp b/src/testlib/qabstracttestlogger.cpp index f7d8842c4c..9ac1de9909 100644 --- a/src/testlib/qabstracttestlogger.cpp +++ b/src/testlib/qabstracttestlogger.cpp @@ -80,12 +80,28 @@ QAbstractTestLogger::~QAbstractTestLogger() stream = 0; } +void QAbstractTestLogger::filterUnprintable(char *str) const +{ + char *idx = str; + while (*idx) { + if (((*idx < 0x20 && *idx != '\n' && *idx != '\t') || *idx > 0x7e)) + *idx = '?'; + ++idx; + } +} + void QAbstractTestLogger::outputString(const char *msg) { QTEST_ASSERT(stream); - ::fputs(msg, stream); + char *filtered = new char[strlen(msg) + 1]; + strcpy(filtered, msg); + filterUnprintable(filtered); + + ::fputs(filtered, stream); ::fflush(stream); + + delete [] filtered; } void QAbstractTestLogger::startLogging() @@ -135,8 +151,6 @@ int qt_asprintf(QTestCharBuffer *str, const char *format, ...) break; // out of memory - take what we have } - filter_unprintable(str->data()); - return res; } diff --git a/src/testlib/qabstracttestlogger_p.h b/src/testlib/qabstracttestlogger_p.h index 3e11863012..a217b66df1 100644 --- a/src/testlib/qabstracttestlogger_p.h +++ b/src/testlib/qabstracttestlogger_p.h @@ -99,6 +99,7 @@ public: void outputString(const char *msg); protected: + void filterUnprintable(char *str) const; FILE *stream; }; diff --git a/src/testlib/qtestcase.cpp b/src/testlib/qtestcase.cpp index b37dbc0203..438b85d91b 100644 --- a/src/testlib/qtestcase.cpp +++ b/src/testlib/qtestcase.cpp @@ -980,16 +980,6 @@ namespace QTest static bool noCrashHandler = false; #endif -void filter_unprintable(char *str) -{ - char *idx = str; - while (*idx) { - if (((*idx < 0x20 && *idx != '\n' && *idx != '\t') || *idx > 0x7e)) - *idx = '?'; - ++idx; - } -} - /*! \internal */ int qt_snprintf(char *str, int size, const char *format, ...) @@ -1002,8 +992,6 @@ int qt_snprintf(char *str, int size, const char *format, ...) va_end(ap); str[size - 1] = '\0'; - filter_unprintable(str); - return res; } |