From b574aac31f2ee4cc72d59c3ec939643ef88a6e4f Mon Sep 17 00:00:00 2001 From: 7u83 <7u83@mail.ru> Date: Thu, 18 Aug 2022 08:49:55 +0200 Subject: [PATCH] missing val.c added --- src/cw/val.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/cw/val.c diff --git a/src/cw/val.c b/src/cw/val.c new file mode 100644 index 00000000..73ee9fe2 --- /dev/null +++ b/src/cw/val.c @@ -0,0 +1,28 @@ +#include "val.h" +#include "cfg.h" +#include "dbg.h" + +int cw_generic_write_l(cw_Cfg_t **cfg, const struct cw_Type*type, const char *key, uint8_t *dst, const void * param) +{ + cw_Val_t val; + int l; + const char *s; + memset(&val,0,sizeof(cw_Val_t)); + val.type=type; + val.valguard=param; + s = cw_cfg_get_l(cfg,key,NULL); + if (s==NULL) + return -1; + type->from_str(&val,s); + l = type->put(&val,dst); + if(type->del) + type->del(&val); + return l; +} + +void cw_val_destroy(cw_Val_t *val) +{ + if (val->type->del) + val->type->del(val); + free (val); +}