Branch: master

d63a113c 2019-05-23 04:12:27 Michele Calgaro
Added utility functions tqDebug/tqWarning/tqFatal based on TQString parameter.

Signed-off-by: Michele Calgaro <michele.calgaro@...>
M src/tools/ntqglobal.h
M src/tools/qglobal.cpp

src/tools/ntqglobal.h

diff --git a/src/tools/ntqglobal.h b/src/tools/ntqglobal.h
index 11d6db8..458389c 100644
--- a/src/tools/ntqglobal.h
+++ b/src/tools/ntqglobal.h
@@ -744,7 +744,7 @@
 //
 
 class TQDataStream;
-
+class TQString;
 
 //
 // Feature subsetting
@@ -959,19 +959,22 @@
 #endif
 
 
-Q_EXPORT void tqDebug( const char *, ... )	// print debug message
+Q_EXPORT void tqDebug( const TQString& );     // print debug message
+Q_EXPORT void tqDebug( const char *, ... )    // print debug message
 #if defined(Q_CC_GNU) && !defined(__INSURE__)
     __attribute__ ((format (printf, 1, 2)))
 #endif
 ;
 
-Q_EXPORT void tqWarning( const char *, ... )	// print warning message
+Q_EXPORT void tqWarning( const TQString& );   // print warning message
+Q_EXPORT void tqWarning( const char *, ... )  // print warning message
 #if defined(Q_CC_GNU) && !defined(__INSURE__)
     __attribute__ ((format (printf, 1, 2)))
 #endif
 ;
 
-Q_EXPORT void tqFatal( const char *, ... )	// print fatal message and exit
+Q_EXPORT void tqFatal( const TQString& );	    // print fatal message and exit
+Q_EXPORT void tqFatal( const char *, ... )    // print fatal message and exit
 #if defined(Q_CC_GNU)
     __attribute__ ((format (printf, 1, 2)))
 #endif

src/tools/qglobal.cpp

diff --git a/src/tools/qglobal.cpp b/src/tools/qglobal.cpp
index 46d90e1..e0a198c 100644
--- a/src/tools/qglobal.cpp
+++ b/src/tools/qglobal.cpp
@@ -465,76 +465,11 @@
 
 #endif
 
-void tqDebug( const char *msg, ... )
+void handle_buffer(const char *buf, TQtMsgType msgType)
 {
-    char buf[QT_BUFFER_LENGTH];
-    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").ascii() );
-    int len = strlen(buf);
-    va_list ap;
-    va_start( ap, msg );			// use variable arg list
-#if defined(QT_VSNPRINTF)
-    QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap );
-#else
-    vsprintf( &buf[len], msg, ap );
-#endif
-    va_end( ap );
     if ( handler ) {
-	(*handler)( TQtDebugMsg, buf );
-    } else {
-#if defined(Q_CC_MWERKS)
-        mac_default_handler(buf);
-#elif defined(Q_OS_TEMP)
-	TQString fstr( buf );
-	OutputDebugString( (fstr + "\n").ucs2() );
-#else
-	fprintf( stderr, "%s\n", buf );		// add newline
-#endif
-    }
-}
-
-void tqWarning( const char *msg, ... )
-{
-    char buf[QT_BUFFER_LENGTH];
-    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").ascii() );
-    int len = strlen(buf);
-    va_list ap;
-    va_start( ap, msg );			// use variable arg list
-#if defined(QT_VSNPRINTF)
-    QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap );
-#else
-    vsprintf( &buf[len], msg, ap );
-#endif
-    va_end( ap );
-    if ( handler ) {
-	(*handler)( TQtWarningMsg, buf );
-    } else {
-#if defined(Q_CC_MWERKS)
-        mac_default_handler(buf);
-#elif defined(Q_OS_TEMP)
-	TQString fstr( buf );
-	OutputDebugString( (fstr + "\n").ucs2() );
-#else
-	fprintf( stderr, "%s\n", buf );		// add newline
-#endif
-    }
-}
-
-void tqFatal( const char *msg, ... )
-{
-    char buf[QT_BUFFER_LENGTH];
-    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").ascii() );
-    int len = strlen(buf);
-    va_list ap;
-    va_start( ap, msg );			// use variable arg list
-#if defined(QT_VSNPRINTF)
-    QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap );
-#else
-    vsprintf( &buf[len], msg, ap );
-#endif
-    va_end( ap );
-    if ( handler ) {
-	(*handler)( TQtFatalMsg, buf );
-    } else {
+	(*handler)( msgType, buf );
+    } else if (msgType == TQtFatalMsg) {
 #if defined(Q_CC_MWERKS)
         mac_default_handler(buf);
 #else
@@ -551,9 +486,108 @@
 #else
 	exit( 1 );				// goodbye cruel world
 #endif
+    } else {
+#if defined(Q_CC_MWERKS)
+        mac_default_handler(buf);
+#elif defined(Q_OS_TEMP)
+	TQString fstr( buf );
+	OutputDebugString( (fstr + "\n").ucs2() );
+#else
+	fprintf( stderr, "%s\n", buf );		// add newline
+#endif
     }
 }
 
+void tqDebug( const TQString &msg )
+{
+    char buf[QT_BUFFER_LENGTH];
+    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() );
+    int len = strlen(buf);
+    strncpy( &buf[len], msg.local8Bit(), QT_BUFFER_LENGTH - len - 1 );
+    len += msg.length();
+    if (len >= QT_BUFFER_LENGTH) {
+        len = QT_BUFFER_LENGTH - 1;
+    }
+    buf[len] = '\0';
+    handle_buffer(buf, TQtDebugMsg);
+}
+
+void tqDebug( const char *msg, ... )
+{
+    char buf[QT_BUFFER_LENGTH];
+    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() );
+    int len = strlen(buf);
+    va_list ap;
+    va_start( ap, msg );			// use variable arg list
+#if defined(QT_VSNPRINTF)
+    QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap );
+#else
+    vsprintf( &buf[len], msg, ap );
+#endif
+    va_end( ap );
+    handle_buffer(buf, TQtDebugMsg);
+}
+
+void tqWarning( const TQString &msg )
+{
+    char buf[QT_BUFFER_LENGTH];
+    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() );
+    int len = strlen(buf);
+    strncpy( &buf[len], msg.local8Bit(), QT_BUFFER_LENGTH - len - 1 );
+    len += msg.length();
+    if (len >= QT_BUFFER_LENGTH) {
+        len = QT_BUFFER_LENGTH - 1;
+    }
+    buf[len] = '\0';
+    handle_buffer(buf, TQtWarningMsg);
+}
+
+void tqWarning( const char *msg, ... )
+{
+    char buf[QT_BUFFER_LENGTH];
+    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() );
+    int len = strlen(buf);
+    va_list ap;
+    va_start( ap, msg );			// use variable arg list
+#if defined(QT_VSNPRINTF)
+    QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap );
+#else
+    vsprintf( &buf[len], msg, ap );
+#endif
+    va_end( ap );
+    handle_buffer(buf, TQtWarningMsg);
+}
+
+void tqFatal( const TQString &msg )
+{
+    char buf[QT_BUFFER_LENGTH];
+    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() );
+    int len = strlen(buf);
+    strncpy( &buf[len], msg.local8Bit(), QT_BUFFER_LENGTH - len - 1 );
+    len += msg.length();
+    if (len >= QT_BUFFER_LENGTH) {
+        len = QT_BUFFER_LENGTH - 1;
+    }
+    buf[len] = '\0';
+    handle_buffer(buf, TQtFatalMsg);
+}
+
+void tqFatal( const char *msg, ... )
+{
+    char buf[QT_BUFFER_LENGTH];
+    strcpy( buf, TQDateTime::currentDateTime().toString("[yyyy/MM/dd hh:mm:ss.zzz] ").local8Bit() );
+    int len = strlen(buf);
+    va_list ap;
+    va_start( ap, msg );			// use variable arg list
+#if defined(QT_VSNPRINTF)
+    QT_VSNPRINTF( &buf[len], QT_BUFFER_LENGTH, msg, ap );
+#else
+    vsprintf( &buf[len], msg, ap );
+#endif
+    va_end( ap );
+    handle_buffer(buf, TQtFatalMsg);
+}
+
 /*!
   \relates TQApplication