diff options
| author | Mistivia <i@mistivia.com> | 2025-06-09 01:42:18 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-09 01:42:52 +0800 |
| commit | 12eeb35015aba138a4e543c28c2ecee58d532440 (patch) | |
| tree | 11a7776977c661f5f5a7c013bed290ba96fa2c23 /src/basic_traits.c | |
| parent | 55f3a89f40a676fca7fb820037457c74cbdebb92 (diff) | |
pass by value in basic traits
Diffstat (limited to 'src/basic_traits.c')
| -rw-r--r-- | src/basic_traits.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/basic_traits.c b/src/basic_traits.c index e3e6b1b..d46de15 100644 --- a/src/basic_traits.c +++ b/src/basic_traits.c @@ -5,16 +5,16 @@ #include "mmhash.h" #define BASIC_TRAITS_IMPL(T) \ - bool T##_eq(T* lhs, T* rhs) { \ - return *lhs == *rhs; \ + bool T##_eq(T lhs, T rhs) { \ + return lhs == rhs; \ } \ - int T##_cmp(T* lhs, T* rhs) { \ - if (*lhs == *rhs) return 0; \ - if (*lhs < *rhs) return -1; \ + int T##_cmp(T lhs, T rhs) { \ + if (lhs == rhs) return 0; \ + if (lhs < rhs) return -1; \ return 1; \ } \ - uint64_t T##_hash(T* x) { \ - return mmhash(x, sizeof(T), 0); \ + uint64_t T##_hash(T x) { \ + return mmhash(&x, sizeof(T), 0); \ } BASIC_TRAITS_IMPL(Char); @@ -27,17 +27,17 @@ BASIC_TRAITS_IMPL(Double); BASIC_TRAITS_IMPL(Float); BASIC_TRAITS_IMPL(VoidPtr); -bool String_eq(String* lhs, String *rhs) { - return strcmp(*lhs, *rhs) == 0; +bool String_eq(String lhs, String rhs) { + return strcmp(lhs, rhs) == 0; } -int String_cmp(String* lhs, String *rhs) { - return strcmp(*lhs, *rhs); +int String_cmp(String lhs, String rhs) { + return strcmp(lhs, rhs); } -ULong String_hash(String *x) { - size_t len = strlen(*x); - return mmhash(*x, len, 0); +ULong String_hash(String x) { + size_t len = strlen(x); + return mmhash(x, len, 0); } |
