gnucash stable: [gnc-unicode] bugfix strings compare equality should return 0

Christopher Lam clam at code.gnucash.org
Sat Jun 14 22:51:34 EDT 2025


Updated	 via  https://github.com/Gnucash/gnucash/commit/48b1f514 (commit)
	from  https://github.com/Gnucash/gnucash/commit/5ca4c8c5 (commit)



commit 48b1f5143297e8f9534890ddc6b2b59b43643ef4
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Sun Jun 15 10:44:51 2025 +0800

    [gnc-unicode] bugfix strings compare equality should return 0

diff --git a/libgnucash/core-utils/gnc-unicode.cpp b/libgnucash/core-utils/gnc-unicode.cpp
index 6a44df33da..2933c57695 100644
--- a/libgnucash/core-utils/gnc-unicode.cpp
+++ b/libgnucash/core-utils/gnc-unicode.cpp
@@ -194,7 +194,7 @@ unicode_compare_internal(const char* one, const char* two,
     }
 
     g_free(locale);
-    return result == UCOL_LESS ? -1 : UCOL_EQUAL ? 0 : 1;
+    return result == UCOL_LESS ? -1 : result == UCOL_EQUAL ? 0 : 1;
 }
 
 int
diff --git a/libgnucash/core-utils/test/gtest-gnc-unicode.cpp b/libgnucash/core-utils/test/gtest-gnc-unicode.cpp
index 4f97b79492..9f56f142dd 100644
--- a/libgnucash/core-utils/test/gtest-gnc-unicode.cpp
+++ b/libgnucash/core-utils/test/gtest-gnc-unicode.cpp
@@ -133,3 +133,10 @@ TEST(GncUnicode, test_german_ss_decorated_accented_nocap)
     EXPECT_EQ(0, pos);
     EXPECT_EQ(0, len);
 }
+
+TEST (GncUnicode, test_simple_identical)
+{
+    EXPECT_EQ (gnc_unicode_compare_identical ("alice", "alice"), 0);
+    EXPECT_EQ (gnc_unicode_compare_identical ("alice", "bob"), -1);
+    EXPECT_EQ (gnc_unicode_compare_identical ("bob", "alice"), 1);
+}



Summary of changes:
 libgnucash/core-utils/gnc-unicode.cpp            | 2 +-
 libgnucash/core-utils/test/gtest-gnc-unicode.cpp | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)



More information about the gnucash-changes mailing list