From 3c5a1801e29ed824287e95fdca57084c965e757a Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Fri, 28 Nov 2025 00:31:12 +0800 Subject: [PATCH] [guid.cpp] fix guid==nullptr comparison retvals - if guid_1 guid_2 are both null they should return int(0) or bool(true) --- libgnucash/engine/guid.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libgnucash/engine/guid.cpp b/libgnucash/engine/guid.cpp index 9526a06778..c65ae7261a 100644 --- a/libgnucash/engine/guid.cpp +++ b/libgnucash/engine/guid.cpp @@ -203,8 +203,8 @@ string_to_guid (const char * str, GncGUID * guid) gboolean guid_equal (const GncGUID *guid_1, const GncGUID *guid_2) { - if (!guid_1 || !guid_2) - return !guid_1 && !guid_2; + if (guid_1 == guid_2) return true; + if (!guid_1 || !guid_2) return false; gnc::GUID temp1 {*guid_1}; gnc::GUID temp2 {*guid_2}; return temp1 == temp2; @@ -213,8 +213,9 @@ guid_equal (const GncGUID *guid_1, const GncGUID *guid_2) gint guid_compare (const GncGUID *guid_1, const GncGUID *guid_2) { - if (!guid_1 || !guid_2) - return !guid_1 && !guid_2; + if (guid_1 == guid_2) return 0; + if (!guid_1) return -1; + if (!guid_2) return 1; gnc::GUID temp1 {*guid_1}; gnc::GUID temp2 {*guid_2}; if (temp1 < temp2)