kerep/src/Hashtable/KeyValuePair.c

28 lines
613 B
C

#include "KeyValuePair.h"
ktid_define(KVPair);
Autoarr_define(KVPair)
// proper way to clear a KVP
void KVPair_free(KVPair p){
free(p.key);
Unitype_free(p.value);
}
void __KVPair_free(void* p){ KVPair_free(*(KVPair*)p); }
// func for KVP array clearing
void __Autoarr_free_KVPair_(Autoarr_KVPair* ar, bool freePtr){
Autoarr_foreach(ar,k,KVPair_free(k));
__Autoarr_free_KVPair(ar, freePtr);
}
void ____Autoarr_free_KVPair_(void* ar){
__Autoarr_free_KVPair_((Autoarr_KVPair*)ar, false);
}
void printkvp(KVPair p){
kprintf("{\"%s\", ",p.key);
printuni(p.value);
kprintf("}");
}