diff --git a/Library/MemLogLibDefault/printf_lite.c b/Library/MemLogLibDefault/printf_lite.c
index 3ffae5f12..122e30e34 100644
--- a/Library/MemLogLibDefault/printf_lite.c
+++ b/Library/MemLogLibDefault/printf_lite.c
@@ -528,6 +528,9 @@ uint32_t getUptimeInMilliseconds()
#endif
#endif //PRINTF_LITE_TIMESTAMP_SUPPORT
+#ifdef __GNUC__
+static void print_longlong(INT_BIGGEST_TYPE v, unsigned int base, PrintfParams* printfParams) __attribute__((no_sanitize("undefined"))); // disable sanitize because we'll do -v
+#endif
#if DEFINE_SECTIONS == 1
__attribute__((noinline, section(".print_longlong")))
diff --git a/Xcode/cpp_tests/.cproject b/Xcode/cpp_tests/.cproject
index 91ef2da54..78215c9bf 100644
--- a/Xcode/cpp_tests/.cproject
+++ b/Xcode/cpp_tests/.cproject
@@ -213,10 +213,16 @@
+
+
+
+
+
+
@@ -441,6 +447,8 @@
+
+
diff --git a/Xcode/cpp_tests/.project b/Xcode/cpp_tests/.project
index 1a6abbfc7..ee23cbd2a 100644
--- a/Xcode/cpp_tests/.project
+++ b/Xcode/cpp_tests/.project
@@ -30,6 +30,11 @@
2
PARENT-2-PROJECT_LOC/Library/MemLogLibDefault
+
+ Posix
+ 2
+ PARENT-2-PROJECT_LOC/rEFIt_UEFI/Platform/Posix
+
cpp_foundation
2
diff --git a/Xcode/cpp_tests/.settings/compilation_project_specific/gcc92-c-c++flags b/Xcode/cpp_tests/.settings/compilation_project_specific/gcc92-c-c++flags
index 0cda450a9..45219f1b8 100755
--- a/Xcode/cpp_tests/.settings/compilation_project_specific/gcc92-c-c++flags
+++ b/Xcode/cpp_tests/.settings/compilation_project_specific/gcc92-c-c++flags
@@ -2,5 +2,5 @@
SCRIPT_ABS_FILENAME=`LC_ALL=en_US.ISO8859-1 perl -e 'use Cwd "abs_path";print abs_path(shift)' "${BASH_SOURCE[0]}"`
SCRIPT_DIR=`dirname "$SCRIPT_ABS_FILENAME"`
-echo -g -fshort-wchar -include ../src/Platform.h
+echo -g -fshort-wchar
diff --git a/Xcode/cpp_tests/cpp_tests.xcodeproj/project.pbxproj b/Xcode/cpp_tests/cpp_tests.xcodeproj/project.pbxproj
index c530f2342..eee406741 100644
--- a/Xcode/cpp_tests/cpp_tests.xcodeproj/project.pbxproj
+++ b/Xcode/cpp_tests/cpp_tests.xcodeproj/project.pbxproj
@@ -8,7 +8,6 @@
/* Begin PBXBuildFile section */
9A0B08562402FF7700E2B470 /* XStringWArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08472402FE9300E2B470 /* XStringWArray.cpp */; };
- 9A0B08572402FF7A00E2B470 /* XToolsCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08492402FE9300E2B470 /* XToolsCommon.cpp */; };
9A0B08582402FF7F00E2B470 /* XStringWArray_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B084F2402FE9B00E2B470 /* XStringWArray_test.cpp */; };
9A0B08592402FF8200E2B470 /* all_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08512402FE9B00E2B470 /* all_tests.cpp */; };
9A0B085A2402FF8400E2B470 /* XObjArray_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08522402FE9B00E2B470 /* XObjArray_tests.cpp */; };
@@ -20,7 +19,6 @@
9A0B08772403B08400E2B470 /* XStringWArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08472402FE9300E2B470 /* XStringWArray.cpp */; };
9A0B087A2403B08400E2B470 /* all_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08512402FE9B00E2B470 /* all_tests.cpp */; };
9A0B087B2403B08400E2B470 /* global_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08642403144C00E2B470 /* global_test.cpp */; };
- 9A0B087C2403B08400E2B470 /* XToolsCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08492402FE9300E2B470 /* XToolsCommon.cpp */; };
9A0B087D2403B08400E2B470 /* XStringWArray_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B084F2402FE9B00E2B470 /* XStringWArray_test.cpp */; };
9A0B087E2403B08400E2B470 /* XArray_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08532402FE9B00E2B470 /* XArray_tests.cpp */; };
9A0B087F2403B08400E2B470 /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B085D240300E000E2B470 /* Platform.cpp */; };
@@ -42,9 +40,9 @@
9A28CD22241BB61B00F3D247 /* strlen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD1E241BB61B00F3D247 /* strlen.cpp */; };
9A28CD23241BB61B00F3D247 /* strlen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD1E241BB61B00F3D247 /* strlen.cpp */; };
9A28CD24241BB61B00F3D247 /* strlen.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD1E241BB61B00F3D247 /* strlen.cpp */; };
- 9A28CD4B241F4CCE00F3D247 /* xcode_utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD4A241F4CCE00F3D247 /* xcode_utf16.cpp */; };
- 9A28CD4C241F4CCE00F3D247 /* xcode_utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD4A241F4CCE00F3D247 /* xcode_utf16.cpp */; };
- 9A28CD4D241F4CCE00F3D247 /* xcode_utf16.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD4A241F4CCE00F3D247 /* xcode_utf16.cpp */; };
+ 9A28CD4B241F4CCE00F3D247 /* xcode_utf_fixed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD4A241F4CCE00F3D247 /* xcode_utf_fixed.cpp */; };
+ 9A28CD4C241F4CCE00F3D247 /* xcode_utf_fixed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD4A241F4CCE00F3D247 /* xcode_utf_fixed.cpp */; };
+ 9A28CD4D241F4CCE00F3D247 /* xcode_utf_fixed.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A28CD4A241F4CCE00F3D247 /* xcode_utf_fixed.cpp */; };
9A4185B12439E4D600BEAFB8 /* LoadOptions_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A4185AF2439E4D500BEAFB8 /* LoadOptions_test.cpp */; };
9A4185B22439E4D600BEAFB8 /* LoadOptions_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A4185AF2439E4D500BEAFB8 /* LoadOptions_test.cpp */; };
9A4185B32439E4D600BEAFB8 /* LoadOptions_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A4185AF2439E4D500BEAFB8 /* LoadOptions_test.cpp */; };
@@ -60,10 +58,8 @@
9A57C21A2418B9A00029A39F /* XObjArray_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08522402FE9B00E2B470 /* XObjArray_tests.cpp */; };
9A57C21B2418B9A00029A39F /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A9223302402FD1000483CBA /* main.cpp */; };
9A57C21D2418B9A00029A39F /* XStringWArray.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08472402FE9300E2B470 /* XStringWArray.cpp */; };
- 9A57C2202418B9A00029A39F /* panic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC780A32417DD2F005CDD5C /* panic.cpp */; };
9A57C2222418B9A00029A39F /* all_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08512402FE9B00E2B470 /* all_tests.cpp */; };
9A57C2232418B9A00029A39F /* global_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08642403144C00E2B470 /* global_test.cpp */; };
- 9A57C2242418B9A00029A39F /* XToolsCommon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08492402FE9300E2B470 /* XToolsCommon.cpp */; };
9A57C2252418B9A00029A39F /* XStringWArray_test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B084F2402FE9B00E2B470 /* XStringWArray_test.cpp */; };
9A57C2272418B9A00029A39F /* XArray_tests.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B08532402FE9B00E2B470 /* XArray_tests.cpp */; };
9A57C2282418B9A00029A39F /* Platform.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9A0B085D240300E000E2B470 /* Platform.cpp */; };
@@ -74,14 +70,9 @@
9AA0458A2425F94D000D6970 /* printf_lite-test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA045892425F94D000D6970 /* printf_lite-test.cpp */; };
9AA0458B2425F94D000D6970 /* printf_lite-test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA045892425F94D000D6970 /* printf_lite-test.cpp */; };
9AA0458C2425F94D000D6970 /* printf_lite-test.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AA045892425F94D000D6970 /* printf_lite-test.cpp */; };
- 9AC780AE2417DD2F005CDD5C /* panic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC780A32417DD2F005CDD5C /* panic.cpp */; };
- 9AC780AF2417DD2F005CDD5C /* panic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AC780A32417DD2F005CDD5C /* panic.cpp */; };
9ACAB117242623EE00BDB3CF /* printf_lite.c in Sources */ = {isa = PBXBuildFile; fileRef = 9ACAB116242623EE00BDB3CF /* printf_lite.c */; };
9ACAB1192426255C00BDB3CF /* printf_lite.c in Sources */ = {isa = PBXBuildFile; fileRef = 9ACAB116242623EE00BDB3CF /* printf_lite.c */; };
9ACAB11A2426255C00BDB3CF /* printf_lite.c in Sources */ = {isa = PBXBuildFile; fileRef = 9ACAB116242623EE00BDB3CF /* printf_lite.c */; };
- 9AD469492452B33700D6D0DB /* shared_with_menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AD469472452B33700D6D0DB /* shared_with_menu.cpp */; };
- 9AD4694A2452B33700D6D0DB /* shared_with_menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AD469472452B33700D6D0DB /* shared_with_menu.cpp */; };
- 9AD4694B2452B33700D6D0DB /* shared_with_menu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9AD469472452B33700D6D0DB /* shared_with_menu.cpp */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@@ -116,9 +107,7 @@
/* Begin PBXFileReference section */
9A0B08442402FE9300E2B470 /* XStringWArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XStringWArray.h; sourceTree = ""; };
- 9A0B08452402FE9300E2B470 /* XToolsCommon.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XToolsCommon.h; sourceTree = ""; };
9A0B08472402FE9300E2B470 /* XStringWArray.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = XStringWArray.cpp; sourceTree = ""; };
- 9A0B08492402FE9300E2B470 /* XToolsCommon.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = XToolsCommon.cpp; sourceTree = ""; };
9A0B084A2402FE9300E2B470 /* XArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XArray.h; sourceTree = ""; };
9A0B084B2402FE9300E2B470 /* XObjArray.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XObjArray.h; sourceTree = ""; };
9A0B084D2402FE9B00E2B470 /* XStringWArray_test.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = XStringWArray_test.h; sourceTree = ""; };
@@ -143,8 +132,8 @@
9A28CD15241BACBB00F3D247 /* strlen_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strlen_test.cpp; sourceTree = ""; };
9A28CD1D241BB61B00F3D247 /* abort.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = abort.cpp; sourceTree = ""; };
9A28CD1E241BB61B00F3D247 /* strlen.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = strlen.cpp; sourceTree = ""; };
- 9A28CD49241F437C00F3D247 /* xcode_utf16.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_utf16.h; sourceTree = ""; };
- 9A28CD4A241F4CCE00F3D247 /* xcode_utf16.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xcode_utf16.cpp; sourceTree = ""; };
+ 9A28CD49241F437C00F3D247 /* xcode_utf_fixed.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = xcode_utf_fixed.h; sourceTree = ""; };
+ 9A28CD4A241F4CCE00F3D247 /* xcode_utf_fixed.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = xcode_utf_fixed.cpp; sourceTree = ""; };
9A4185AF2439E4D500BEAFB8 /* LoadOptions_test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LoadOptions_test.cpp; sourceTree = ""; };
9A4185B02439E4D600BEAFB8 /* LoadOptions_test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LoadOptions_test.h; sourceTree = ""; };
9A4185BE2439F73A00BEAFB8 /* XStringArray.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = XStringArray.cpp; sourceTree = ""; };
@@ -165,8 +154,7 @@
9AA045742425D200000D6970 /* IO.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IO.cpp; sourceTree = ""; };
9AA045882425F94D000D6970 /* printf_lite-test.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "printf_lite-test.h"; sourceTree = ""; };
9AA045892425F94D000D6970 /* printf_lite-test.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = "printf_lite-test.cpp"; sourceTree = ""; };
- 9AC780A32417DD2F005CDD5C /* panic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = panic.cpp; sourceTree = ""; };
- 9AC780A62417DD2F005CDD5C /* panic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = panic.h; sourceTree = ""; };
+ 9AC790112452C45A0004FBE9 /* abort.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = abort.h; sourceTree = ""; };
9ACAB116242623EE00BDB3CF /* printf_lite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = printf_lite.c; sourceTree = ""; };
9ACAB1182426240C00BDB3CF /* printf_lite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = printf_lite.h; path = ../../Include/Library/printf_lite.h; sourceTree = ""; };
9AD469472452B33700D6D0DB /* shared_with_menu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = shared_with_menu.cpp; sourceTree = ""; };
@@ -226,8 +214,6 @@
9A4185BF2439F73A00BEAFB8 /* XStringArray.h */,
9A0B08472402FE9300E2B470 /* XStringWArray.cpp */,
9A0B08442402FE9300E2B470 /* XStringWArray.h */,
- 9A0B08492402FE9300E2B470 /* XToolsCommon.cpp */,
- 9A0B08452402FE9300E2B470 /* XToolsCommon.h */,
);
name = cpp_foundation;
path = ../../rEFIt_UEFI/cpp_foundation;
@@ -294,6 +280,7 @@
9A28CCAF241B816400F3D247 /* Posix */ = {
isa = PBXGroup;
children = (
+ 9AC790112452C45A0004FBE9 /* abort.h */,
9A28CD1D241BB61B00F3D247 /* abort.cpp */,
9A28CD1E241BB61B00F3D247 /* strlen.cpp */,
9A28CD0F241B9EF800F3D247 /* strcmp.cpp */,
@@ -308,7 +295,6 @@
9A1A3FD82424BC22008C89EB /* MemLogLibDefault */,
9A0B08432402FE9300E2B470 /* cpp_foundation */,
9A0B084C2402FE9B00E2B470 /* cpp_unit_test */,
- 9AC7809C2417DD2F005CDD5C /* cpp_util */,
9A92232F2402FD1000483CBA /* Main */,
9A28CCAC241B816400F3D247 /* Platform */,
9A92232E2402FD1000483CBA /* Products */,
@@ -339,8 +325,8 @@
9A28CD13241B9FEE00F3D247 /* posix.h */,
9AF4156E242CBC6000D2644C /* printf_lite-conf.h */,
9AF4156B242CBB5600D2644C /* printf_lite-test-cpp_conf.h */,
- 9A28CD4A241F4CCE00F3D247 /* xcode_utf16.cpp */,
- 9A28CD49241F437C00F3D247 /* xcode_utf16.h */,
+ 9A28CD4A241F4CCE00F3D247 /* xcode_utf_fixed.cpp */,
+ 9A28CD49241F437C00F3D247 /* xcode_utf_fixed.h */,
);
name = Main;
path = src;
@@ -355,16 +341,6 @@
path = PoolPrint;
sourceTree = "";
};
- 9AC7809C2417DD2F005CDD5C /* cpp_util */ = {
- isa = PBXGroup;
- children = (
- 9AC780A32417DD2F005CDD5C /* panic.cpp */,
- 9AC780A62417DD2F005CDD5C /* panic.h */,
- );
- name = cpp_util;
- path = ../../rEFIt_UEFI/cpp_util;
- sourceTree = "";
- };
9AD469462452B30500D6D0DB /* gui */ = {
isa = PBXGroup;
children = (
@@ -473,18 +449,15 @@
9A4FFA842451C9740050B38B /* XString.cpp in Sources */,
9A4FFA822451C88D0050B38B /* XString_test.cpp in Sources */,
9A28CD23241BB61B00F3D247 /* strlen.cpp in Sources */,
- 9A28CD4C241F4CCE00F3D247 /* xcode_utf16.cpp in Sources */,
+ 9A28CD4C241F4CCE00F3D247 /* xcode_utf_fixed.cpp in Sources */,
9A0B08742403B08400E2B470 /* main.cpp in Sources */,
9A28CD17241BACBB00F3D247 /* strlen_test.cpp in Sources */,
9A0B08772403B08400E2B470 /* XStringWArray.cpp in Sources */,
9A28CD0D241B8DD400F3D247 /* strcmp_test.cpp in Sources */,
9A28CD0A241B8DD400F3D247 /* strncmp_test.cpp in Sources */,
- 9AC780AF2417DD2F005CDD5C /* panic.cpp in Sources */,
9A0B087A2403B08400E2B470 /* all_tests.cpp in Sources */,
9A9AEB8E243F752C00FBD7D8 /* unicode_conversions.cpp in Sources */,
9A0B087B2403B08400E2B470 /* global_test.cpp in Sources */,
- 9A0B087C2403B08400E2B470 /* XToolsCommon.cpp in Sources */,
- 9AD4694A2452B33700D6D0DB /* shared_with_menu.cpp in Sources */,
9ACAB1192426255C00BDB3CF /* printf_lite.c in Sources */,
9A0B087D2403B08400E2B470 /* XStringWArray_test.cpp in Sources */,
9A28CD11241B9EF800F3D247 /* strcmp.cpp in Sources */,
@@ -505,18 +478,15 @@
9A4FFA852451C9740050B38B /* XString.cpp in Sources */,
9A4FFA832451C88D0050B38B /* XString_test.cpp in Sources */,
9A28CD24241BB61B00F3D247 /* strlen.cpp in Sources */,
- 9A28CD4D241F4CCE00F3D247 /* xcode_utf16.cpp in Sources */,
+ 9A28CD4D241F4CCE00F3D247 /* xcode_utf_fixed.cpp in Sources */,
9A57C21B2418B9A00029A39F /* main.cpp in Sources */,
9A28CD18241BACBB00F3D247 /* strlen_test.cpp in Sources */,
9A57C21D2418B9A00029A39F /* XStringWArray.cpp in Sources */,
9A28CD0E241B8DD400F3D247 /* strcmp_test.cpp in Sources */,
9A28CD0B241B8DD400F3D247 /* strncmp_test.cpp in Sources */,
- 9A57C2202418B9A00029A39F /* panic.cpp in Sources */,
9A57C2222418B9A00029A39F /* all_tests.cpp in Sources */,
9A9AEB8F243F752C00FBD7D8 /* unicode_conversions.cpp in Sources */,
9A57C2232418B9A00029A39F /* global_test.cpp in Sources */,
- 9A57C2242418B9A00029A39F /* XToolsCommon.cpp in Sources */,
- 9AD4694B2452B33700D6D0DB /* shared_with_menu.cpp in Sources */,
9ACAB11A2426255C00BDB3CF /* printf_lite.c in Sources */,
9A57C2252418B9A00029A39F /* XStringWArray_test.cpp in Sources */,
9A28CD12241B9EF800F3D247 /* strcmp.cpp in Sources */,
@@ -536,19 +506,16 @@
9A4FFA7E2451C8330050B38B /* XString.cpp in Sources */,
9A4FFA812451C88D0050B38B /* XString_test.cpp in Sources */,
9A28CD22241BB61B00F3D247 /* strlen.cpp in Sources */,
- 9A28CD4B241F4CCE00F3D247 /* xcode_utf16.cpp in Sources */,
+ 9A28CD4B241F4CCE00F3D247 /* xcode_utf_fixed.cpp in Sources */,
9A9223312402FD1000483CBA /* main.cpp in Sources */,
9A28CD16241BACBB00F3D247 /* strlen_test.cpp in Sources */,
9A0B08562402FF7700E2B470 /* XStringWArray.cpp in Sources */,
9A28CD0C241B8DD400F3D247 /* strcmp_test.cpp in Sources */,
9A28CD09241B8DD400F3D247 /* strncmp_test.cpp in Sources */,
- 9AC780AE2417DD2F005CDD5C /* panic.cpp in Sources */,
9A0B08592402FF8200E2B470 /* all_tests.cpp in Sources */,
9A0B08662403144C00E2B470 /* global_test.cpp in Sources */,
9A4185B12439E4D600BEAFB8 /* LoadOptions_test.cpp in Sources */,
- 9A0B08572402FF7A00E2B470 /* XToolsCommon.cpp in Sources */,
9ACAB117242623EE00BDB3CF /* printf_lite.c in Sources */,
- 9AD469492452B33700D6D0DB /* shared_with_menu.cpp in Sources */,
9A0B08582402FF7F00E2B470 /* XStringWArray_test.cpp in Sources */,
9A9AEB8D243F73CE00FBD7D8 /* unicode_conversions.cpp in Sources */,
9A4185C02439F73A00BEAFB8 /* XStringArray.cpp in Sources */,
@@ -584,11 +551,7 @@
buildSettings = {
CODE_SIGN_STYLE = Automatic;
GCC_CHAR_IS_UNSIGNED_CHAR = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "$(inherited)",
- "wcslen=utf16_wcslen",
- "wcsncmp=utf16_wcsncmp",
- );
+ GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
OTHER_CFLAGS = (
"$(inherited)",
"-fshort-wchar",
@@ -663,11 +626,8 @@
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREFIX_HEADER = src/Platform.h;
- GCC_PREPROCESSOR_DEFINITIONS = (
- JIEF_DEBUG,
- XSTRING16_DEV,
- );
+ GCC_PREFIX_HEADER = "";
+ GCC_PREPROCESSOR_DEFINITIONS = JIEF_DEBUG;
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
@@ -752,7 +712,7 @@
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_C_LANGUAGE_STANDARD = gnu11;
GCC_NO_COMMON_BLOCKS = YES;
- GCC_PREFIX_HEADER = src/Platform.h;
+ GCC_PREFIX_HEADER = "";
GCC_PREPROCESSOR_DEFINITIONS = "";
GCC_TREAT_IMPLICIT_FUNCTION_DECLARATIONS_AS_ERRORS = YES;
GCC_TREAT_INCOMPATIBLE_POINTER_TYPE_WARNINGS_AS_ERRORS = YES;
@@ -790,11 +750,7 @@
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "$(inherited)",
- "wcslen=utf16_wcslen",
- "wcsncmp=utf16_wcsncmp",
- );
+ GCC_PREPROCESSOR_DEFINITIONS = "$(inherited)";
OTHER_CFLAGS = (
"$(inherited)",
"-fshort-wchar",
diff --git a/Xcode/cpp_tests/src/Platform.cpp b/Xcode/cpp_tests/src/Platform.cpp
index ab37ed411..49322f79c 100755
--- a/Xcode/cpp_tests/src/Platform.cpp
+++ b/Xcode/cpp_tests/src/Platform.cpp
@@ -25,51 +25,51 @@ void CpuDeadLoop(void)
{
exit(1);
}
-
-static char *dull_replace(const char *in, const char *pattern, const char *by, char* res)
-{
-// size_t outsize = strlen(in) + 1;
- // TODO maybe avoid reallocing by counting the non-overlapping occurences of pattern
-// char *res = malloc(outsize);
- // use this to iterate over the output
- size_t resoffset = 0;
-
- const char *needle;
- while ( (needle = strstr(in, pattern)) ) {
- // copy everything up to the pattern
- memcpy(res + resoffset, in, (size_t)(needle - in));
- resoffset += (size_t)(needle - in);
-
- // skip the pattern in the input-string
- in = needle + strlen(pattern);
-
- // adjust space for replacement
-// outsize = outsize - strlen(pattern) + strlen(by);
-// res = realloc(res, outsize);
-
- // copy the pattern
- memcpy(res + resoffset, by, strlen(by));
- resoffset += strlen(by);
- }
-
- // copy the remaining input
- strcpy(res + resoffset, in);
-
- return res;
-}
-
-void DebugLog(INTN DebugMode, const char *FormatString, ...)
-{
- (void)DebugMode;
-
- char* NewFormat = (char*)alloca(strlen(FormatString)+1);
- dull_replace(FormatString, "%a", "%s", NewFormat);
-
- va_list va;
- va_start(va, FormatString);
- vprintf(NewFormat, va);
- va_end(va);
-}
+//
+//static char *dull_replace(const char *in, const char *pattern, const char *by, char* res)
+//{
+//// size_t outsize = strlen(in) + 1;
+// // TODO maybe avoid reallocing by counting the non-overlapping occurences of pattern
+//// char *res = malloc(outsize);
+// // use this to iterate over the output
+// size_t resoffset = 0;
+//
+// const char *needle;
+// while ( (needle = strstr(in, pattern)) ) {
+// // copy everything up to the pattern
+// memcpy(res + resoffset, in, (size_t)(needle - in));
+// resoffset += (size_t)(needle - in);
+//
+// // skip the pattern in the input-string
+// in = needle + strlen(pattern);
+//
+// // adjust space for replacement
+//// outsize = outsize - strlen(pattern) + strlen(by);
+//// res = realloc(res, outsize);
+//
+// // copy the pattern
+// memcpy(res + resoffset, by, strlen(by));
+// resoffset += strlen(by);
+// }
+//
+// // copy the remaining input
+// strcpy(res + resoffset, in);
+//
+// return res;
+//}
+//
+//void DebugLog(INTN DebugMode, const char *FormatString, ...)
+//{
+// (void)DebugMode;
+//
+// char* NewFormat = (char*)alloca(strlen(FormatString)+1);
+//// dull_replace(FormatString, "%a", "%s", NewFormat);
+//
+// va_list va;
+// va_start(va, FormatString);
+// vprintf(NewFormat, va);
+// va_end(va);
+//}
void PauseForKey(const wchar_t* msg)
{
@@ -132,14 +132,14 @@ void CopyMem(void *Destination, void *Source, UINTN Length)
CHAR16* EfiStrDuplicate (IN CONST CHAR16 *Src)
{
- CHAR16* newS = (CHAR16*)malloc((wcslen(Src)+1)*sizeof(wchar_t));
- memcpy(newS, Src, (wcslen(Src)+1)*sizeof(wchar_t));
+ CHAR16* newS = (CHAR16*)malloc((wcslen_fixed(Src)+1)*sizeof(wchar_t));
+ memcpy(newS, Src, (wcslen_fixed(Src)+1)*sizeof(wchar_t));
return newS;
}
CHAR16* StrStr (IN CONST CHAR16 *String, IN CONST CHAR16 *SearchString)
{
- return (CHAR16*)wcsstr(String, SearchString);
+ return (CHAR16*)wcsstr_fixed(String, SearchString);
}
diff --git a/Xcode/cpp_tests/src/Platform.h b/Xcode/cpp_tests/src/Platform.h
index cd142e92d..d32b5b5aa 100755
--- a/Xcode/cpp_tests/src/Platform.h
+++ b/Xcode/cpp_tests/src/Platform.h
@@ -17,10 +17,11 @@
#include
#include "posix.h"
+#include "../../../rEFIt_UEFI/Platform/Posix/abort.h"
#include "../../../rEFIt_UEFI/cpp_foundation/unicode_conversions.h"
#include "../../../rEFIt_UEFI/cpp_foundation/XString.h"
-#include "xcode_utf16.h"
+#include "xcode_utf_fixed.h"
#ifndef __cplusplus
@@ -64,7 +65,7 @@ typedef UINTN RETURN_STATUS;
#endif
void CpuDeadLoop(void);
-void DebugLog(INTN DebugMode, const char *FormatString, ...);
+//void DebugLog(INTN DebugMode, const char *FormatString, ...);
void PauseForKey(const wchar_t* msg);
diff --git a/Xcode/cpp_tests/src/XToolsConf.h b/Xcode/cpp_tests/src/XToolsConf.h
index 357e713a9..34579630f 100755
--- a/Xcode/cpp_tests/src/XToolsConf.h
+++ b/Xcode/cpp_tests/src/XToolsConf.h
@@ -9,30 +9,17 @@
#define MAX_XSIZE SIZE_T_MAX
//#define MAX_XISIZE MAX_INTN
-extern xsize XArrayGrowByDefault;
-extern xsize XBufferGrowByDefault;
+#define XStringGrowByDefault 10
+#define XArrayGrowByDefault 8
+//extern xsize XBufferGrowByDefault;
/* For convience, operator [] is define with int parameter.
- * Defining __XTOOLS_INT_CHECK__ make a check that the parameter is >= 0
+ * Defining __XTOOLS_CHECK_OVERFLOW__ make a check that the parameter is >= 0
+ * TODO : make new XString using __XTOOLS_CHECK_OVERFLOW__
*/
-#define __XTOOLS_INT_CHECK__
+#define __XTOOLS_CHECK_OVERFLOW__
-#include "../cpp_util/panic.h"
-
-#define realloc(ptr, newsize, oldsize) realloc(ptr, newsize)
-
-
-// Declare here instead of include to avoid circular dependency.
-
-#ifdef _MSC_VER
-#define __attribute__(x)
-#endif
-
-VOID
-EFIAPI
-DebugLog (
- IN INTN DebugMode,
- IN CONST CHAR8 *FormatString, ...) __attribute__((format(printf, 2, 3)));;
+#define Xrealloc(ptr, newsize, oldsize) realloc(ptr, newsize)
diff --git a/Xcode/cpp_tests/src/poolprint-test-cpp_conf.h b/Xcode/cpp_tests/src/poolprint-test-cpp_conf.h
index c3cfd94b5..de155e67c 100644
--- a/Xcode/cpp_tests/src/poolprint-test-cpp_conf.h
+++ b/Xcode/cpp_tests/src/poolprint-test-cpp_conf.h
@@ -5,7 +5,7 @@
#define PRIF "%a"
#define PRILF "%s"
-//#define loggf(...) DebugLog(2, __VA_ARGS__)
+//#define loggf(...) printf__VA_ARGS__)
#define loggf(...) printf(__VA_ARGS__)
//#define DISPLAY_ONLY_FAILED
diff --git a/Xcode/cpp_tests/src/poolprintfloat-test-cpp_conf.h b/Xcode/cpp_tests/src/poolprintfloat-test-cpp_conf.h
index d111af183..b338137bc 100644
--- a/Xcode/cpp_tests/src/poolprintfloat-test-cpp_conf.h
+++ b/Xcode/cpp_tests/src/poolprintfloat-test-cpp_conf.h
@@ -4,7 +4,7 @@
#define PRIF "%a"
#define PRILF "%s"
-#define loggf(...) DebugLog(2, __VA_ARGS__)
+#define loggf(...) printf__VA_ARGS__)
//#define loggf(...) printf(__VA_ARGS__)
#define DISPLAY_ONLY_FAILED
diff --git a/Xcode/cpp_tests/src/posix.h b/Xcode/cpp_tests/src/posix.h
index ee11acbf0..6baf44baa 100644
--- a/Xcode/cpp_tests/src/posix.h
+++ b/Xcode/cpp_tests/src/posix.h
@@ -18,7 +18,7 @@
// Currently with clang version Apple LLVM version 10.0.0 (clang-1000.11.45.5) with High Sierra
// If it's fixed one day, a version number could added to this #ifdef
-# include "xcode_utf16.h"
+# include "xcode_utf_fixed.h"
#else
# include
#endif
diff --git a/Xcode/cpp_tests/src/printf_lite-conf.h b/Xcode/cpp_tests/src/printf_lite-conf.h
index d946fbfdd..ecb2ec6ff 100755
--- a/Xcode/cpp_tests/src/printf_lite-conf.h
+++ b/Xcode/cpp_tests/src/printf_lite-conf.h
@@ -9,13 +9,14 @@
#include
#include // for size_t
+#include
#ifndef __cplusplus
#ifdef _MSC_VER
typedef UINT16 wchar_t;
#endif
- typedef UINT32 char32_t;
- typedef UINT16 char16_t;
+ typedef uint32_t char32_t;
+ typedef uint16_t char16_t;
#endif
#ifdef _MSC_VER
diff --git a/Xcode/cpp_tests/src/printf_lite-test-cpp_conf.h b/Xcode/cpp_tests/src/printf_lite-test-cpp_conf.h
index 5de3d2a1e..80d4300f4 100644
--- a/Xcode/cpp_tests/src/printf_lite-test-cpp_conf.h
+++ b/Xcode/cpp_tests/src/printf_lite-test-cpp_conf.h
@@ -4,7 +4,7 @@
#define PRIF "%s"
#define PRILF "%ls"
-#define loggf(...) DebugLog(2, __VA_ARGS__)
+#define loggf(...) printf(__VA_ARGS__)
//#define loggf(...) printf(__VA_ARGS__)
#define DISPLAY_ONLY_FAILED
diff --git a/Xcode/cpp_tests/src/printlib-test-cpp_conf.h b/Xcode/cpp_tests/src/printlib-test-cpp_conf.h
index 625fcb015..969131753 100644
--- a/Xcode/cpp_tests/src/printlib-test-cpp_conf.h
+++ b/Xcode/cpp_tests/src/printlib-test-cpp_conf.h
@@ -4,7 +4,7 @@
#define PRIF "%s"
#define PRILF "%ls"
-//#define loggf(...) DebugLog(2, __VA_ARGS__)
+//#define loggf(...) printf__VA_ARGS__)
#define loggf(...) printf(__VA_ARGS__)
//#define DISPLAY_ONLY_FAILED
diff --git a/Xcode/cpp_tests/src/xcode_utf16.h b/Xcode/cpp_tests/src/xcode_utf16.h
deleted file mode 100644
index d979aa911..000000000
--- a/Xcode/cpp_tests/src/xcode_utf16.h
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// wfunction.hpp
-// cpp_tests
-//
-// Created by jief on 15.03.20.
-// Copyright © 2020 JF Knudsen. All rights reserved.
-//
-
-#ifndef __xcode_utf16_h__
-#define __xcode_utf16_h__
-
-
-#if defined(__APPLE__) && defined(__clang__) && __WCHAR_MAX__ <= 0xFFFFu
-
-//#define wcslen utf16_wcsleny
-//#define strlen utf16_wcslenx
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
- * all the functions w... seems to expect utf32 even when compiled with short-wchar
- */
-
-size_t utf16_wcslen(const wchar_t *s);
-int utf16_wcsncmp(const wchar_t *s1, const wchar_t * s2, size_t n);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-
-#endif // defined(__APPLE__) && defined(__clang__) && __WCHAR_MAX__ <= 0xFFFFu
-#endif /* wfunction_hpp */
diff --git a/Xcode/cpp_tests/src/xcode_utf16.cpp b/Xcode/cpp_tests/src/xcode_utf_fixed.cpp
similarity index 68%
rename from Xcode/cpp_tests/src/xcode_utf16.cpp
rename to Xcode/cpp_tests/src/xcode_utf_fixed.cpp
index 2c1775748..e6bb3ca5a 100644
--- a/Xcode/cpp_tests/src/xcode_utf16.cpp
+++ b/Xcode/cpp_tests/src/xcode_utf_fixed.cpp
@@ -6,20 +6,17 @@
// Copyright © 2020 JF Knudsen. All rights reserved.
//
-//#include
-//#include
-//#include
-//#include
-
-#if defined(__APPLE__) && defined(__clang__) && __WCHAR_MAX__ <= 0xFFFFu
-
/*
* clang had poisoned identifier like wcslen.
* It's not possible to define a function with that name, not even a macro... except on the command line.
- * So, for this to work, pass macro definition argument on command line : wcslen=utf16_wcslen wcsncmp=utf16_wcsncmp
+ * So, for this to work, pass macro definition argument on command line : wcslen=utf16_wcslen wcsncmp=utf16_wcsncmp wcsstr=utf16_wcsstr
*/
+#include
#include
+#include
+
+#if __WCHAR_MAX__ < 0x10000
static int is_surrogate(char16_t uc) { return (uc - 0xd800u) < 2048u; }
static int is_high_surrogate(char16_t uc) { return (uc & 0xfffffc00) == 0xd800; }
@@ -31,7 +28,7 @@ static char32_t surrogate_to_utf32(char16_t high, char16_t low) {
static void convert_utf16_to_utf32(const char16_t* input, size_t input_size, std::vector* output)
{
- const char16_t * const end = input + input_size;
+ const char16_t* const end = input + input_size;
while (input < end && *input) {
const char16_t uc = *input++;
if (!is_surrogate(uc)) {
@@ -47,17 +44,27 @@ static void convert_utf16_to_utf32(const char16_t* input, size_t input_size, std
(*output).push_back(0);
}
+#endif
-size_t utf16_wcslen(const wchar_t *s)
+
+size_t wcslen_fixed(const wchar_t *s)
{
+#if __WCHAR_MAX__ >= 0x10000
+ return wcslen(s);
+#else
// wcslen seems not to work if sizeof(wchar_t) == 2
const wchar_t* p;
for ( p = s ; *p ; p++ );
return (size_t)(p-s);
+#endif
+
}
-int utf16_wcsncmp(const wchar_t *s1, const wchar_t * s2, size_t n)
+int wcsncmp_fixed(const wchar_t *s1, const wchar_t * s2, size_t n)
{
+#if __WCHAR_MAX__ >= 0x10000
+ return wcsncmp(s1, s2, n);
+#else
// Looks like wcscmp doesn't work with Utf16, even if compiled with -fshort-wchar.
// So conversion to Utf32 needed first.
@@ -71,11 +78,26 @@ int utf16_wcsncmp(const wchar_t *s1, const wchar_t * s2, size_t n)
// but that's ok because we converted only n UTF16 chars in the call of convert_utf16_to_utf32
int ret = wcscmp((const wchar_t*)s1Utf32.data(), (const wchar_t*)s2Utf32.data());
return ret;
+#endif
}
+const wchar_t* wcsstr_fixed(const wchar_t* haystack, const wchar_t* needle)
+{
+#if __WCHAR_MAX__ >= 0x10000
+ return wcsstr(haystack, needle);
+#else
+ // Looks like wcscmp doesn't work with Utf16, even if compiled with -fshort-wchar.
+ // So conversion to Utf32 needed first.
+ const wchar_t *a = haystack, *b = needle;
+ for (;;)
+ if (!*b) return a - wcslen_fixed(needle);
+ else if (!*a) return NULL;
+ else if (*a++ != *b++) { a = ++haystack; b = needle;}
+
+#endif
+}
-#endif // defined(__APPLE__) && defined(__clang__) && __WCHAR_MAX__ <= 0xFFFFu
diff --git a/Xcode/cpp_tests/src/xcode_utf_fixed.h b/Xcode/cpp_tests/src/xcode_utf_fixed.h
new file mode 100644
index 000000000..1bed71277
--- /dev/null
+++ b/Xcode/cpp_tests/src/xcode_utf_fixed.h
@@ -0,0 +1,22 @@
+//
+// wfunction.hpp
+// cpp_tests
+//
+// Created by jief on 15.03.20.
+// Copyright © 2020 JF Knudsen. All rights reserved.
+//
+
+#ifndef __xcode_utf16_h__
+#define __xcode_utf16_h__
+
+
+/*
+ * all the functions w... seems to expect utf32 even when compiled with short-wchar
+ */
+
+size_t wcslen_fixed(const wchar_t *s);
+int wcsncmp_fixed(const wchar_t *s1, const wchar_t * s2, size_t n);
+const wchar_t* wcsstr_fixed(const wchar_t* s1, const wchar_t* s2);
+
+
+#endif /* wfunction_hpp */
diff --git a/rEFIt_UEFI/Platform/Posix/abort.cpp b/rEFIt_UEFI/Platform/Posix/abort.cpp
index 5817ec90d..575db3e8b 100644
--- a/rEFIt_UEFI/Platform/Posix/abort.cpp
+++ b/rEFIt_UEFI/Platform/Posix/abort.cpp
@@ -1,5 +1,5 @@
//#ifdef CLOVER_BUILD
-#include "../../Platform/BootLog.h"
+//#include "../../Platform/BootLog.h"
#include
@@ -22,7 +22,7 @@
void abort(void)
{
- DebugLog(2, "A fatal error happened. System halted\n");
+ printf("A fatal error happened. System halted\n");
while (1) { // tis will avoid warning : Function declared 'noreturn' should not return
CpuDeadLoop();
}
diff --git a/rEFIt_UEFI/cpp_foundation/XArray.h b/rEFIt_UEFI/cpp_foundation/XArray.h
index 13a5e19c7..dd29044fe 100755
--- a/rEFIt_UEFI/cpp_foundation/XArray.h
+++ b/rEFIt_UEFI/cpp_foundation/XArray.h
@@ -15,7 +15,7 @@
#if 0
-#define XArray_DBG(...) DebugLog(2, __VA_ARGS__)
+#define XArray_DBG(...) printf(__VA_ARGS__)
#else
#define XArray_DBG(...)
#endif
@@ -185,8 +185,7 @@ void XArray::CheckSize(xsize nNewSize, xsize nGrowBy)
nNewSize += nGrowBy;
m_data = (TYPE *)Xrealloc((void *)m_data, nNewSize * sizeof(TYPE), m_allocatedSize * sizeof(TYPE) );
if ( !m_data ) {
- DebugLog(2, "XArray::CheckSize(nNewSize=%zu, nGrowBy=%zu) : Xrealloc(%zu, %lu, %" PRIuPTR ") returned NULL. System halted\n", nNewSize, nGrowBy, m_allocatedSize, nNewSize*sizeof(TYPE), (uintptr_t)m_data);
- panic();
+ panic("XArray::CheckSize(nNewSize=%zu, nGrowBy=%zu) : Xrealloc(%zu, %lu, %" PRIuPTR ") returned NULL. System halted\n", nNewSize, nGrowBy, m_allocatedSize, nNewSize*sizeof(TYPE), (uintptr_t)m_data);
}
// memset(&_Data[_Size], 0, (nNewSize-_Size) * sizeof(TYPE)); // Could help for debugging, but zeroing in not needed.
m_allocatedSize = nNewSize;
@@ -208,8 +207,7 @@ void XArray::setSize(xsize l)
m_len = l;
#ifdef DEBUG
if(m_len > m_allocatedSize) {
- DebugLog(2, "XArray::SetLength(xsize) -> _Len > _Size");
- panic();
+ panic("XArray::SetLength(xsize) -> _Len > _Size");
}
#endif
}
@@ -221,8 +219,7 @@ TYPE &XArray::ElementAt(xsize index)
{
// #ifdef _DEBUG
if ( index >= m_len ) {
- DebugLog(2, "XArray::ElementAt(xsize) -> Operator [] : index > m_len");
- panic();
+ panic("XArray::ElementAt(xsize) -> Operator [] : index > m_len");
}
// #endif
return m_data[index];
@@ -234,8 +231,7 @@ const TYPE& XArray::ElementAt(xsize index) const
{
// #ifdef _DEBUG
if ( index >= m_len ) {
- DebugLog(2, "XArray::ElementAt(xsize) const -> Operator [] : index > m_len");
- panic();
+ panic("XArray::ElementAt(xsize) const -> Operator [] : index > m_len");
}
// #endif
return m_data[index];
@@ -250,8 +246,7 @@ TYPE &XArray::ElementAt(int index)
panic("XArray::ElementAt(int) -> Operator [] : index < 0");
}
if ( (unsigned int)index >= m_len ) { // cast safe, index > 0
- DebugLog(2, "XArray::ElementAt(int) -> Operator [] : index > m_len");
- panic();
+ panic("XArray::ElementAt(int) -> Operator [] : index > m_len");
}
// #endif
return m_data[index];
@@ -266,8 +261,7 @@ const TYPE& XArray::ElementAt(int index) const
panic("XArray::ElementAt(int) const -> Operator [] : index < 0");
}
if ( (unsigned int)index >= m_len ) { // cast ok as index > 0. Ideally cast would be like '(unsigned __typeof__(index))'
- DebugLog(2, "XArray::ElementAt(int) const -> Operator [] : index > m_len");
- panic();
+ panic("XArray::ElementAt(int) const -> Operator [] : index > m_len");
}
// #endif
return m_data[index];
@@ -350,9 +344,8 @@ void XArray::RemoveAtIndex(int nIndex)
{
#if defined(__XTOOLS_CHECK_OVERFLOW__)
if ( nIndex < 0 ) {
- DebugLog(2, "XArray::RemoveAtIndex(int nIndex) : BUG nIndex (%d) is < 0. System halted\n", nIndex);
- panic();
- }
+ panic("XArray::RemoveAtIndex(int nIndex) : BUG nIndex (%d) is < 0. System halted\n", nIndex);
+ }
#endif
RemoveAtIndex( (xsize)nIndex ); // Check of nIndex is made in Remove(xsize nIndex)
diff --git a/rEFIt_UEFI/cpp_foundation/XObjArray.h b/rEFIt_UEFI/cpp_foundation/XObjArray.h
index 8b130da4d..4ce770434 100755
--- a/rEFIt_UEFI/cpp_foundation/XObjArray.h
+++ b/rEFIt_UEFI/cpp_foundation/XObjArray.h
@@ -15,7 +15,7 @@
#if 1
-#define XObjArray_DBG(...) DebugLog(2, __VA_ARGS__)
+#define XObjArray_DBG(...) printf__VA_ARGS__)
#else
#define XObjArray_DBG(...)
#endif
@@ -44,8 +44,10 @@ class XObjArrayNC
virtual ~XObjArrayNC();
protected:
- XObjArrayNC(const XObjArrayNC &anObjArrayNC) { (void)anObjArrayNC; DebugLog(2, "Intentionally not defined"); panic(); }
- const XObjArrayNC &operator =(const XObjArrayNC &anObjArrayNC) { (void)anObjArrayNC; DebugLog(2, "Intentionally not defined"); panic(); }
+// XObjArrayNC(const XObjArrayNC &anObjArrayNC) { (void)anObjArrayNC; panic("Intentionally not defined"); }
+// const XObjArrayNC &operator =(const XObjArrayNC &anObjArrayNC) { (void)anObjArrayNC; panic("Intentionally not defined"); }
+ XObjArrayNC(const XObjArrayNC &anObjArrayNC) = delete;
+ const XObjArrayNC &operator =(const XObjArrayNC &anObjArrayNC) = delete;
xsize _getLen() const { return _Len; }
public:
@@ -424,8 +426,7 @@ void XObjArrayNC::RemoveAtIndex(xsize nIndex)
if ( nIndex < XObjArrayNC::_Len )
{
if ( nIndex >= XObjArrayNC::_Len ) {
- DebugLog(2, "void XObjArrayNC::RemoveAtIndex(xsize nIndex) : BUG nIndex (%zu) is > length(). System halted\n", nIndex);
- panic();
+ panic("void XObjArrayNC::RemoveAtIndex(xsize nIndex) : BUG nIndex (%zu) is > length(). System halted\n", nIndex);
}
}
if ( _Data[nIndex].FreeIt )
@@ -467,9 +468,8 @@ void XObjArrayNC::RemoveAtIndex(int nIndex)
{
#if defined(__XTOOLS_CHECK_OVERFLOW__)
if ( nIndex < 0 ) {
- DebugLog(2, "XArray::RemoveAtIndex(int nIndex) : BUG nIndex (%d) is < 0. System halted\n", nIndex);
- panic();
- }
+ panic("XArray::RemoveAtIndex(int nIndex) : BUG nIndex (%d) is < 0. System halted\n", nIndex);
+ }
#endif
RemoveAtIndex( (xsize)nIndex ); // Remove(xsize) will check that index is < _Len
}
@@ -487,7 +487,7 @@ void XObjArrayNC::Remove(const TYPE &Element)
}
}
#if defined(_DEBUG)
- DebugLog(2, "XObjArray::Remove(TYPE &) -> Not found\n");
+ printf("XObjArray::Remove(TYPE &) -> Not found\n");
panic();
#endif
}
diff --git a/rEFIt_UEFI/cpp_foundation/XString.cpp b/rEFIt_UEFI/cpp_foundation/XString.cpp
index 285d1ae8d..7b33eee64 100755
--- a/rEFIt_UEFI/cpp_foundation/XString.cpp
+++ b/rEFIt_UEFI/cpp_foundation/XString.cpp
@@ -10,11 +10,12 @@
#if 0
-#define DBG(...) DebugLog(2, __VA_ARGS__)
+#define DBG(...) printf__VA_ARGS__)
#else
#define DBG(...)
#endif
+#include
#include "XString.h"
#include "../../Include/Library/printf_lite.h"
diff --git a/rEFIt_UEFI/cpp_foundation/XStringAbstract.h b/rEFIt_UEFI/cpp_foundation/XStringAbstract.h
index 50465c551..e7b37f87b 100755
--- a/rEFIt_UEFI/cpp_foundation/XStringAbstract.h
+++ b/rEFIt_UEFI/cpp_foundation/XStringAbstract.h
@@ -152,7 +152,6 @@ int XStringAbstract__compare(const S* src, const O* other, bool ignoreCase)
template
size_t XStringAbstract__indexOf(const O** s, const P* other, size_t offsetRet, bool toLower)
{
- size_t i;
size_t Idx = 0;
char32_t s_char32;
@@ -160,7 +159,6 @@ size_t XStringAbstract__indexOf(const O** s, const P* other, size_t offsetRet, b
do
{
- i = 0;
const O* s2 = *s;
const P* other2 = other;
do {
@@ -359,8 +357,7 @@ public:
char32_t char32At(IntegralType i) const
{
if (i < 0) {
- DBG_XSTRING("XStringAbstract::char32At(size_t i) : i < 0. System halted\n");
- panic();
+ panic("XStringAbstract::char32At(size_t i) : i < 0. System halted\n");
}
size_t nb = 0;
const T *p = m_data;
@@ -571,10 +568,12 @@ public:
// }
//}
- XStringAbstract subString(size_t pos, size_t count) const
+ ThisXStringClass subString(size_t pos, size_t count) const
{
+ if ( pos > length() ) return ThisXStringClass();
if ( count > length()-pos ) count = length()-pos;
- XStringAbstract ret;
+
+ ThisXStringClass ret;
const T* src = m_data;
char32_t char32 = 1;
@@ -690,45 +689,45 @@ public:
// == operator
template
bool operator == (const XStringAbstract& s2) const { return (*this).strcmp(s2.s()) == 0; }
- template
- bool operator == (const O* s2) const { return (*this).strcmp(s2) == 0; }
- template
- friend bool operator == (const O* s1, ThisXStringClass& s2) { return s2.strcmp(s1) == 0; }
+// template
+// bool operator == (const O* s2) const { return (*this).strcmp(s2) == 0; }
+// template
+// friend bool operator == (const O* s1, ThisXStringClass& s2) { return s2.strcmp(s1) == 0; }
template
bool operator != (const XStringAbstract& s2) const { return !(*this == s2); }
- template
- bool operator != (const O* s2) const { return !(*this == s2); }
- template
- friend bool operator != (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) != 0; }
+// template
+// bool operator != (const O* s2) const { return !(*this == s2); }
+// template
+// friend bool operator != (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) != 0; }
template
bool operator < (const XStringAbstract& s2) const { return (*this).strcmp(s2.s()) < 0; }
- template
- bool operator < (const O* s2) const { return (*this).strcmp(s2) < 0; }
- template
- friend bool operator < (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) > 0; }
+// template
+// bool operator < (const O* s2) const { return (*this).strcmp(s2) < 0; }
+// template
+// friend bool operator < (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) > 0; }
template
bool operator > (const XStringAbstract& s2) const { return (*this).strcmp(s2.s()) > 0; }
- template
- bool operator > (const O* s2) const { return (*this).strcmp(s2) > 0; }
- template
- friend bool operator > (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) < 0; }
+// template
+// bool operator > (const O* s2) const { return (*this).strcmp(s2) > 0; }
+// template
+// friend bool operator > (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) < 0; }
template
bool operator <= (const XStringAbstract& s2) const { return (*this).strcmp(s2.s()) <= 0; }
- template
- bool operator <= (const O* s2) const { return (*this).strcmp(s2) <= 0; }
- template
- friend bool operator <= (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) >= 0; }
+// template
+// bool operator <= (const O* s2) const { return (*this).strcmp(s2) <= 0; }
+// template
+// friend bool operator <= (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) >= 0; }
template
bool operator >= (const XStringAbstract& s2) const { return (*this).strcmp(s2.s()) >= 0; }
- template
- bool operator >= (const O* s2) const { return (*this).strcmp(s2) >= 0; }
- template
- friend bool operator >= (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) <= 0; }
+// template
+// bool operator >= (const O* s2) const { return (*this).strcmp(s2) >= 0; }
+// template
+// friend bool operator >= (const O* s1, const ThisXStringClass& s2) { return s2.strcmp(s1) <= 0; }
};
diff --git a/rEFIt_UEFI/cpp_foundation/XStringArray.cpp b/rEFIt_UEFI/cpp_foundation/XStringArray.cpp
index f3f16a31c..1e67746a4 100755
--- a/rEFIt_UEFI/cpp_foundation/XStringArray.cpp
+++ b/rEFIt_UEFI/cpp_foundation/XStringArray.cpp
@@ -4,6 +4,7 @@
//
//xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+#include // Only use angled for Platform, else, xcode project won't compile
#include "XStringArray.h"
diff --git a/rEFIt_UEFI/cpp_foundation/XStringWArray.cpp b/rEFIt_UEFI/cpp_foundation/XStringWArray.cpp
index dfb6c8dd5..881aa3a01 100755
--- a/rEFIt_UEFI/cpp_foundation/XStringWArray.cpp
+++ b/rEFIt_UEFI/cpp_foundation/XStringWArray.cpp
@@ -7,6 +7,7 @@
#if !defined(__XSTRINGWS_CPP__)
#define __XSTRINGWS_CPP__
+#include // Only use angled for Platform, else, xcode project won't compile
#include "XStringWArray.h"
diff --git a/rEFIt_UEFI/cpp_unit_test/LoadOptions_test.cpp b/rEFIt_UEFI/cpp_unit_test/LoadOptions_test.cpp
index 5a327d695..fa1da07f1 100755
--- a/rEFIt_UEFI/cpp_unit_test/LoadOptions_test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/LoadOptions_test.cpp
@@ -175,7 +175,7 @@ int BootOptions_tests()
{
#ifdef JIEF_DEBUG
-// DebugLog(2, "XStringW_tests -> Enter\n");
+// printf("XStringW_tests -> Enter\n");
#endif
{
@@ -188,11 +188,11 @@ int BootOptions_tests()
if ( XString().takeValueFrom(LoadOptions) != "opt1 opt2 opt3"_XS ) return 1;
CHAR16* LoadOptions1 = Old1_RemoveLoadOption(LoadOptions, L"opt1");
- if ( XString().takeValueFrom(LoadOptions1) != "opt2 opt3"_XS ) return 1;
+ if ( XString().takeValueFrom(LoadOptions1) != "opt2 opt3"_XS ) return 2;
CHAR16* LoadOptions2 = Old1_RemoveLoadOption(LoadOptions, L"opt2");
- if ( XString().takeValueFrom(LoadOptions2) != "opt1 opt3"_XS ) return 1;
+ if ( XString().takeValueFrom(LoadOptions2) != "opt1 opt3"_XS ) return 3;
CHAR16* LoadOptions3 = Old1_RemoveLoadOption(LoadOptions, L"opt3");
- if ( XString().takeValueFrom(LoadOptions3) != "opt1 opt2"_XS ) return 1;
+ if ( XString().takeValueFrom(LoadOptions3) != "opt1 opt2"_XS ) return 4;
}
// {
// XString LoadOptions;
@@ -217,17 +217,17 @@ int BootOptions_tests()
LoadOptions.AddID("opt2"_XS);
LoadOptions.AddID("opt3"_XS);
- if ( LoadOptions.ConcatAll(" "_XS) != "opt1 opt2 opt3"_XS ) return 1;
+ if ( LoadOptions.ConcatAll(" "_XS) != "opt1 opt2 opt3"_XS ) return 30;
XStringArray LoadOptions1 = LoadOptions;
LoadOptions1.Remove("opt1"_XS);
- if ( LoadOptions1.ConcatAll(" "_XS) != "opt2 opt3"_XS ) return 1;
+ if ( LoadOptions1.ConcatAll(" "_XS) != "opt2 opt3"_XS ) return 31;
XStringArray LoadOptions2 = LoadOptions;
LoadOptions2.Remove("opt2"_XS);
- if ( LoadOptions2.ConcatAll(" "_XS) != "opt1 opt3"_XS ) return 1;
+ if ( LoadOptions2.ConcatAll(" "_XS) != "opt1 opt3"_XS ) return 32;
XStringArray LoadOptions3 = LoadOptions;
LoadOptions3.Remove("opt3"_XS);
- if ( LoadOptions3.ConcatAll(" "_XS) != "opt1 opt2"_XS ) return 1;
+ if ( LoadOptions3.ConcatAll(" "_XS) != "opt1 opt2"_XS ) return 33;
}
return 0;
diff --git a/rEFIt_UEFI/cpp_unit_test/XArray_tests.cpp b/rEFIt_UEFI/cpp_unit_test/XArray_tests.cpp
index 8042f99c1..dd85ddae3 100644
--- a/rEFIt_UEFI/cpp_unit_test/XArray_tests.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/XArray_tests.cpp
@@ -1,6 +1,6 @@
+#include // Only use angled for Platform, else, xcode project won't compile
#include "../cpp_foundation/XArray.h"
-#include // Only use angled for Platform, else, xcode project won't compile
int XArray_tests()
{
diff --git a/rEFIt_UEFI/cpp_unit_test/XObjArray_tests.cpp b/rEFIt_UEFI/cpp_unit_test/XObjArray_tests.cpp
index f1f0dd6c2..792f16e24 100755
--- a/rEFIt_UEFI/cpp_unit_test/XObjArray_tests.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/XObjArray_tests.cpp
@@ -1,6 +1,6 @@
-#include "../cpp_foundation/XObjArray.h"
#include // Only use angled for Platform, else, xcode project won't compile
+#include "../cpp_foundation/XObjArray.h"
class TestObjInt
{
diff --git a/rEFIt_UEFI/cpp_unit_test/XStringWArray_test.cpp b/rEFIt_UEFI/cpp_unit_test/XStringWArray_test.cpp
index 307117a63..7cdcf8cc5 100644
--- a/rEFIt_UEFI/cpp_unit_test/XStringWArray_test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/XStringWArray_test.cpp
@@ -5,7 +5,7 @@ int XStringWArray_tests()
{
#ifdef JIEF_DEBUG
-// DebugLog(2, "XStringWArray_tests -> Enter\n");
+// printf("XStringWArray_tests -> Enter\n");
#endif
XStringWArray array1;
diff --git a/rEFIt_UEFI/cpp_unit_test/XString_test.cpp b/rEFIt_UEFI/cpp_unit_test/XString_test.cpp
index ec82b3719..752248b9a 100755
--- a/rEFIt_UEFI/cpp_unit_test/XString_test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/XString_test.cpp
@@ -114,8 +114,9 @@ public:
~SimpleString() { delete data; }
};
-SimpleString sprintf(const char* format, ...) __attribute__((__format__(__printf__, 1, 2)));
-SimpleString sprintf(const char* format, ...)
+/* ssprintf = SimpleStringprintf */
+SimpleString ssprintf(const char* format, ...) __attribute__((__format__(__printf__, 1, 2)));
+SimpleString ssprintf(const char* format, ...)
{
SimpleString ss;
va_list va;
@@ -447,19 +448,19 @@ template
SimpleString testDefaultCtor_()
{
XStringClass xstr;
- TEST_TITLE(displayOnlyFailed, sprintf("Test default ctor of %s", XStringClassInfo::xStringClassName));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test default ctor of %s", XStringClassInfo::xStringClassName));
CHECK_RESULT(xstr.length() == 0,
- sprintf("xstr.length() == 0"),
- sprintf("xstr.length() != 0")
+ ssprintf("xstr.length() == 0"),
+ ssprintf("xstr.length() != 0")
);
CHECK_RESULT(xstr.sizeInBytes() == 0,
- sprintf("xstr.sizeInBytes() == 0"),
- sprintf("xstr.sizeInBytes() != 0")
+ ssprintf("xstr.sizeInBytes() == 0"),
+ ssprintf("xstr.sizeInBytes() != 0")
);
CHECK_RESULT(*xstr.s() == 0,
- sprintf("*xstr.s() == 0"),
- sprintf("*xstr.s() != 0")
+ ssprintf("*xstr.s() == 0"),
+ ssprintf("*xstr.s() != 0")
);
return SimpleString();
}
@@ -474,19 +475,19 @@ template::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::testTakeValueFrom(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
XStringClass xstr;
xstr.takeValueFrom(src.cha);
size_t expectedSize = expectedResult.size*sizeof(expectedResult.cha[0]);
CHECK_RESULT(xstr.sizeInBytes() == expectedSize,
- sprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize),
- sprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
+ ssprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize),
+ ssprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
);
CHECK_RESULT(memcmp(xstr.s(), expectedResult.cha, expectedSize) == 0,
- sprintf("memcmp(xstr.s(), expectedResult.cha, expectedSize) == 0"),
- sprintf("memcmp(xstr.s(), expectedResult.cha, expectedSize) != 0")
+ ssprintf("memcmp(xstr.s(), expectedResult.cha, expectedSize) == 0"),
+ ssprintf("memcmp(xstr.s(), expectedResult.cha, expectedSize) != 0")
);
// TODO test ctor with litteral
@@ -509,7 +510,7 @@ SimpleString testTakeValueFromXString_(const TestStringSrc& src, const TestStrin
{
// TODO test ctor with litteral
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::testTakeValueFrom(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::testTakeValueFrom(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
typename XStringClassInfo::xs_t srcXString;
srcXString.takeValueFrom(src.cha);
@@ -519,23 +520,23 @@ SimpleString testTakeValueFromXString_(const TestStringSrc& src, const TestStrin
size_t expectedSize = expectedResult.size*sizeof(expectedResult.cha[0]);
CHECK_RESULT(xstr.sizeInBytes() == expectedSize,
- sprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize),
- sprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
+ ssprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize),
+ ssprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
);
CHECK_RESULT(memcmp(xstr.s(), expectedResult.cha, expectedSize+sizeof(expectedResult.cha[0])) == 0,
- sprintf("memcmp(xstr.s(), expectedResult.cha, expectedResult.size) == 0"),
- sprintf("memcmp(xstr.s(), expectedResult.cha, expectedResult.size) != 0")
+ ssprintf("memcmp(xstr.s(), expectedResult.cha, expectedResult.size) == 0"),
+ ssprintf("memcmp(xstr.s(), expectedResult.cha, expectedResult.size) != 0")
);
{
XStringClass xstr2(srcXString);
// We don't use operator == to check xstr == xstr2 because operator == is not tested yet.
CHECK_RESULT(xstr2.sizeInBytes() == xstr.sizeInBytes(),
- sprintf("xstr2.sizeInBytes() == xstr.sizeInBytes() (%zu)", xstr.sizeInBytes()),
- sprintf("xstr2.sizeInBytes() != xstr.sizeInBytes() (%zu!=%zu)", xstr2.sizeInBytes(), xstr.sizeInBytes())
+ ssprintf("xstr2.sizeInBytes() == xstr.sizeInBytes() (%zu)", xstr.sizeInBytes()),
+ ssprintf("xstr2.sizeInBytes() != xstr.sizeInBytes() (%zu!=%zu)", xstr2.sizeInBytes(), xstr.sizeInBytes())
);
CHECK_RESULT(memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()+sizeof(xstr.s()[0])) == 0,
- sprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) == 0"),
- sprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) != 0")
+ ssprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) == 0"),
+ ssprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) != 0")
);
}
{
@@ -543,12 +544,12 @@ SimpleString testTakeValueFromXString_(const TestStringSrc& src, const TestStrin
xstr2 = srcXString;
// We don't use operator == to check xstr == xstr2 because operator == is not tested yet.
CHECK_RESULT(xstr2.sizeInBytes() == xstr.sizeInBytes(),
- sprintf("xstr2.sizeInBytes() == xstr.sizeInBytes() (%zu)", xstr.sizeInBytes()),
- sprintf("xstr2.sizeInBytes() != xstr.sizeInBytes() (%zu!=%zu)", xstr2.sizeInBytes(), xstr.sizeInBytes())
+ ssprintf("xstr2.sizeInBytes() == xstr.sizeInBytes() (%zu)", xstr.sizeInBytes()),
+ ssprintf("xstr2.sizeInBytes() != xstr.sizeInBytes() (%zu!=%zu)", xstr2.sizeInBytes(), xstr.sizeInBytes())
);
CHECK_RESULT(memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()+sizeof(xstr.s()[0])) == 0,
- sprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) == 0"),
- sprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) != 0")
+ ssprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) == 0"),
+ ssprintf("memcmp(xstr2.s(), xstr.s(), xstr.sizeInBytes()) != 0")
);
}
return SimpleString();
@@ -566,29 +567,29 @@ SimpleString testTakeValueFromXString_(const TestStringSrc& src, const TestStrin
template
SimpleString testEmpty_()
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test isEmpty(),notEmpty(),setEmpty() of %s", XStringClassInfo::xStringClassName));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test isEmpty(),notEmpty(),setEmpty() of %s", XStringClassInfo::xStringClassName));
XStringClass str;
str.takeValueFrom("aa");
CHECK_RESULT(str.isEmpty() == false,
- sprintf("str.isEmpty() == false"),
- sprintf("str.isEmpty() != true")
+ ssprintf("str.isEmpty() == false"),
+ ssprintf("str.isEmpty() != true")
);
CHECK_RESULT(str.notEmpty() == true,
- sprintf("str.notEmpty() == true"),
- sprintf("str.notEmpty() != false")
+ ssprintf("str.notEmpty() == true"),
+ ssprintf("str.notEmpty() != false")
);
str.setEmpty();
CHECK_RESULT(str.isEmpty() == true,
- sprintf("str.isEmpty() == true"),
- sprintf("str.isEmpty() != false")
+ ssprintf("str.isEmpty() == true"),
+ ssprintf("str.isEmpty() != false")
);
CHECK_RESULT(str.notEmpty() == false,
- sprintf("str.notEmpty() == false"),
- sprintf("str.notEmpty() != true")
+ ssprintf("str.notEmpty() == false"),
+ ssprintf("str.notEmpty() != true")
);
return SimpleString();
@@ -603,15 +604,15 @@ SimpleString testEmpty_()
template
SimpleString testchar32At_(const InitialValue& initialValue)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::char32At_u()", XStringClassInfo::xStringClassName));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::char32At_u()", XStringClassInfo::xStringClassName));
XStringClass xstr;
xstr.takeValueFrom(initialValue.cha);
for ( integralType i=0 ; (typename make_unsigned::type)i < xstr.length() ; i++ )
{
CHECK_RESULT(xstr[i] == initialValue.utf32[i],
- sprintf("xstr[i] == dst.cha[i] (%d)", initialValue.utf32[i]),
- sprintf("xstr[i] != dst.cha[i] (%d!=%d)", xstr[i], initialValue.utf32[i])
+ ssprintf("xstr[i] == dst.cha[i] (%d)", initialValue.utf32[i]),
+ ssprintf("xstr[i] != dst.cha[i] (%d!=%d)", xstr[i], initialValue.utf32[i])
);
}
return SimpleString();
@@ -628,15 +629,15 @@ SimpleString testchar32At_(const InitialValue& initialValue)
template
SimpleString testdataSized_()
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::dataSized()", XStringClassInfo::xStringClassName));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::dataSized()", XStringClassInfo::xStringClassName));
XStringClass xstr;
integralType i = 10;
typename XStringClassInfo::ch_t* s = xstr.dataSized(i);
(void)s;
CHECK_RESULT(xstr.allocatedSize() >= 10,
- sprintf("xstr[i] == dst.cha[i] (%d)", 10),
- sprintf("xstr[i] != dst.cha[i] (%zu!=%d)", xstr.allocatedSize(), 10)
+ ssprintf("xstr[i] == dst.cha[i] (%d)", 10),
+ ssprintf("xstr[i] != dst.cha[i] (%zu!=%d)", xstr.allocatedSize(), 10)
);
return SimpleString();
}
@@ -652,7 +653,7 @@ SimpleString testdataSized_()
template
SimpleString teststrcpy_(const TestStringSameAsClass& encodedSameAsClass, const TestStringSrc& src)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::strcpy(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::strcpy(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
XStringClass xstr;
xstr.takeValueFrom("foobar");
@@ -660,12 +661,12 @@ SimpleString teststrcpy_(const TestStringSameAsClass& encodedSameAsClass, const
size_t expectedSize = encodedSameAsClass.size*sizeof(encodedSameAsClass.cha[0]);
CHECK_RESULT(xstr.sizeInBytes() == expectedSize,
- sprintf("xstr.sizeInBytes() == dst.size (%zu)", expectedSize),
- sprintf("xstr.sizeInBytes() != dst.size (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
+ ssprintf("xstr.sizeInBytes() == dst.size (%zu)", expectedSize),
+ ssprintf("xstr.sizeInBytes() != dst.size (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
);
CHECK_RESULT(memcmp(xstr.s(), encodedSameAsClass.cha, expectedSize+sizeof(encodedSameAsClass.cha[0])) == 0,
- sprintf("memcmp(xstr.s(), dst.cha, dst.size) == 0"),
- sprintf("memcmp(xstr.s(), dst.cha, dst.size) != 0")
+ ssprintf("memcmp(xstr.s(), dst.cha, dst.size) == 0"),
+ ssprintf("memcmp(xstr.s(), dst.cha, dst.size) != 0")
);
return SimpleString();
}
@@ -682,7 +683,7 @@ SimpleString teststrcpy_(const TestStringSameAsClass& encodedSameAsClass, const
template
SimpleString teststrncpy_(const TestStringSameAsClass& encodedSameAsClass, const TestStringSrc& src)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::strncpy(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::strncpy(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(src.cha).c_str()));
for ( size_t i = 0 ; i < length_of_utf_string(src.cha)+5 ; i++ )
{
@@ -691,12 +692,12 @@ SimpleString teststrncpy_(const TestStringSameAsClass& encodedSameAsClass, const
xstr.strncpy(src.cha, i);
CHECK_RESULT((length_of_utf_string(encodedSameAsClass.cha) >= i && xstr.length() == i) || (xstr.length() == length_of_utf_string(encodedSameAsClass.cha)),
- sprintf("xstr.sizeInBytes() == dst.size (%zu)", xstr.sizeInBytes()),
- sprintf("xstr.sizeInBytes() != dst.size (%zu!=%zu)", xstr.sizeInBytes(), encodedSameAsClass.size)
+ ssprintf("xstr.sizeInBytes() == dst.size (%zu)", xstr.sizeInBytes()),
+ ssprintf("xstr.sizeInBytes() != dst.size (%zu!=%zu)", xstr.sizeInBytes(), encodedSameAsClass.size)
);
CHECK_RESULT(memcmp(xstr.s(), encodedSameAsClass.cha, xstr.sizeInBytes()) == 0,
- sprintf("memcmp(xstr.s(), dst.cha, dst.size) == 0"),
- sprintf("memcmp(xstr.s(), dst.cha, dst.size) != 0")
+ ssprintf("memcmp(xstr.s(), dst.cha, dst.size) == 0"),
+ ssprintf("memcmp(xstr.s(), dst.cha, dst.size) != 0")
);
}
return SimpleString();
@@ -714,28 +715,28 @@ template
static void teststrcatCheckResult(size_t expectedLength, size_t expectedSize, ch_t* expectedString, XStringClass xstr)
{
CHECK_RESULT(xstr.length() == expectedLength,
- sprintf("xstr.length() == expectedLength (%zu)", expectedLength),
- sprintf("xstr.length() != expectedLength (%zu!=%zu)", xstr.length(), expectedLength)
+ ssprintf("xstr.length() == expectedLength (%zu)", expectedLength),
+ ssprintf("xstr.length() != expectedLength (%zu!=%zu)", xstr.length(), expectedLength)
);
//expectedLength = length_of_utf_string(initialValue.cha) + length_of_utf_string(valueToCat.cha);
//xstr.takeValueFrom(initialValue.cha);
//xstr.strcat(valueToCat.cha);
CHECK_RESULT(xstr.sizeInBytes() == expectedSize,
- sprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize),
- sprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
+ ssprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize),
+ ssprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize)
);
CHECK_RESULT(memcmp(xstr.s(), expectedString, expectedSize+sizeof(ch_t)) == 0,
- sprintf("memcmp(xstr.s(), dst.cha, dst.size) == 0"),
- sprintf("memcmp(xstr.s(), dst.cha, dst.size) != 0")
+ ssprintf("memcmp(xstr.s(), dst.cha, dst.size) == 0"),
+ ssprintf("memcmp(xstr.s(), dst.cha, dst.size) != 0")
);
}
template
SimpleString teststrcat_(const InitialValue& initialValue, const ValueToCat& valueToCat)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::strcpy(%s\"%s\") strcat(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str(), XStringClassInfo::prefix, SimpleString(valueToCat.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::strcpy(%s\"%s\") strcat(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str(), XStringClassInfo::prefix, SimpleString(valueToCat.cha).c_str()));
typedef typename XStringClassInfo::ch_t ch_t;
ch_t c; // dummy for call utf function
@@ -815,7 +816,7 @@ SimpleString teststrcat_(const InitialValue& initialValue, const ValueToCat& val
template
SimpleString teststrncat_(const InitialValue& initialValue, const ValueToCat& valueToCat)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::strcpy(%s\"%s\") strncat(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str(), XStringClassInfo::prefix, SimpleString(valueToCat.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::strcpy(%s\"%s\") strncat(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str(), XStringClassInfo::prefix, SimpleString(valueToCat.cha).c_str()));
for ( size_t i = 0 ; i < valueToCat.utf32_length+5 ; i++ )
{
@@ -829,8 +830,8 @@ SimpleString teststrncat_(const InitialValue& initialValue, const ValueToCat& va
size_t expectedLength = length_of_utf_string(initialValue.cha) + min(i, valueToCat.utf32_length);
CHECK_RESULT(xstr.length() == expectedLength,
- sprintf("xstr.length() == expectedLength (%zu)", expectedLength),
- sprintf("xstr.length() != expectedLength (%zu!=%zu)", xstr.length(), expectedLength)
+ ssprintf("xstr.length() == expectedLength (%zu)", expectedLength),
+ ssprintf("xstr.length() != expectedLength (%zu!=%zu)", xstr.length(), expectedLength)
);
//expectedLength = length_of_utf_string(initialValue.cha) + min(i, valueToCat.utf32_length);
//xstr.takeValueFrom(initialValue.cha);
@@ -838,16 +839,16 @@ SimpleString teststrncat_(const InitialValue& initialValue, const ValueToCat& va
size_t expectedSize = (utf_size_of_utf_string(&c, initialValue.cha) + utf_size_of_utf_string_len(&c, valueToCat.cha, i));
CHECK_RESULT(xstr.sizeInBytes() == expectedSize * sizeof(ch_t),
- sprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize * sizeof(ch_t)),
- sprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize * sizeof(ch_t))
+ ssprintf("xstr.sizeInBytes() == expectedSize (%zu)", expectedSize * sizeof(ch_t)),
+ ssprintf("xstr.sizeInBytes() != expectedSize (%zu!=%zu)", xstr.sizeInBytes(), expectedSize * sizeof(ch_t))
);
ch_t* expectedString = (ch_t*)malloc((expectedSize+1)*sizeof(ch_t));
utf_string_from_utf_string(expectedString, expectedSize + 1, initialValue.cha);
utf_string_from_utf_string_len(expectedString + utf_size_of_utf_string(&c, initialValue.cha), expectedSize + 1 - size_of_utf_string(expectedString), valueToCat.cha, i);
CHECK_RESULT(memcmp(xstr.s(), expectedString, expectedSize+sizeof(ch_t)) == 0,
- sprintf("memcmp(xstr.s(), expectedString, dst.size) == 0"),
- sprintf("memcmp(xstr.s(), expectedString, dst.size) != 0")
+ ssprintf("memcmp(xstr.s(), expectedString, dst.size) == 0"),
+ ssprintf("memcmp(xstr.s(), expectedString, dst.size) != 0")
);
//utf_string_from_utf_string(expectedString, expectedSize*sizeof(XStringCharClass) + 1, initialValue.cha);
//utf_string_from_utf_string_len(expectedString + utf_size_of_utf_string(&c, initialValue.cha), expectedSize*sizeof(XStringCharClass) + 1 - size_of_utf_string(expectedString), valueToCat.cha, i);
@@ -873,7 +874,7 @@ SimpleString teststrncat_(const InitialValue& initialValue, const ValueToCat& va
template
SimpleString testSubString_(const InitialValue& initialValue)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::subString(%s\"%s\"", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::subString(%s\"%s\"", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str()));
typedef typename XStringClassInfo::ch_t ch_t;
ch_t c; // dummy for call utf function
@@ -897,12 +898,13 @@ SimpleString testSubString_(const InitialValue& initialValue)
XStringClass subStr = str.subString(pos, count);
CHECK_RESULT(subStr.length() == expectedLength,
- sprintf("subStr.length() == expectedLength (%zu)", expectedLength),
- sprintf("subStr.length() != expectedLength (%zu!=%zu)", subStr.length(), expectedLength)
+ ssprintf("subStr.length() == expectedLength (%zu)", expectedLength),
+ ssprintf("subStr.length() != expectedLength (%zu!=%zu)", subStr.length(), expectedLength)
);
+subStr = str.subString(pos, count);
CHECK_RESULT(memcmp(subStr.s(), initialValue.cha + offset, expectedSize) == 0,
- sprintf("memcmp == 0"),
- sprintf("memcmp != 0)")
+ ssprintf("memcmp == 0"),
+ ssprintf("memcmp != 0)")
);
}
}
@@ -942,13 +944,14 @@ CharType* incrementChar(const CharType* s, size_t pos, int increment)
s = get_char32_from_string(s, &char32);
n++;
}
+ *d = 0;
return buf;
}
template
SimpleString testCompare_(const InitialValue& initialValue)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::strcmp(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str()));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::strcmp(%s\"%s\")", XStringClassInfo::xStringClassName, XStringClassInfo::prefix, SimpleString(initialValue.cha).c_str()));
// typedef typename XStringClassInfo::ch_t xs_ch_t;
// ch_t c; // dummy for call utf function
@@ -960,34 +963,34 @@ SimpleString testCompare_(const InitialValue& initialValue)
xstr2.takeValueFrom(initialValue.cha);
CHECK_RESULT(xstr.strcmp(xstr2.s()) == 0,
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+ ssprintf("subStr.length() == 0"),
+ ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
);
- CHECK_RESULT(xstr == xstr2.s(),
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
- );
+// CHECK_RESULT(xstr == xstr2.s(),
+// ssprintf("subStr.length() == 0"),
+// ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+// );
CHECK_RESULT(xstr == xstr2,
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
- );
- CHECK_RESULT(!(xstr != xstr2.s()),
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+ ssprintf("subStr.length() == 0"),
+ ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
);
+// CHECK_RESULT(!(xstr != xstr2.s()),
+// ssprintf("subStr.length() == 0"),
+// ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+// );
CHECK_RESULT(!(xstr != xstr2),
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
- );
- CHECK_RESULT(!(xstr != xstr2.s()),
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+ ssprintf("subStr.length() == 0"),
+ ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
);
+// CHECK_RESULT(!(xstr != xstr2.s()),
+// ssprintf("subStr.length() == 0"),
+// ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+// );
CHECK_RESULT(!(xstr != xstr2),
- sprintf("subStr.length() == 0"),
- sprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
+ ssprintf("subStr.length() == 0"),
+ ssprintf("subStr.length() != 0 (%d)", xstr.strcmp(xstr2.s()))
);
//res = xstr.strcmp(xstr2.s());
@@ -997,109 +1000,111 @@ SimpleString testCompare_(const InitialValue& initialValue)
{
const ch_t* s = incrementChar(initialValue.cha, pos, 1);
CHECK_RESULT(xstr.strcmp(s) == -1,
- sprintf("xstr.strcmp(s) == -1"),
- sprintf("xstr.strcmp(s) != -1 (%d)", xstr.strcmp(s))
+ ssprintf("xstr.strcmp(s) == -1"),
+ ssprintf("xstr.strcmp(s) != -1 (%d)", xstr.strcmp(s))
);
/* operator comparison with native type */
- CHECK_RESULT(!(xstr == s),
- sprintf("!(xstr == s)"),
- sprintf("!!(xstr == s)")
- );
- CHECK_RESULT(!(s == xstr),
- sprintf("!(s == xstr)"),
- sprintf("!!(s == xstr)")
- );
- CHECK_RESULT(xstr != s,
- sprintf("xstr != s"),
- sprintf("!xstr != s")
- );
- CHECK_RESULT(s != xstr,
- sprintf("s != xstr"),
- sprintf("!s != xstr")
- );
- CHECK_RESULT(xstr < s,
- sprintf("xstr < s"),
- sprintf("!xstr < s")
- );
- CHECK_RESULT(s > xstr,
- sprintf("s > xstr"),
- sprintf("!s > xstr")
- );
- CHECK_RESULT(xstr <= s,
- sprintf("xstr <= s"),
- sprintf("!xstr <= s")
- );
- CHECK_RESULT(s >= xstr,
- sprintf("s >= xstr"),
- sprintf("!s >= xstr")
- );
- CHECK_RESULT(!(xstr > s),
- sprintf("!(xstr > s)"),
- sprintf("!!(xstr < s)")
- );
- CHECK_RESULT(!(s < xstr),
- sprintf("!(s < xstr)"),
- sprintf("!!(s < xstr)")
- );
- CHECK_RESULT(!(xstr >= s),
- sprintf("!(xstr >= s)"),
- sprintf("!!(xstr >= s)")
- );
- CHECK_RESULT(!(s <= xstr),
- sprintf("!(s <= xstr)"),
- sprintf("!!(s <= xstr)")
- );
+// CHECK_RESULT(!(xstr == s),
+// ssprintf("!(xstr == s)"),
+// ssprintf("!!(xstr == s)")
+// );
+// CHECK_RESULT(!(s == xstr),
+// ssprintf("!(s == xstr)"),
+// ssprintf("!!(s == xstr)")
+// );
+// CHECK_RESULT(xstr != s,
+// ssprintf("xstr != s"),
+// ssprintf("!xstr != s")
+// );
+// CHECK_RESULT(s != xstr,
+// ssprintf("s != xstr"),
+// ssprintf("!s != xstr")
+// );
+// CHECK_RESULT(xstr < s,
+// ssprintf("xstr < s"),
+// ssprintf("!xstr < s")
+// );
+// CHECK_RESULT(s > xstr,
+// ssprintf("s > xstr"),
+// ssprintf("!s > xstr")
+// );
+// CHECK_RESULT(xstr <= s,
+// ssprintf("xstr <= s"),
+// ssprintf("!xstr <= s")
+// );
+// CHECK_RESULT(s >= xstr,
+// ssprintf("s >= xstr"),
+// ssprintf("!s >= xstr")
+// );
+// CHECK_RESULT(!(xstr > s),
+// ssprintf("!(xstr > s)"),
+// ssprintf("!!(xstr < s)")
+// );
+// CHECK_RESULT(!(s < xstr),
+// ssprintf("!(s < xstr)"),
+// ssprintf("!!(s < xstr)")
+// );
+// CHECK_RESULT(!(xstr >= s),
+// ssprintf("!(xstr >= s)"),
+// ssprintf("!!(xstr >= s)")
+// );
+// CHECK_RESULT(!(s <= xstr),
+// ssprintf("!(s <= xstr)"),
+// ssprintf("!!(s <= xstr)")
+// );
/* operator comparison with other XString */
xstr2.takeValueFrom(s);
+
CHECK_RESULT(!(xstr == xstr2),
- sprintf("!(xstr == xstr2)"),
- sprintf("!!(xstr == xstr2)")
+ ssprintf("!(xstr == xstr2)"),
+ ssprintf("!!(xstr == xstr2)")
);
CHECK_RESULT(!(xstr2 == xstr),
- sprintf("!(xstr2 == xstr)"),
- sprintf("!!(xstr2 == xstr)")
+ ssprintf("!(xstr2 == xstr)"),
+ ssprintf("!!(xstr2 == xstr)")
);
CHECK_RESULT(xstr != xstr2,
- sprintf("xstr != xstr2"),
- sprintf("!xstr != xstr2")
+ ssprintf("xstr != xstr2"),
+ ssprintf("!xstr != xstr2")
);
CHECK_RESULT(xstr2 != xstr,
- sprintf("xstr2 != xstr"),
- sprintf("!xstr2 != xstr")
+ ssprintf("xstr2 != xstr"),
+ ssprintf("!xstr2 != xstr")
);
CHECK_RESULT(xstr < xstr2,
- sprintf("xstr < xstr2"),
- sprintf("!xstr < xstr2")
+ ssprintf("xstr < xstr2"),
+ ssprintf("!xstr < xstr2")
);
CHECK_RESULT(xstr2 > xstr,
- sprintf("xstr2 > xstr"),
- sprintf("!xstr2 > xstr")
+ ssprintf("xstr2 > xstr"),
+ ssprintf("!xstr2 > xstr")
);
CHECK_RESULT(xstr <= xstr2,
- sprintf("xstr <= xstr2"),
- sprintf("!xstr <= xstr2")
+ ssprintf("xstr <= xstr2"),
+ ssprintf("!xstr <= xstr2")
);
CHECK_RESULT(xstr2 >= xstr,
- sprintf("xstr2 >= xstr"),
- sprintf("!xstr2 >= xstr")
+ ssprintf("xstr2 >= xstr"),
+ ssprintf("!xstr2 >= xstr")
);
CHECK_RESULT(!(xstr > xstr2),
- sprintf("!(xstr > xstr2)"),
- sprintf("!!(xstr < xstr2)")
+ ssprintf("!(xstr > xstr2)"),
+ ssprintf("!!(xstr < xstr2)")
);
CHECK_RESULT(!(xstr2 < xstr),
- sprintf("!(xstr2 < xstr)"),
- sprintf("!!(xstr2 < xstr)")
+ ssprintf("!(xstr2 < xstr)"),
+ ssprintf("!!(xstr2 < xstr)")
);
CHECK_RESULT(!(xstr >= xstr2),
- sprintf("!(xstr >= xstr2)"),
- sprintf("!!(xstr >= xstr2)")
+ ssprintf("!(xstr >= xstr2)"),
+ ssprintf("!!(xstr >= xstr2)")
);
CHECK_RESULT(!(xstr2 <= xstr),
- sprintf("!(xstr2 <= xstr)"),
- sprintf("!!(xstr2 <= xstr)")
+ ssprintf("!(xstr2 <= xstr)"),
+ ssprintf("!!(xstr2 <= xstr)")
);
+ free((void*)s);
}
@@ -1107,8 +1112,8 @@ SimpleString testCompare_(const InitialValue& initialValue)
{
const ch_t* s = incrementChar(initialValue.cha, pos, -1);
CHECK_RESULT(xstr.strcmp(s) == 1,
- sprintf("xstr.strcmp(s) == 1"),
- sprintf("xstr.strcmp(s) != 1 (%d)", xstr.strcmp(s))
+ ssprintf("xstr.strcmp(s) == 1"),
+ ssprintf("xstr.strcmp(s) != 1 (%d)", xstr.strcmp(s))
);
//const ch_t* s2 = incrementChar(initialValue.cha, pos, 1);
}
@@ -1139,27 +1144,27 @@ static void testindexOf__(XStringClass subStr, bool ignoreCase,
testStr = subStr;
if ( ignoreCase ) testStr.lowerAscii();
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 0,
- sprintf("testStr.indexOf(subStr.s(), 0) == 0"),
- sprintf("testStr.indexOf(subStr.s(), 0) != 0 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("testStr.indexOf(subStr.s(), 0) == 0"),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 0 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
(testStr.*indexOfString)(subStr.s(), 0);
size_t expectedPos = subStr.length()==0 ? testStr.length() : 0;
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == expectedPos,
- sprintf("testStr.indexOf(subStr.s(), 0) == expectedPos (%zu)", expectedPos),
- sprintf("testStr.indexOf(subStr.s(), 0) != 0 (%zu!=%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1), expectedPos)
+ ssprintf("testStr.indexOf(subStr.s(), 0) == expectedPos (%zu)", expectedPos),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 0 (%zu!=%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1), expectedPos)
);
(testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1);
XStringClass apple;
apple.takeValueFrom("");
CHECK_RESULT((testStr.*indexOfString)(apple.s(), 0) == MAX_XSIZE,
- sprintf("testStr.*indexOfString)(\"\", 0) == MAX_XSIZE"),
- sprintf("testStr.*indexOfString)(\"\", 0) != MAX_XSIZE (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("testStr.*indexOfString)(\"\", 0) == MAX_XSIZE"),
+ ssprintf("testStr.*indexOfString)(\"\", 0) != MAX_XSIZE (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
//(testStr.*indexOfString)("");
CHECK_RESULT((testStr.*rindexOfString)(apple.s(), MAX_XSIZE-1) == MAX_XSIZE,
- sprintf("(testStr.*rindexOfString)(\"\", MAX_XSIZE-1) == MAX_XSIZE"),
- sprintf("(testStr.*rindexOfString)(\"\", MAX_XSIZE-1) != MAX_XSIZE (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
+ ssprintf("(testStr.*rindexOfString)(\"\", MAX_XSIZE-1) == MAX_XSIZE"),
+ ssprintf("(testStr.*rindexOfString)(\"\", MAX_XSIZE-1) != MAX_XSIZE (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
);
if ( subStr.length() > 0 )
@@ -1168,30 +1173,30 @@ static void testindexOf__(XStringClass subStr, bool ignoreCase,
testStr.strcat(subStr.s());
if ( ignoreCase ) testStr.lowerAscii();
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 3,
- sprintf("testStr.indexOf(subStr.s(), 0) == 3"),
- sprintf("testStr.indexOf(subStr.s(), 0) != 3 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("testStr.indexOf(subStr.s(), 0) == 3"),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 3 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
(testStr.*indexOfString)(subStr.s(), 0);
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 3,
- sprintf("(testStr.*indexOfString)(subStr.s(), 0) == 3"),
- sprintf("(testStr.*indexOfString)(subStr.s(), 0) != 3 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("(testStr.*indexOfString)(subStr.s(), 0) == 3"),
+ ssprintf("(testStr.*indexOfString)(subStr.s(), 0) != 3 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
CHECK_RESULT((testStr.*indexOfChar)(subStr[0], 0) == 3,
- sprintf("(testStr.*indexOfString)(subStr[0]) == 3"),
- sprintf("(testStr.*indexOfString)(subStr[0]) != 3 (%zu)", (testStr.*indexOfChar)(subStr[0], 0))
+ ssprintf("(testStr.*indexOfString)(subStr[0]) == 3"),
+ ssprintf("(testStr.*indexOfString)(subStr[0]) != 3 (%zu)", (testStr.*indexOfChar)(subStr[0], 0))
);
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == 3,
- sprintf("testStr.indexOf(subStr.s(), MAX_XSIZE-1) == 3"),
- sprintf("testStr.indexOf(subStr.s(), MAX_XSIZE-1) != 3 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
+ ssprintf("testStr.indexOf(subStr.s(), MAX_XSIZE-1) == 3"),
+ ssprintf("testStr.indexOf(subStr.s(), MAX_XSIZE-1) != 3 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
);
(testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1);
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == 3,
- sprintf("(testStr.*rindexOfString)(subStr.s(), 0) == 3"),
- sprintf("(testStr.*rindexOfString)(subStr.s(), 0) != 3 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
+ ssprintf("(testStr.*rindexOfString)(subStr.s(), 0) == 3"),
+ ssprintf("(testStr.*rindexOfString)(subStr.s(), 0) != 3 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
);
CHECK_RESULT((testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1) == 3 + subStr.length() - 1,
- sprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 3 + subStr.length() - 1 (%zu)", 3 + subStr.length() - 1),
- sprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 3 + subStr.length() - 1 (%zu!=%zu)", (testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1), 3 + subStr.length() - 1)
+ ssprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 3 + subStr.length() - 1 (%zu)", 3 + subStr.length() - 1),
+ ssprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 3 + subStr.length() - 1 (%zu!=%zu)", (testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1), 3 + subStr.length() - 1)
);
testStr.takeValueFrom("");
@@ -1199,29 +1204,29 @@ static void testindexOf__(XStringClass subStr, bool ignoreCase,
testStr.strcat("");
if ( ignoreCase ) testStr.lowerAscii();
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 4,
- sprintf("testStr.indexOf(subStr.s(), 0) == 4"),
- sprintf("testStr.indexOf(subStr.s(), 0) != 4 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("testStr.indexOf(subStr.s(), 0) == 4"),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 4 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
(testStr.*indexOfString)(subStr.s(), 0);
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 4,
- sprintf("(testStr.*indexOfString)(subStr.s(), 0) == 4"),
- sprintf("(testStr.*indexOfString)(subStr.s(), 0) != 4 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("(testStr.*indexOfString)(subStr.s(), 0) == 4"),
+ ssprintf("(testStr.*indexOfString)(subStr.s(), 0) != 4 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
CHECK_RESULT((testStr.*indexOfChar)(subStr[0], 0) == 4,
- sprintf("(testStr.*indexOfString)(subStr[0]) == 4"),
- sprintf("(testStr.*indexOfString)(subStr[0]) != 4 (%zu)", (testStr.*indexOfChar)(subStr[0], 0))
+ ssprintf("(testStr.*indexOfString)(subStr[0]) == 4"),
+ ssprintf("(testStr.*indexOfString)(subStr[0]) != 4 (%zu)", (testStr.*indexOfChar)(subStr[0], 0))
);
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == 4,
- sprintf("testStr.indexOf(subStr.s(), 0) == 4"),
- sprintf("testStr.indexOf(subStr.s(), 0) != 4 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
+ ssprintf("testStr.indexOf(subStr.s(), 0) == 4"),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 4 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
);
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == 4,
- sprintf("(testStr.*rindexOfString)(subStr.s(), 0) == 4"),
- sprintf("(testStr.*rindexOfString)(subStr.s(), 0) != 4 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
+ ssprintf("(testStr.*rindexOfString)(subStr.s(), 0) == 4"),
+ ssprintf("(testStr.*rindexOfString)(subStr.s(), 0) != 4 (%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1))
);
CHECK_RESULT((testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1) == 4 + subStr.length() - 1,
- sprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 4 + subStr.length() - 1 (%zu)", 4 + subStr.length() - 1),
- sprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 4 + subStr.length() - 1 (%zu!=%zu)", (testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1), 4 + subStr.length() - 1)
+ ssprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 4 + subStr.length() - 1 (%zu)", 4 + subStr.length() - 1),
+ ssprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 4 + subStr.length() - 1 (%zu!=%zu)", (testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1), 4 + subStr.length() - 1)
);
testStr.takeValueFrom("");
@@ -1231,29 +1236,29 @@ static void testindexOf__(XStringClass subStr, bool ignoreCase,
testStr.strcat("");
if ( ignoreCase ) testStr.lowerAscii();
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 5,
- sprintf("testStr.indexOf(subStr.s(), 0) == 5"),
- sprintf("testStr.indexOf(subStr.s(), 0) != 5 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("testStr.indexOf(subStr.s(), 0) == 5"),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 5 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
CHECK_RESULT((testStr.*indexOfString)(subStr.s(), 0) == 5,
- sprintf("(testStr.*indexOfString)(subStr.s(), 0) == 5"),
- sprintf("(testStr.*indexOfString)(subStr.s(), 0) != 5 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
+ ssprintf("(testStr.*indexOfString)(subStr.s(), 0) == 5"),
+ ssprintf("(testStr.*indexOfString)(subStr.s(), 0) != 5 (%zu)", (testStr.*indexOfString)(subStr.s(), 0))
);
CHECK_RESULT((testStr.*indexOfChar)(subStr[0], 0) == 5,
- sprintf("(testStr.*indexOfString)(subStr[0]) == 5"),
- sprintf("(testStr.*indexOfString)(subStr[0]) != 5 (%zu)", (testStr.*indexOfChar)(subStr[0], 0))
+ ssprintf("(testStr.*indexOfString)(subStr[0]) == 5"),
+ ssprintf("(testStr.*indexOfString)(subStr[0]) != 5 (%zu)", (testStr.*indexOfChar)(subStr[0], 0))
);
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == 5 + subStr.length() + 6,
- sprintf("testStr.indexOf(subStr.s(), 0) == 5 + subStr.length() + 6"),
- sprintf("testStr.indexOf(subStr.s(), 0) != 5 + subStr.length() + 6 (%zu!=%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1), 5 + subStr.length() + 6)
+ ssprintf("testStr.indexOf(subStr.s(), 0) == 5 + subStr.length() + 6"),
+ ssprintf("testStr.indexOf(subStr.s(), 0) != 5 + subStr.length() + 6 (%zu!=%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1), 5 + subStr.length() + 6)
);
(testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1);
CHECK_RESULT((testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1) == 5 + subStr.length() + 6,
- sprintf("(testStr.*rindexOfString)(subStr.s(), 0) == 5 + subStr.length() + 6"),
- sprintf("(testStr.*rindexOfString)(subStr.s(), 0) != 5 + subStr.length() + 6 (%zu!=%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1), 5 + subStr.length() + 6)
+ ssprintf("(testStr.*rindexOfString)(subStr.s(), 0) == 5 + subStr.length() + 6"),
+ ssprintf("(testStr.*rindexOfString)(subStr.s(), 0) != 5 + subStr.length() + 6 (%zu!=%zu)", (testStr.*rindexOfString)(subStr.s(), MAX_XSIZE-1), 5 + subStr.length() + 6)
);
CHECK_RESULT((testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1) == 5 + subStr.length() + 6 + subStr.length() - 1,
- sprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 5 + subStr.length() + 6 + subStr.length() - 1 (%zu)", 5 + subStr.length() + 6 + subStr.length() - 1),
- sprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 5 + subStr.length() + 6 + subStr.length() - 1 (%zu!=%zu)", (testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1), 5 + subStr.length() + 6 + subStr.length() - 1)
+ ssprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 5 + subStr.length() + 6 + subStr.length() - 1 (%zu)", 5 + subStr.length() + 6 + subStr.length() - 1),
+ ssprintf("(testStr.*rindexOfString)(subStr[subStr.length()-1]) == 5 + subStr.length() + 6 + subStr.length() - 1 (%zu!=%zu)", (testStr.*rindexOfChar)(subStr[subStr.length()-1], MAX_XSIZE-1), 5 + subStr.length() + 6 + subStr.length() - 1)
);
}
}
@@ -1261,7 +1266,7 @@ static void testindexOf__(XStringClass subStr, bool ignoreCase,
template
SimpleString testindexOf_(const InitialValue& initialValue)
{
- TEST_TITLE(displayOnlyFailed, sprintf("Test %s::idxOf", XStringClassInfo::xStringClassName));
+ TEST_TITLE(displayOnlyFailed, ssprintf("Test %s::idxOf", XStringClassInfo::xStringClassName));
typedef typename XStringClassInfo::xs_t ixs_t;
typedef typename XStringClassInfo::ch_t ich_t;
@@ -1317,7 +1322,7 @@ void func_test(XStringW& xsw)
int XString_tests()
{
#ifdef JIEF_DEBUG
-// DebugLog(2, "XString16_tests -> Enter\n");
+// printf("XString16_tests -> Enter\n");
#endif
//const char c = ' ';
@@ -1354,10 +1359,6 @@ xw1.dataSized(ll);
// testDefaultCtor("XString");
// XString16 a = u"toto"_XS16;
-// teststrncpy_("utf8", testStringMultiCodedArray[1].utf8, testStringMultiCodedArray[1].wchar);
-//testindexOf(XString, utf8, utf16);
-//testCompare(XString, utf8, utf8);
-//testindexOf_(testStringMultiCoded4CaseArray[0].utf8);
const char* utf8 = "ギ"; (void)utf8;
size_t utf8_size = sizeof("ギ") - 1; (void)utf8_size; // this char is 6 bytes long !
@@ -1372,24 +1373,29 @@ size_t utf32_size = sizeof(U"ギ") - 1; (void)utf32_size; // this char is 6 b
//size_t size = sizeof("楘")-1; // this char is 3 bytes long
//XString str = "ギꇉ伽楘"_XS;
//char* s = str.data(42);
-TEST_ALL_CLASSES(testchar32At, TEST_ALL_INTEGRAL);
+
+
+//teststrncpy_("utf8", testStringMultiCodedArray[1].utf8, testStringMultiCodedArray[1].wchar);
+//testindexOf(XString, utf8, utf16);
+testCompare(XString, utf8, utf16);
+//testindexOf_(testStringMultiCoded4CaseArray[0].utf8);
- TEST_ALL_CLASSES(testDefaultCtor, __TEST0);
- TEST_ALL_CLASSES(testEmpty, __TEST0);
- TEST_ALL_CLASSES(testTakeValueFrom, TEST_ALL_UTF);
- TEST_ALL_CLASSES(testTakeValueFromXString, TEST_ALL_UTF);
- TEST_ALL_CLASSES(testchar32At, TEST_ALL_INTEGRAL);
- TEST_ALL_CLASSES(testdataSized, TEST_ALL_INTEGRAL);
-
- TEST_ALL_CLASSES(teststrcpy, TEST_ALL_UTF);
- TEST_ALL_CLASSES(teststrncpy, TEST_ALL_UTF); // 26944 tests
- TEST_ALL_CLASSES(teststrcat, TEST_ALL_UTF_ALL_UTF);
- TEST_ALL_CLASSES(teststrncat, TEST_ALL_UTF_ALL_UTF); // 2101632 tests
-
- TEST_ALL_CLASSES(testSubString, __TEST0);
+// TEST_ALL_CLASSES(testDefaultCtor, __TEST0);
+// TEST_ALL_CLASSES(testEmpty, __TEST0);
+// TEST_ALL_CLASSES(testTakeValueFrom, TEST_ALL_UTF);
+// TEST_ALL_CLASSES(testTakeValueFromXString, TEST_ALL_UTF);
+// TEST_ALL_CLASSES(testchar32At, TEST_ALL_INTEGRAL);
+// TEST_ALL_CLASSES(testdataSized, TEST_ALL_INTEGRAL);
+//
+// TEST_ALL_CLASSES(teststrcpy, TEST_ALL_UTF);
+// TEST_ALL_CLASSES(teststrncpy, TEST_ALL_UTF); // 26944 tests
+// TEST_ALL_CLASSES(teststrcat, TEST_ALL_UTF_ALL_UTF);
+// TEST_ALL_CLASSES(teststrncat, TEST_ALL_UTF_ALL_UTF); // 2101632 tests
+//
+// TEST_ALL_CLASSES(testSubString, __TEST0);
TEST_ALL_CLASSES(testCompare, TEST_ALL_UTF);
TEST_ALL_CLASSES(testindexOf, TEST_ALL_UTF);
@@ -1398,7 +1404,7 @@ TEST_ALL_CLASSES(testchar32At, TEST_ALL_INTEGRAL);
//
//// str2.insert(1, str);
//
-// str2.SPrintf("%c", 'a'); // signle UTF8 ascii char
+// str2.ssprintf("%c", 'a'); // signle UTF8 ascii char
// if ( str2 != L"a" ) return
@@ -1410,7 +1416,7 @@ TEST_ALL_CLASSES(testchar32At, TEST_ALL_INTEGRAL);
#ifdef JIEF_DEBUG
if ( nbTestFailed == 0 ) printf("All %d tests succeeded.\n", nbTest);
- else printf("%d tests succeeded out of %d.\n", nbTest-nbTestFailed, nbTestFailed);
+ else printf("%d tests succeeded out of %d.\n", nbTest-nbTestFailed, nbTest);
#endif
- return 0;
+ return nbTestFailed > 0;
}
diff --git a/rEFIt_UEFI/cpp_unit_test/all_tests.cpp b/rEFIt_UEFI/cpp_unit_test/all_tests.cpp
index 1cf19a0c7..695faf9c6 100755
--- a/rEFIt_UEFI/cpp_unit_test/all_tests.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/all_tests.cpp
@@ -33,77 +33,77 @@ bool all_tests()
ret = XString_tests();
if ( ret != 0 ) {
- DebugLog(2, "XString16_tests() failed at test %d\n", ret);
+ printf("XString16_tests() failed at test %d\n", ret);
all_ok = false;
}
//return ret;
// ret = XUINTN_tests();
// if ( ret != 0 ) {
-// DebugLog(2, "XUINTN_tests() failed at test %d\n", ret);
+// printf("XUINTN_tests() failed at test %d\n", ret);
// all_ok = false;
// }
#if defined(JIEF_DEBUG) && defined(CLOVER_BUILD)
ret = printlib_tests();
if ( ret != 0 ) {
- DebugLog(2, "printlib_tests() failed at test %d\n", ret);
+ printf("printlib_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = poolprint_tests();
if ( ret != 0 ) {
- DebugLog(2, "poolprint_tests() failed at test %d\n", ret);
+ printf("poolprint_tests() failed at test %d\n", ret);
all_ok = false;
}
- #endif
+#endif
#ifndef _MSC_VER
ret = printf_lite_tests();
if ( ret != 0 ) {
- DebugLog(2, "printf_lite_tests() failed at test %d\n", ret);
+ printf("printf_lite_tests() failed at test %d\n", ret);
all_ok = false;
}
#endif
ret = strlen_tests();
if ( ret != 0 ) {
- DebugLog(2, "strlen_tests() failed at test %d\n", ret);
+ printf("strlen_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = BootOptions_tests();
if ( ret != 0 ) {
- DebugLog(2, "BootOptions_tests() failed at test %d\n", ret);
+ printf("BootOptions_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = strcmp_tests();
if ( ret != 0 ) {
- DebugLog(2, "strcmp_tests() failed at test %d\n", ret);
+ printf("strcmp_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = strncmp_tests();
if ( ret != 0 ) {
- DebugLog(2, "strncmp_tests() failed at test %d\n", ret);
+ printf("strncmp_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = XArray_tests();
if ( ret != 0 ) {
- DebugLog(2, "XArray_tests() failed at test %d\n", ret);
+ printf("XArray_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = XObjArray_tests();
if ( ret != 0 ) {
- DebugLog(2, "XObjArray_tests() failed at test %d\n", ret);
+ printf("XObjArray_tests() failed at test %d\n", ret);
all_ok = false;
}
ret = XStringWArray_tests();
if ( ret != 0 ) {
- DebugLog(2, "XStringWArray_tests() failed at test %d\n", ret);
+ printf("XStringWArray_tests() failed at test %d\n", ret);
all_ok = false;
}
// ret = XUINTN_tests();
// if ( ret != 0 ) {
-// DebugLog(2, "XUINTN_tests() failed at test %d\n", ret);
+// printf("XUINTN_tests() failed at test %d\n", ret);
// all_ok = false;
// }
if ( !all_ok ) {
- DebugLog(2, "A test failed\n");
+ printf("A test failed\n");
}
#if defined(JIEF_DEBUG)
diff --git a/rEFIt_UEFI/cpp_unit_test/poolprint-test-cpp_conf.h b/rEFIt_UEFI/cpp_unit_test/poolprint-test-cpp_conf.h
index d111af183..5f3de17d9 100644
--- a/rEFIt_UEFI/cpp_unit_test/poolprint-test-cpp_conf.h
+++ b/rEFIt_UEFI/cpp_unit_test/poolprint-test-cpp_conf.h
@@ -4,7 +4,7 @@
#define PRIF "%a"
#define PRILF "%s"
-#define loggf(...) DebugLog(2, __VA_ARGS__)
+#define loggf(...) printf(__VA_ARGS__)
//#define loggf(...) printf(__VA_ARGS__)
#define DISPLAY_ONLY_FAILED
diff --git a/rEFIt_UEFI/cpp_unit_test/printf_lite-test-cpp_conf.h b/rEFIt_UEFI/cpp_unit_test/printf_lite-test-cpp_conf.h
index 5de3d2a1e..80d4300f4 100644
--- a/rEFIt_UEFI/cpp_unit_test/printf_lite-test-cpp_conf.h
+++ b/rEFIt_UEFI/cpp_unit_test/printf_lite-test-cpp_conf.h
@@ -4,7 +4,7 @@
#define PRIF "%s"
#define PRILF "%ls"
-#define loggf(...) DebugLog(2, __VA_ARGS__)
+#define loggf(...) printf(__VA_ARGS__)
//#define loggf(...) printf(__VA_ARGS__)
#define DISPLAY_ONLY_FAILED
diff --git a/rEFIt_UEFI/cpp_unit_test/printf_lite-test.cpp b/rEFIt_UEFI/cpp_unit_test/printf_lite-test.cpp
index 8a5f0d9f0..108c1c43e 100755
--- a/rEFIt_UEFI/cpp_unit_test/printf_lite-test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/printf_lite-test.cpp
@@ -288,22 +288,22 @@ int printf_lite_tests(void)
Test1arg(F("| c|"), F("|%5x|"), 12);
Test1arg(F("| C|"), F("|%5X|"), 12);
- Test1arg(F("| -12|"), F("|%5hhd|"), (char)-12);
- Test1arg(F("| -12|"), F("|%5d|"), (char)-12);
+ Test1arg(F("| -12|"), F("|%5hhd|"), (signed char)-12);
+ Test1arg(F("| -12|"), F("|%5d|"), (signed char)-12);
Test1arg(F("| -12|"), F("|%5hd|"), (short)-12);
Test1arg(F("| -12|"), F("|%5d|"), -12);
Test1arg(F("| -12|"), F("|%5ld|"), -12L);
Test1arg(F("| -12|"), F("|%5lld|"), -12LL);
- Test1arg(F("| 244|"), F("|%5hhu|"), (char)-12);
- Test1arg(F("|4294967284|"), F("|%5u|"), (char)-12);
+ Test1arg(F("| 244|"), F("|%5hhu|"), (signed char)-12);
+ Test1arg(F("|4294967284|"), F("|%5u|"), (signed char)-12);
Test1arg(F("|65524|"), F("|%5hu|"), (short)-12);
Test1arg(F("|4294967284|"), F("|%5u|"), -12);
Test1arg(F("|18446744073709551604|"), F("|%5lu|"), -12L);
Test1arg(F("|18446744073709551604|"), F("|%5llu|"), -12LL);
- Test1arg(F("| f4|"), F("|%5hhx|"), (char)-12);
- Test1arg(F("|fffffff4|"), F("|%5x|"), (char)-12);
+ Test1arg(F("| f4|"), F("|%5hhx|"), (signed char)-12);
+ Test1arg(F("|fffffff4|"), F("|%5x|"), (signed char)-12);
Test1arg(F("| fff4|"), F("|%5hx|"), (short)-12);
Test1arg(F("|fffffff4|"), F("|%5x|"), -12);
Test1arg(F("|fffffffffffffff4|"), F("|%5lx|"), -12L);
diff --git a/rEFIt_UEFI/cpp_unit_test/printlib-test-cpp_conf.h b/rEFIt_UEFI/cpp_unit_test/printlib-test-cpp_conf.h
index 5de3d2a1e..80d4300f4 100644
--- a/rEFIt_UEFI/cpp_unit_test/printlib-test-cpp_conf.h
+++ b/rEFIt_UEFI/cpp_unit_test/printlib-test-cpp_conf.h
@@ -4,7 +4,7 @@
#define PRIF "%s"
#define PRILF "%ls"
-#define loggf(...) DebugLog(2, __VA_ARGS__)
+#define loggf(...) printf(__VA_ARGS__)
//#define loggf(...) printf(__VA_ARGS__)
#define DISPLAY_ONLY_FAILED
diff --git a/rEFIt_UEFI/cpp_unit_test/strcmp_test.cpp b/rEFIt_UEFI/cpp_unit_test/strcmp_test.cpp
index e47397000..cade8c823 100755
--- a/rEFIt_UEFI/cpp_unit_test/strcmp_test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/strcmp_test.cpp
@@ -45,7 +45,7 @@ static int compare(const char*s1, const char*s2)
int ret2 = strcmp_reference(s1, s2);;
if ( sign(ret1) != sign(ret2) ) {
- DebugLog(2, "Comparing '%s' and '%s' gives %d and should have given %d\n", s1, s2, ret1, ret2);
+ printf("Comparing '%s' and '%s' gives %d and should have given %d\n", s1, s2, ret1, ret2);
return 1; // whatever if not 0
}
return 0;
@@ -101,7 +101,7 @@ static int compare_s1_with_variable_sizes(const char* s1, int code)
{
size_t count = (size_t)(rndf()*sizeof(s2)-1);
if ( count >= sizeof(s2) ) {
- DebugLog(2, "compare_s1_with_variable_sizes, BUG : sizeof=%lu, count=%zu\n", sizeof(s2), count);
+ printf("compare_s1_with_variable_sizes, BUG : sizeof=%lu, count=%zu\n", sizeof(s2), count);
continue;
}
fillRandom(s2, count);
diff --git a/rEFIt_UEFI/cpp_unit_test/strlen_test.cpp b/rEFIt_UEFI/cpp_unit_test/strlen_test.cpp
index 2df2217b5..6fefd2bbc 100755
--- a/rEFIt_UEFI/cpp_unit_test/strlen_test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/strlen_test.cpp
@@ -7,12 +7,12 @@
static int len(const char* s1, size_t count, int code)
{
-//DebugLog(2, "strlen of '%s'\n", s1);
+//printf("strlen of '%s'\n", s1);
size_t ret1 = strlen(s1);
if ( ret1 != count ) {
- DebugLog(2, "strlen of '%s' gives %zu and should have given %zu\n", s1, ret1, count);
+ printf("strlen of '%s' gives %zu and should have given %zu\n", s1, ret1, count);
return code;
}
return 0;
@@ -59,7 +59,7 @@ int strlen_tests()
{
#ifdef JIEF_DEBUG
-// DebugLog(2, "XStringW_tests -> Enter\n");
+// printf("XStringW_tests -> Enter\n");
#endif
const char* s;
s = "1234567890"; // use intermediary var to not be optimized out.
@@ -77,15 +77,15 @@ int strlen_tests()
#ifdef CLOVER_BUILD
// UINTN start = AsmReadTsc();
-// DebugLog(2, "strlen_tests -> Enter\n");
+// printf("strlen_tests -> Enter\n");
//
// for ( UINTN i=0 ; i<100000 ; i++ ) {
// ret = strlen_s1_all_offset(s, 50, 10);
// }
//
-// DebugLog(2, "strlen_tests -> Exit\n");
+// printf("strlen_tests -> Exit\n");
// UINTN end = AsmReadTsc();
-// DebugLog(2, "Strlen bench time = %d\n", end - start);
+// printf("Strlen bench time = %d\n", end - start);
#endif
diff --git a/rEFIt_UEFI/cpp_unit_test/strncmp_test.cpp b/rEFIt_UEFI/cpp_unit_test/strncmp_test.cpp
index 054700da3..929233d76 100755
--- a/rEFIt_UEFI/cpp_unit_test/strncmp_test.cpp
+++ b/rEFIt_UEFI/cpp_unit_test/strncmp_test.cpp
@@ -52,12 +52,12 @@ static int nb_compare = 0;
static int compare(const char*s1, const char*s2, size_t count)
{
nb_compare ++;
-//DebugLog(2, "Comparing '%s' and '%s' with count %d\n", s1, s2, count);
+//printf("Comparing '%s' and '%s' with count %d\n", s1, s2, count);
int ret1 = strncmp(s1, s2, count);
int ret2 = strncmp_reference(s1, s2, count);
if ( sign(ret1) != sign(ret2) ) {
- DebugLog(2, "Comparing '%s' and '%s' with count %zu gives %d and should have given %d\n", s1, s2, count, ret1, ret2);
+ printf("Comparing '%s' and '%s' with count %zu gives %d and should have given %d\n", s1, s2, count, ret1, ret2);
int ret3 = strncmp(s1, s2, count); // for live debugging
(void)ret3;
return 1; // whatever if not 0
@@ -141,7 +141,7 @@ static int compare_s1_with_variable_sizes(const char* s1, size_t s1count, int co
{
size_t s2count = (size_t)(rndf()*sizeof(s2)-1);
if ( s2count >= sizeof(s2) ) {
- DebugLog(2, "compare_s1_with_variable_sizes, BUG : sizeof=%lu, count=%zu\n", sizeof(s2), s2count);
+ printf("compare_s1_with_variable_sizes, BUG : sizeof=%lu, count=%zu\n", sizeof(s2), s2count);
continue;
}
fillRandom(s2, s2count);
diff --git a/rEFIt_UEFI/cpp_util/panic.cpp b/rEFIt_UEFI/cpp_util/panic.cpp
deleted file mode 100644
index 661e7ecbf..000000000
--- a/rEFIt_UEFI/cpp_util/panic.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-#include "panic.h"
-#include
-
-//extern "C" {
-//#include // for CpuDeadLoop
-//}
-
-bool stop_at_panic = true;
-bool i_have_panicked = false;
-
-/*
- *
- * Function panic_ seems useless. It's same as panic(). It's to be able to put a breakpoint in gdb with br panic_(). This is done in gdb_launch script in Qemu
- */
-static void panic_(const char* s)
-{
- if ( s ) DebugLog(2, "%s\n", s);
- DebugLog(2, "A fatal error happened. System halted\n");
- CpuDeadLoop();
-}
-
-
-void panic(const char* s)
-{
- if ( stop_at_panic ) {
- panic_(s);
- }else{
- i_have_panicked = true;
- }
-}
-
-
-void panic(void)
-{
- panic(nullptr);
-}