From 22630f5d811059bdc8cc637dd9cc9b3e8d42b2e3 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Sun, 1 Apr 2018 06:28:27 +0000 Subject: [PATCH] cv_get_str implemented FossilOrigin-Name: 8da939c22b7f08734f45b0abe2e5b979fc609ed51596fd6d0665e13f33f210e1 --- actube.workspace | 4 ++-- libcw.project | 2 ++ src/cw/Makefile | 1 + src/cw/cw_ktv_get_str.c | 11 +++++++++++ src/cw/cw_type_str.c | 8 +++----- src/wtp/join.c | 8 ++++++-- src/wtp/wtp_main.c | 3 ++- 7 files changed, 27 insertions(+), 10 deletions(-) create mode 100644 src/cw/cw_ktv_get_str.c diff --git a/actube.workspace b/actube.workspace index b21adfd1..e0162c79 100644 --- a/actube.workspace +++ b/actube.workspace @@ -1,11 +1,11 @@ - + - + diff --git a/libcw.project b/libcw.project index 4c52a4b0..1c6bf346 100644 --- a/libcw.project +++ b/libcw.project @@ -269,6 +269,8 @@ + + diff --git a/src/cw/Makefile b/src/cw/Makefile index f3a2643d..6e8423ba 100644 --- a/src/cw/Makefile +++ b/src/cw/Makefile @@ -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\ diff --git a/src/cw/cw_ktv_get_str.c b/src/cw/cw_ktv_get_str.c new file mode 100644 index 00000000..43b7134e --- /dev/null +++ b/src/cw/cw_ktv_get_str.c @@ -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; +} diff --git a/src/cw/cw_type_str.c b/src/cw/cw_type_str.c index f4c9c2f7..8a55d54f 100644 --- a/src/cw/cw_type_str.c +++ b/src/cw/cw_type_str.c @@ -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 ) diff --git a/src/wtp/join.c b/src/wtp/join.c index 621ea680..bedc6ec3 100644 --- a/src/wtp/join.c +++ b/src/wtp/join.c @@ -95,6 +95,10 @@ acinfo.result_code=99; */ + + + + int run_join_d(struct conn * conn, struct sockaddr *sa) { char addrstr[SOCK_ADDR_BUFSIZE]; @@ -127,7 +131,7 @@ int run_join_d(struct conn * conn, struct sockaddr *sa) return -1; } */ - +/* cw_dbg(DBG_DTLS, "Establishing DTLS session with %s", sock_addr2str(sa, addrstr)); int dtls_conf_ok=0; @@ -170,7 +174,7 @@ int run_join_d(struct conn * conn, struct sockaddr *sa) sock_addr2str(sa,addrstr)); - +*/ return 1; } diff --git a/src/wtp/wtp_main.c b/src/wtp/wtp_main.c index 7292026e..f70da330 100644 --- a/src/wtp/wtp_main.c +++ b/src/wtp/wtp_main.c @@ -9,6 +9,7 @@ #include "cw/dbg.h" #include "cw/log.h" #include "cw/msgset.h" +#include "cw/cw.h" #include "wtp.h" @@ -153,7 +154,7 @@ int main (int argc, char **argv) conn->msgset=msgset; conn->local_cfg = global_cfg; conn->remote_cfg = NULL; - conn->receiver = CW_RECEIVER_WTP; + conn->receiver = CW_ROLE_WTP; conn->wbid=1; struct cw_DiscoveryResult dis;