hashtable bugfixes
This commit is contained in:
parent
27be5beacd
commit
3d941e0688
@ -110,7 +110,7 @@ bool Hashtable_tryGet(Hashtable* ht, char* key, Unitype* output){
|
|||||||
|
|
||||||
bool Hashtable_trySet(Hashtable* ht, char* key, Unitype u){
|
bool Hashtable_trySet(Hashtable* ht, char* key, Unitype u){
|
||||||
Unitype* val=Hashtable_getPtr(ht,key);
|
Unitype* val=Hashtable_getPtr(ht,key);
|
||||||
if(Unitype_isUniNull((*val)))
|
if(val==NULL)
|
||||||
return false;
|
return false;
|
||||||
*val=u;
|
*val=u;
|
||||||
return true;
|
return true;
|
||||||
@ -118,7 +118,7 @@ bool Hashtable_trySet(Hashtable* ht, char* key, Unitype u){
|
|||||||
|
|
||||||
bool Hashtable_tryAdd(Hashtable* ht, char* key, Unitype u){
|
bool Hashtable_tryAdd(Hashtable* ht, char* key, Unitype u){
|
||||||
Unitype* val=Hashtable_getPtr(ht,key);
|
Unitype* val=Hashtable_getPtr(ht,key);
|
||||||
if(Unitype_isUniNull((*val))){
|
if(val==NULL){
|
||||||
Hashtable_add(ht, key, u);
|
Hashtable_add(ht, key, u);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -127,9 +127,7 @@ bool Hashtable_tryAdd(Hashtable* ht, char* key, Unitype u){
|
|||||||
|
|
||||||
void Hashtable_addOrSet(Hashtable* ht, char* key, Unitype u){
|
void Hashtable_addOrSet(Hashtable* ht, char* key, Unitype u){
|
||||||
Unitype* val=Hashtable_getPtr(ht, key);
|
Unitype* val=Hashtable_getPtr(ht, key);
|
||||||
// set
|
if(val==NULL)
|
||||||
if(!Unitype_isUniNull((*val)))
|
Hashtable_add(ht, key, u); // add
|
||||||
*val=u;
|
else *val=u; // set
|
||||||
// add
|
|
||||||
else Hashtable_add(ht, key, u);
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user