]> git.ipfire.org Git - people/ms/suricata.git/blobdiff - scripts/dnp3-gen/dnp3-gen.py
scripts/dnp3-gen: update to generate JsonBuilder code
[people/ms/suricata.git] / scripts / dnp3-gen / dnp3-gen.py
index c9c9064dba3c0f104696023b5d23892cc15b090e..c522dfadbc46006e81536e2fa0699b8d5433510c 100755 (executable)
@@ -157,7 +157,7 @@ output_json_dnp3_objects_template = """/* Copyright (C) 2015 Open Information Se
 #include "output-json-dnp3-objects.h"
 #include "output-json.h"
 
-void OutputJsonDNP3SetItem(json_t *js, DNP3Object *object,
+void OutputJsonDNP3SetItem(JsonBuilder *js, DNP3Object *object,
     DNP3Point *point)
 {
 
@@ -167,20 +167,17 @@ void OutputJsonDNP3SetItem(json_t *js, DNP3Object *object,
             DNP3ObjectG{{object.group}}V{{object.variation}} *data = point->data;
 {% for field in object.fields %}
 {% if is_integer_type(field.type) %}
-            json_object_set_new(js, "{{field.name}}",
-                json_integer(data->{{field.name}}));
+            jb_set_uint(js, "{{field.name}}", data->{{field.name}});
 {% elif field.type in ["flt32", "flt64"] %}
-            json_object_set_new(js, "{{field.name}}",
-                json_real(data->{{field.name}}));
+            jb_set_float(js, "{{field.name}}", data->{{field.name}});
 {% elif field.type == "bytearray" %}
             unsigned long {{field.name}}_b64_len = data->{{field.len_field}} * 2;
             uint8_t {{field.name}}_b64[{{field.name}}_b64_len];
             Base64Encode(data->{{field.name}}, data->{{field.len_field}},
                 {{field.name}}_b64, &{{field.name}}_b64_len);
-            json_object_set_new(js, "data->{{field.name}}",
-                json_string((char *){{field.name}}_b64));
+            jb_set_string(js, "data->{{field.name}}", (char *){{field.name}}_b64);
 {% elif field.type == "vstr4" %}
-            json_object_set_new(js, "data->{{field.name}}", SCJsonString(data->{{field.name}}));
+            jb_set_string(js, "data->{{field.name}}", data->{{field.name}});
 {% elif field.type == "chararray" %}
             if (data->{{field.len_field}} > 0) {
                 /* First create a null terminated string as not all versions
@@ -188,14 +185,13 @@ void OutputJsonDNP3SetItem(json_t *js, DNP3Object *object,
                 char tmpbuf[data->{{field.len_field}} + 1];
                 memcpy(tmpbuf, data->{{field.name}}, data->{{field.len_field}});
                 tmpbuf[data->{{field.len_field}}] = '\\0';
-                json_object_set_new(js, "{{field.name}}", SCJsonString(tmpbuf));
+                jb_set_string(js, "{{field.name}}", tmpbuf);
             } else {
-                json_object_set_new(js, "{{field.name}}", json_string(""));
+                jb_set_string(js, "{{field.name}}", "");
             }
 {% elif field.type == "bstr8" %}
 {% for field in field.fields %}
-            json_object_set_new(js, "{{field.name}}",
-                json_integer(data->{{field.name}}));
+            jb_set_uint(js, "{{field.name}}", data->{{field.name}});
 {% endfor %}
 {% else %}
 {{ raise("Unhandled datatype: %s" % (field.type)) }}