summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--runtime/msg.c8
-rw-r--r--runtime/msg.h2
-rw-r--r--template.c2
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);
diff --git a/template.c b/template.c
index 807acd75..b4f28443 100644
--- a/template.c
+++ b/template.c
@@ -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();