diff options
-rw-r--r-- | src/include/ndpi_api.h.in | 12 | ||||
-rw-r--r-- | src/lib/ndpi_serializer.c | 12 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/include/ndpi_api.h.in b/src/include/ndpi_api.h.in index 0e6a50518..6a4b18366 100644 --- a/src/include/ndpi_api.h.in +++ b/src/include/ndpi_api.h.in @@ -1254,7 +1254,17 @@ extern "C" { int ndpi_serialize_string_float(ndpi_serializer *serializer, const char *key, float value, const char *format /* e.f. "%.2f" */); /** - * Serialize a string key and a boolean value + * Serialize an unterminated string key and a boolean value (JSON/CSV only, not supported by TLV) + * @param serializer The serializer handle + * @param key The field name or ID + * @param klen The key length + * @param value The field value + * @return 0 on success, a negative number otherwise + */ + int ndpi_serialize_binary_boolean(ndpi_serializer *_serializer, const char *key, u_int16_t klen, u_int8_t value); + + /** + * Serialize a string key and a boolean value (JSON/CSV only, not supported by TLV) * @param serializer The serializer handle * @param key The field name or ID * @param value The field value diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c index 7347bd120..d368509a8 100644 --- a/src/lib/ndpi_serializer.c +++ b/src/lib/ndpi_serializer.c @@ -1673,11 +1673,10 @@ int ndpi_serialize_string_raw(ndpi_serializer *_serializer, /* ********************************** */ -int ndpi_serialize_string_boolean(ndpi_serializer *_serializer, - const char *key, u_int8_t value) { +int ndpi_serialize_binary_boolean(ndpi_serializer *_serializer, + const char *key, u_int16_t klen, u_int8_t value) { ndpi_private_serializer *serializer = (ndpi_private_serializer*)_serializer; u_int32_t buff_diff = serializer->buffer.size - serializer->status.buffer.size_used; - u_int16_t klen = strlen(key); u_int32_t needed; if(serializer->fmt != ndpi_serialization_format_json && @@ -1726,6 +1725,13 @@ int ndpi_serialize_string_boolean(ndpi_serializer *_serializer, /* ********************************** */ +int ndpi_serialize_string_boolean(ndpi_serializer *_serializer, + const char *key, u_int8_t value) { + return(ndpi_serialize_binary_boolean(_serializer, key, strlen(key), value)); +} + +/* ********************************** */ + int ndpi_serialize_start_of_list_binary(ndpi_serializer *_serializer, const char *key, u_int16_t klen) { ndpi_private_serializer *serializer = (ndpi_private_serializer*)_serializer; |