replace function
FossilOrigin-Name: 6fdd1d6c766912e7944940595f6d99287b862314c725f5fc0320695cf16041e4
This commit is contained in:
parent
fc42039b15
commit
9d16eec291
@ -0,0 +1,31 @@
|
||||
#include "ktv.h"
|
||||
#include "cw.h"
|
||||
|
||||
#include "log.h"
|
||||
#include "dbg.h"
|
||||
|
||||
cw_KTV_t * cw_ktv_replace(mavl_t kvtstore, const char *key, const struct cw_Type *type,
|
||||
const uint8_t * data, int len)
|
||||
{
|
||||
cw_KTV_t mdata, *mresult;
|
||||
int exists;
|
||||
|
||||
mdata.key=cw_strdup(key);
|
||||
if (!mdata.key){
|
||||
cw_log(LOG_ERR, "Can't allocate memory for KTV key %s: %s",
|
||||
key,strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mresult = type->get(&mdata,data,len);
|
||||
if (!mresult){
|
||||
cw_log(LOG_ERR, "Can't create kvstore element for key %s of type %s: %s",
|
||||
key,type->name, strerror(errno));
|
||||
free(mdata.key);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
mresult = mavl_replace(kvtstore, &mdata, &exists);
|
||||
|
||||
return mresult;
|
||||
}
|
Loading…
Reference in New Issue
Block a user