diff options
Diffstat (limited to 'src/runtime/c/gu/string.c')
| -rw-r--r-- | src/runtime/c/gu/string.c | 31 |
1 files changed, 22 insertions, 9 deletions
diff --git a/src/runtime/c/gu/string.c b/src/runtime/c/gu/string.c index 26b4f1f80..fb002d167 100644 --- a/src/runtime/c/gu/string.c +++ b/src/runtime/c/gu/string.c @@ -421,6 +421,17 @@ gu_string_eq(GuString s1, GuString s2) } +static bool +gu_string_eq_fn(GuEquality* self, const void* p1, const void* p2) +{ + (void) self; + const GuString* sp1 = p1; + const GuString* sp2 = p2; + return gu_string_eq(*sp1, *sp2); +} + +GuEquality gu_string_equality[1] = { { gu_string_eq_fn } }; + int gu_string_cmp(GuString s1, GuString s2) { @@ -478,21 +489,23 @@ gu_string_cmp(GuString s1, GuString s2) return 0; } -static GuHash -gu_string_hasher_hash(GuHasher* self, const void* p) +static int +gu_string_cmp_fn(GuOrder* self, const void* p1, const void* p2) { (void) self; - const GuString* sp = p; - return gu_string_hash(0, *sp); + const GuString* sp1 = p1; + const GuString* sp2 = p2; + return gu_string_cmp(*sp1, *sp2); } -static bool -gu_string_eq_fn(GuEquality* self, const void* p1, const void* p2) +GuOrder gu_string_order[1] = { { gu_string_cmp_fn } }; + +static GuHash +gu_string_hasher_hash(GuHasher* self, const void* p) { (void) self; - const GuString* sp1 = p1; - const GuString* sp2 = p2; - return gu_string_eq(*sp1, *sp2); + const GuString* sp = p; + return gu_string_hash(0, *sp); } GuHasher gu_string_hasher[1] = { |
