diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2025-04-13 22:16:52 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2025-04-13 22:16:52 (GMT) |
commit | 2b0fe4a3ef75940978059b4b33672f2d1c63dced (patch) | |
tree | 4d6908ac453dc6ccba9b0a0593e77af3511609c6 /generic/tclObj.c | |
parent | d46e9784ab0ff5b3e9bf35dc56c903fd9503c936 (diff) | |
download | tcl-core-attemptcreatehashentry.zip tcl-core-attemptcreatehashentry.tar.gz tcl-core-attemptcreatehashentry.tar.bz2 |
Implement Tcl_AttemptCreateHashEntry()core-attemptcreatehashentry
Diffstat (limited to 'generic/tclObj.c')
-rw-r--r-- | generic/tclObj.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/generic/tclObj.c b/generic/tclObj.c index e086c87..500338b 100644 --- a/generic/tclObj.c +++ b/generic/tclObj.c @@ -4184,11 +4184,13 @@ AllocObjEntry( void *keyPtr) /* Key to store in the hash table entry. */ { Tcl_Obj *objPtr = (Tcl_Obj *)keyPtr; - Tcl_HashEntry *hPtr = (Tcl_HashEntry *)Tcl_Alloc(sizeof(Tcl_HashEntry)); + Tcl_HashEntry *hPtr = (Tcl_HashEntry *)Tcl_AttemptAlloc(sizeof(Tcl_HashEntry)); - hPtr->key.objPtr = objPtr; - Tcl_IncrRefCount(objPtr); - hPtr->clientData = NULL; + if (hPtr) { + hPtr->key.objPtr = objPtr; + Tcl_IncrRefCount(objPtr); + hPtr->clientData = NULL; + } return hPtr; } |