aboutsummaryrefslogtreecommitdiff
path: root/src/basic_traits.c
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-06-09 01:42:18 +0800
committerMistivia <i@mistivia.com>2025-06-09 01:42:52 +0800
commit12eeb35015aba138a4e543c28c2ecee58d532440 (patch)
tree11a7776977c661f5f5a7c013bed290ba96fa2c23 /src/basic_traits.c
parent55f3a89f40a676fca7fb820037457c74cbdebb92 (diff)
pass by value in basic traits
Diffstat (limited to 'src/basic_traits.c')
-rw-r--r--src/basic_traits.c28
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);
}