#include "cw.h" #include "dbg.h" int cw_out_idx_generic_struct(struct cw_ElemHandler * handler, struct cw_ElemHandlerParams * params , uint8_t * dst) { char key[CW_KTV_MAX_KEY_LEN]; struct cw_KTV * elem, search; int i; int idx, sr; int len; uint8_t * mdst, *start; i=0; len = 0; mdst = dst; do { sprintf(key,handler->key,i); search.key=key; /*elem = mavl_get(params->conn->local_cfg, &search);*/ elem = mavl_get_first(params->local_cfg,&search); if(elem != NULL){ printf("Elem key: %s\n",elem->key); } sr = sscanf(elem->key,handler->key,&idx); if (sr!=1) break; if (idxkey,idx); printf("Here we are '%s'! --> %d\n",key,idx); len =0; start = mdst + cw_header_len(handler); len += cw_put_byte(start+len,idx); len += cw_ktv_write_struct(params->local_cfg,NULL, handler->type,key,start+len); mdst += cw_write_header(handler,mdst,len); i=idx+1; }while(1); /* radios = cw_ktv_get_byte(params->conn->local_cfg,"wtp-descriptor/max-radios",0); for(i=1;iconn,params->msgdata->type,handler,dst,l); len+=l; } */ return mdst-dst; }