cv_get_str implemented

FossilOrigin-Name: 8da939c22b7f08734f45b0abe2e5b979fc609ed51596fd6d0665e13f33f210e1
This commit is contained in:
7u83@mail.ru
2018-04-01 06:28:27 +00:00
parent 7db75cdb83
commit 22630f5d81
7 changed files with 27 additions and 10 deletions

View File

@ -72,6 +72,7 @@ CWSRC=\
cw_ktv_get_word.c\
cw_ktv_get_dword.c\
cw_ktv_get_sysptr.c\
cw_ktv_get_str.c\
cw_ktv_idx_get.c\
cw_ktv_mavlcmp.c\
cw_ktv_mavlcmp_type_by_name.c\

11
src/cw/cw_ktv_get_str.c Normal file
View File

@ -0,0 +1,11 @@
#include "ktv.h"
char * cw_ktv_get_syst(mavl_t ktv,const char *key, void * def)
{
cw_KTV_t * k;
k = cw_ktv_get(ktv,key,CW_TYPE_STR);
if (k != NULL){
return k->val.ptr;
}
return def;
}

View File

@ -39,19 +39,17 @@ static struct cw_KTV *get ( struct cw_KTV * data, const uint8_t * src, int len )
s[len]=0;
data->type = &cw_type_str;
data->val.str = s;
data->val.str = (char*)s;
return data;
}
static int put ( const struct cw_KTV *data, uint8_t * dst )
{
return cw_put_str ( dst, data->val.str );
return cw_put_str ( dst, (uint8_t*)data->val.str );
}
static int to_str ( const struct cw_KTV *data, char *dst, int max_len )
{
int l;
strncpy(dst,data->val.str,max_len-1);
dst[max_len]=0;
return strlen(data->val.str)+1;
@ -59,7 +57,7 @@ static int to_str ( const struct cw_KTV *data, char *dst, int max_len )
static struct cw_KTV *from_str ( struct cw_KTV * data, const char *src )
{
uint8_t * s;
char * s;
s = cw_strdup(src);
if ( !s )