From fe1999c5e4bc57a44e36d3ab2e3a1d33618777f5 Mon Sep 17 00:00:00 2001 From: "7u83@mail.ru" <7u83@mail.ru@noemail.net> Date: Sat, 19 Mar 2016 11:54:40 +0000 Subject: [PATCH] "outsourced" from cw_in_generic. FossilOrigin-Name: 432404383b3d4d01f3cec679bcebb2506496a199e3c200f9cd072b84b9469eb5 --- src/cw/mbag_set_from_buf.c | 46 +++++++------------------------------- 1 file changed, 8 insertions(+), 38 deletions(-) diff --git a/src/cw/mbag_set_from_buf.c b/src/cw/mbag_set_from_buf.c index 878d2758..9dc0b9fc 100644 --- a/src/cw/mbag_set_from_buf.c +++ b/src/cw/mbag_set_from_buf.c @@ -1,71 +1,41 @@ #include "mbag.h" -#include "item.h" #include "cw.h" -int mbag_set_from_buf(mbag_t dst, cw_itemdef_t * idef, const char *item_id, uint8_t *data, int len) +int mbag_set_from_buf(mbag_t dst, mbagtype_t type, const char *item_id, uint8_t *data, int len) { -/* if (!idef) { - cw_log(LOG_ERR,"No itemdef found for %s",item_id); - return 0; - } - - - if (idef->type->mbag_set){ - printf("Found a set function for %s\n",idef->type->name); - idef->type->mbag_set(idef,item_id, - exit(0); - } -*/ - - if (idef->type == MBAG_BYTE) { + if (type == MBAG_BYTE) { mbag_set_byte(dst, item_id, *data); return 1; } - if (idef->type == MBAG_WORD) { + if (type == MBAG_WORD) { mbag_set_word(dst, item_id, cw_get_word(data)); return 1; } - if (idef->type == MBAG_DWORD) { + if (type == MBAG_DWORD) { mbag_set_dword(dst, item_id, cw_get_dword(data)); return 1; } - if (idef->type == MBAG_STR) { + if (type == MBAG_STR) { mbag_set_strn(dst, item_id, (char *) data, len); return 1; } - if (idef->type == MBAG_BSTR) { + if (type == MBAG_BSTR) { mbag_set_bstrn(dst, item_id, data, len); return 1; } - if (idef->type == MBAG_BSTR16) { + if (type == MBAG_BSTR16) { mbag_set_bstr16n(dst, item_id, data, len); return 1; } -/* if (idef->type == MBAG_DATA) { - mbag_set_data(dst, item_id, data, len); - return 1; - } -*/ - if (idef->type == MBAG_VENDORSTR) { + if (type == MBAG_VENDORSTR) { mbag_set_bstrv(dst, item_id, cw_get_dword(data), data + 4, len - 4); return 1; } - - -// printf("Idef: %s\n",idef->type->name); - - - -/* cw_log(LOG_ERR, - "Can't handle item type %d in definition for incomming msg %d (%s) - %d, cw_in_generic.", - idef->type, a->msg_id, cw_strmsg(a->msg_id), a->elem_id); - return 0; -*/ return 0; }