From 2762cfef24d00990d329813191e5110a9851bf81 Mon Sep 17 00:00:00 2001 From: James Choi Date: Fri, 28 Jun 2024 16:12:37 -0400 Subject: [PATCH 1/4] Add support for QNX --- tinyxml2.h | 2 +- xmltest.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tinyxml2.h b/tinyxml2.h index 7586f7b8..eb02ea0d 100755 --- a/tinyxml2.h +++ b/tinyxml2.h @@ -24,7 +24,7 @@ distribution. #ifndef TINYXML2_INCLUDED #define TINYXML2_INCLUDED -#if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNXNTO__) +#if defined(ANDROID_NDK) || defined(__BORLANDC__) || defined(__QNX__) # include # include # include diff --git a/xmltest.cpp b/xmltest.cpp index ae976042..19b3cef2 100755 --- a/xmltest.cpp +++ b/xmltest.cpp @@ -51,7 +51,13 @@ bool XMLTest (const char* testString, const char* expected, const char* found, b printf( "%s\n", found ); } else { +#ifdef __QNX__ + const char* expected_qnx = expected == NULL ? "(null)" : expected; + const char* found_qnx = found == NULL ? "(null)" : expected; + printf (" %s [%s][%s]\n", testString, expected_qnx, found_qnx); +#else printf (" %s [%s][%s]\n", testString, expected, found); +#endif } } From 8571e07a8cade30400cf7d705f296b4802bf79ce Mon Sep 17 00:00:00 2001 From: James Choi Date: Fri, 28 Jun 2024 17:50:13 -0400 Subject: [PATCH 2/4] Install test for QNX --- CMakeLists.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 76320221..94d196ec 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,6 +55,17 @@ if (tinyxml2_BUILD_TESTING) set_tests_properties(xmltest PROPERTIES PASS_REGULAR_EXPRESSION ", Fail 0") endif () +if (QNX) + install( + TARGETS xmltest + DESTINATION bin/tinyxml2_tests + ) + install( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/resources + DESTINATION bin/tinyxml2_tests + ) +endif () + ## ## Installation ## From a51f59d1818c9e7d96f4a4810fbdf84746cc9c0c Mon Sep 17 00:00:00 2001 From: James Choi Date: Tue, 16 Jul 2024 13:36:20 -0400 Subject: [PATCH 3/4] Move QNX test installtion --- CMakeLists.txt | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 94d196ec..46ff5661 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -55,17 +55,6 @@ if (tinyxml2_BUILD_TESTING) set_tests_properties(xmltest PROPERTIES PASS_REGULAR_EXPRESSION ", Fail 0") endif () -if (QNX) - install( - TARGETS xmltest - DESTINATION bin/tinyxml2_tests - ) - install( - DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/resources - DESTINATION bin/tinyxml2_tests - ) -endif () - ## ## Installation ## @@ -139,3 +128,14 @@ install( DESTINATION "${tinyxml2_INSTALL_PKGCONFIGDIR}" COMPONENT tinyxml2_development ) + +if (QNX) + install( + TARGETS xmltest + DESTINATION bin/tinyxml2_tests + ) + install( + DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/resources + DESTINATION bin/tinyxml2_tests + ) +endif () From d3484843dbc9a5cf9d3a00c5f089c3bfdf17999e Mon Sep 17 00:00:00 2001 From: James Choi Date: Tue, 16 Jul 2024 13:36:37 -0400 Subject: [PATCH 4/4] Add a comment for QNX not supporting null pointer print --- xmltest.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/xmltest.cpp b/xmltest.cpp index 19b3cef2..ba9fb1bc 100755 --- a/xmltest.cpp +++ b/xmltest.cpp @@ -51,7 +51,8 @@ bool XMLTest (const char* testString, const char* expected, const char* found, b printf( "%s\n", found ); } else { -#ifdef __QNX__ +#ifndef __QNX__ + // In QNX, null pointers cannot be printed as "(null)" const char* expected_qnx = expected == NULL ? "(null)" : expected; const char* found_qnx = found == NULL ? "(null)" : expected; printf (" %s [%s][%s]\n", testString, expected_qnx, found_qnx); @@ -2327,7 +2328,7 @@ int main( int argc, const char ** argv ) XMLTest( "Should be no error initially", false, doc.Error() ); doc.LoadFile( "resources/no-such-file.xml" ); XMLTest( "No such file - should fail", true, doc.Error() ); - + doc.LoadFile("resources/dream.xml"); XMLTest("Error should be cleared", false, doc.Error());