camino-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Camino-devel] camino/src/common PhilAsserts.h


From: Philippe Fremy
Subject: [Camino-devel] camino/src/common PhilAsserts.h
Date: Sun, 26 Jan 2003 16:53:31 -0500

CVSROOT:        /cvsroot/camino
Module name:    camino
Changes by:     Philippe Fremy <address@hidden> 03/01/26 16:53:30

Modified files:
        src/common     : PhilAsserts.h 

Log message:
        avoid msg "building string from null pointer"

Patches:
Index: camino/src/common/PhilAsserts.h
diff -u camino/src/common/PhilAsserts.h:1.1 camino/src/common/PhilAsserts.h:1.2
--- camino/src/common/PhilAsserts.h:1.1 Sun Jan 19 17:33:11 2003
+++ camino/src/common/PhilAsserts.h     Sun Jan 26 16:53:30 2003
@@ -39,6 +39,8 @@
 #ifdef QT_DLL
 #include <qstring.h>
 
+// #warning( "compiling PhilAsserts.h with Qt support" )
+
 /* It is necessary to provide QString functions, because VC++ does not cast
  * QString to char * or std::string
  */
@@ -57,29 +59,37 @@
 inline void philAssertIContains( std::string actualExpr, QString string, 
QString substring, 
                                                 long lineNumber, std::string 
fileName );
 
+// ---- Implementation
+
+inline std::string convert( QString s )
+{
+       if (s.latin1()) return std::string( s.latin1() );
+       return std::string();
+}
+
 inline void philAssertEquals( std::string actualExpr, QString actual, QString 
expected,
                                          long lineNumber, std::string fileName 
) {
-       philAssertEquals( actualExpr, std::string( actual.latin1() ), 
-               std::string( expected.latin1() ), lineNumber, fileName );
+       philAssertEquals( actualExpr, convert( actual ), 
+               convert( expected ), lineNumber, fileName );
 }
 
 inline void philAssertIEquals( std::string actualExpr, QString actual, QString 
expected,
                                                long lineNumber, std::string 
fileName ) {
-       philAssertIEquals( actualExpr, std::string(actual.latin1()), 
std::string( expected.latin1()), lineNumber, fileName );
+       philAssertIEquals( actualExpr, convert( actual ), convert( expected), 
lineNumber, fileName );
 }
 
 inline void philAssertNotEquals( std::string actualExpr, QString actual, 
QString expected,
                                                long lineNumber, std::string 
fileName ) {
-       philAssertNotEquals( actualExpr, std::string( actual.latin1()), 
std::string(expected.latin1()), lineNumber, fileName );
+       philAssertNotEquals( actualExpr, convert( actual), convert(expected), 
lineNumber, fileName );
 }
 
 inline void philAssertContains( std::string actualExpr, QString string, 
QString substring,
                                                long lineNumber, std::string 
fileName ) {
-       philAssertContains( actualExpr, std::string(string.latin1()), 
std::string(substring.latin1()), lineNumber, fileName );
+       philAssertContains( actualExpr, convert(string), convert(substring), 
lineNumber, fileName );
 }
 
 inline void philAssertIContains( std::string actualExpr, QString string, 
QString substring, long lineNumber, std::string fileName ) {
-       philAssertIContains( actualExpr, std::string(string.latin1()), 
std::string(substring.latin1()), lineNumber, fileName );
+       philAssertIContains( actualExpr, convert(string), convert(substring), 
lineNumber, fileName );
 }
 
 #endif // Qt




reply via email to

[Prev in Thread] Current Thread [Next in Thread]