From 51047f07a55491b17fa0109992c0b58f88a47609 Mon Sep 17 00:00:00 2001 From: blueloveTH Date: Thu, 5 Jun 2025 01:48:37 +0800 Subject: [PATCH] backup --- src/common/name.c | 18 +++++++++--------- src/public/py_ops.c | 3 ++- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/common/name.c b/src/common/name.c index 2c479131..e7783e89 100644 --- a/src/common/name.c +++ b/src/common/name.c @@ -62,20 +62,20 @@ py_Name py_namev(c11_sv name) { } // generate new index - NameBucket* entry = PK_MALLOC(sizeof(NameBucket) + name.size + 1); - entry->next = NULL; - entry->hash = hash; - entry->size = name.size; - memcpy(entry->data, name.data, name.size); - entry->data[name.size] = '\0'; + NameBucket* bucket = PK_MALLOC(sizeof(NameBucket) + name.size + 1); + bucket->next = NULL; + bucket->hash = hash; + bucket->size = name.size; + memcpy(bucket->data, name.data, name.size); + bucket->data[name.size] = '\0'; if(p == NULL) { - pk_string_table.table[index] = entry; + pk_string_table.table[index] = bucket; } else { assert(p->next == NULL); - p->next = entry; + p->next = bucket; } atomic_store(&pk_string_table.lock, false); - return (py_Name)entry; + return (py_Name)bucket; } c11_sv py_name2sv(py_Name index) { diff --git a/src/public/py_ops.c b/src/public/py_ops.c index 2be4d16c..ed643c86 100644 --- a/src/public/py_ops.c +++ b/src/public/py_ops.c @@ -55,9 +55,10 @@ bool py_hash(py_Ref val, int64_t* out) { py_TypeInfo* ti = pk__type_info(val->type); do { py_Ref slot_hash = py_getdict(&ti->self, __hash__); - if(!slot_hash || py_isnone(slot_hash)) break; + if(slot_hash && py_isnone(slot_hash)) break; py_Ref slot_eq = py_getdict(&ti->self, __eq__); if(slot_eq) { + if(!slot_hash) break; if(!py_call(slot_hash, 1, val)) return false; if(!py_checkint(py_retval())) return false; *out = py_toint(py_retval());