diff options
-rw-r--r-- | runtime/msg.c | 8 | ||||
-rw-r--r-- | runtime/msg.h | 2 | ||||
-rw-r--r-- | template.c | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/runtime/msg.c b/runtime/msg.c index 5224ccea..36444bbc 100644 --- a/runtime/msg.c +++ b/runtime/msg.c @@ -3864,7 +3864,7 @@ DBGPRINTF("AAAA jsonMerge adds '%s'\n", it.key); /* find a JSON structure element (field or container doesn't matter). */ rsRetVal -jsonFind(struct json_object *jroot, uchar *propName, int propNameLen, struct json_object **jsonres) +jsonFind(struct json_object *jroot, msgPropDescr_t *pProp, struct json_object **jsonres) { uchar *leaf; struct json_object *parent; @@ -3876,11 +3876,11 @@ jsonFind(struct json_object *jroot, uchar *propName, int propNameLen, struct jso goto finalize_it; } - if(!strcmp((char*)propName, "!")) { + if(!strcmp((char*)pProp->name, "!")) { field = jroot; } else { - leaf = jsonPathGetLeaf(propName, propNameLen); - CHKiRet(jsonPathFindParent(jroot, propName, leaf, &parent, 0)); + leaf = jsonPathGetLeaf(pProp->name, pProp->nameLen); + CHKiRet(jsonPathFindParent(jroot, pProp->name, leaf, &parent, 0)); field = json_object_object_get(parent, (char*)leaf); } *jsonres = field; diff --git a/runtime/msg.h b/runtime/msg.h index b812bd5d..fd890822 100644 --- a/runtime/msg.h +++ b/runtime/msg.h @@ -212,7 +212,7 @@ rsRetVal msgGetJSONPropJSON(msg_t *pMsg, msgPropDescr_t *pProp, struct json_obje rsRetVal getJSONPropVal(msg_t *pMsg, msgPropDescr_t *pProp, uchar **pRes, rs_size_t *buflen, unsigned short *pbMustBeFreed); rsRetVal msgSetJSONFromVar(msg_t *pMsg, uchar *varname, struct var *var); rsRetVal msgDelJSON(msg_t *pMsg, uchar *varname); -rsRetVal jsonFind(struct json_object *jroot, uchar *propName, int propNameLen, struct json_object **jsonres); +rsRetVal jsonFind(struct json_object *jroot, msgPropDescr_t *pProp, struct json_object **jsonres); rsRetVal msgPropDescrFill(msgPropDescr_t *pProp, uchar *name, int nameLen); void msgPropDescrDestruct(msgPropDescr_t *pProp); @@ -325,7 +325,7 @@ tplToJSON(struct template *pTpl, msg_t *pMsg, struct json_object **pjson, struct DEFiRet; if(pTpl->bHaveSubtree){ - localRet = jsonFind(pMsg->json, pTpl->subtree.name, pTpl->subtree.nameLen, pjson); + localRet = jsonFind(pMsg->json, &pTpl->subtree, pjson); if(*pjson == NULL) { /* we need to have a root object! */ *pjson = json_object_new_object(); |