From e98376bdf10cefcb5ea78d164e70e8d52e779a5b Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Fri, 6 Nov 2020 11:25:08 +0100 Subject: [PATCH] decomposed: Add flatpak_decomposed_equal_except_branch () This is used in flatpak_dir_deploy() --- common/flatpak-ref-utils-private.h | 2 ++ common/flatpak-ref-utils.c | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/common/flatpak-ref-utils-private.h b/common/flatpak-ref-utils-private.h index 409d796b..ec253efc 100644 --- a/common/flatpak-ref-utils-private.h +++ b/common/flatpak-ref-utils-private.h @@ -87,6 +87,8 @@ const char * flatpak_decomposed_get_collection_id (FlatpakDecomposed char * flatpak_decomposed_dup_collection_id (FlatpakDecomposed *ref); gboolean flatpak_decomposed_equal (FlatpakDecomposed *ref_a, FlatpakDecomposed *ref_b); +gboolean flatpak_decomposed_equal_except_branch (FlatpakDecomposed *ref_a, + FlatpakDecomposed *ref_b); gint flatpak_decomposed_strcmp (FlatpakDecomposed *ref_a, FlatpakDecomposed *ref_b); gint flatpak_decomposed_strcmp_p (FlatpakDecomposed **ref_a, diff --git a/common/flatpak-ref-utils.c b/common/flatpak-ref-utils.c index e5e8a24a..80e59efe 100644 --- a/common/flatpak-ref-utils.c +++ b/common/flatpak-ref-utils.c @@ -1115,6 +1115,17 @@ flatpak_decomposed_strcmp_p (FlatpakDecomposed **ref_a, return flatpak_decomposed_strcmp (*ref_a, *ref_b); } +gboolean +flatpak_decomposed_equal_except_branch (FlatpakDecomposed *ref_a, + FlatpakDecomposed *ref_b) +{ + return + ref_a->branch_offset == ref_b->branch_offset && + strncmp (ref_a->data, ref_b->data, ref_a->branch_offset) == 0 && + g_strcmp0 (ref_a->collection_id, ref_b->collection_id) == 0; +} + + guint flatpak_decomposed_hash (FlatpakDecomposed *ref) {