From c7d778a958dcd67752fc82eb4c293b778c4cf216 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Wed, 4 Apr 2018 07:25:16 +0000 Subject: [PATCH] New function: cw_ktv_getbstr16 FossilOrigin-Name: 0380dcb61dcb0799d19286b4edbbd6744ae56bee986fa6515fe653768a1caccf --- src/cw/Makefile | 1 + src/cw/cw_ktv_get_bstr16.c | 13 +++++++++++++ src/cw/ktv.h | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/cw/cw_ktv_get_bstr16.c diff --git a/src/cw/Makefile b/src/cw/Makefile index 95a0ad94..dd49a3b3 100644 --- a/src/cw/Makefile +++ b/src/cw/Makefile @@ -106,6 +106,7 @@ KTVSRC=\ cw_ktv_replace.c\ cw_ktv_add_from_str.c\ cw_ktv_get_byte.c\ + cw_ktv_get_bstr16.c\ cw_ktv_set_byte.c\ cw_ktv_get.c\ cw_ktv_get_word.c\ diff --git a/src/cw/cw_ktv_get_bstr16.c b/src/cw/cw_ktv_get_bstr16.c new file mode 100644 index 00000000..ccbcce51 --- /dev/null +++ b/src/cw/cw_ktv_get_bstr16.c @@ -0,0 +1,13 @@ +#include "ktv.h" +#include "bstr.h" + +bstr16_t cw_ktv_get_bstr16(mavl_t ktv,const char *key, bstr16_t def) +{ + cw_KTV_t * k; + k = cw_ktv_get(ktv,key,CW_TYPE_STR); + if (k != NULL){ + return bstr16_create(k->type->data(k),k->type->len(k)); + } + return def; +} + diff --git a/src/cw/ktv.h b/src/cw/ktv.h index bebe884b..2b4966dd 100644 --- a/src/cw/ktv.h +++ b/src/cw/ktv.h @@ -5,7 +5,7 @@ #include #include "mavl.h" - +#include "bstr.h" /** * @addtogroup ALGOS @@ -143,6 +143,7 @@ int cw_ktv_read_file(FILE * file, mavl_t ktv, mavl_t types); cw_KTV_t * cw_ktv_get(mavl_t ktv, const char *key, const cw_Type_t * type); uint8_t cw_ktv_get_byte(mavl_t ktv,const char *key, uint8_t def); cw_KTV_t * cw_ktv_set_byte(mavl_t ktv,const char * key, uint8_t byte); +bstr16_t cw_ktv_get_bstr16(mavl_t ktv,const char *key, bstr16_t def); uint16_t cw_ktv_get_word(mavl_t ktv,const char *key, uint16_t def); uint32_t cw_ktv_get_dword(mavl_t ktv,const char *key, uint32_t def);