JSON NaN value supported

Change-Id: I0096d047fb6eab882ad943090f5c4a6c1864671a
This commit is contained in:
Tomas Kukosa 2021-05-03 15:31:09 +02:00 committed by Tomas Kukosa
parent 249eb294b3
commit a145ed6071
1 changed files with 10 additions and 0 deletions

View File

@ -85,6 +85,9 @@ static header_field_info hfi_json_value_null JSON_HFI_INIT =
static header_field_info hfi_json_value_true JSON_HFI_INIT =
{ "True value", "json.value.true", FT_NONE, BASE_NONE, NULL, 0x00, "JSON true value", HFILL };
static header_field_info hfi_json_value_nan JSON_HFI_INIT =
{ "NaN value", "json.value.nan", FT_NONE, BASE_NONE, NULL, 0x00, "JSON NaN value", HFILL };
/* HFIs below are used only for compact form display */
static header_field_info hfi_json_array_compact JSON_HFI_INIT =
{ "Array compact", "json.array_compact", FT_NONE, BASE_NONE, NULL, 0x00, "JSON array compact", HFILL };
@ -135,6 +138,7 @@ typedef enum {
JSON_TOKEN_FALSE,
JSON_TOKEN_NULL,
JSON_TOKEN_TRUE,
JSON_TOKEN_NAN,
/* not really tokens ... */
JSON_OBJECT,
@ -649,6 +653,10 @@ static void after_value(void *tvbparse_data, const void *wanted_data _U_, tvbpar
proto_tree_add_item(tree, &hfi_json_value_true, tok->tvb, tok->offset, tok->len, ENC_NA);
break;
case JSON_TOKEN_NAN:
proto_tree_add_item(tree, &hfi_json_value_nan, tok->tvb, tok->offset, tok->len, ENC_NA);
break;
case JSON_OBJECT:
case JSON_ARRAY:
/* already added */
@ -754,6 +762,7 @@ static void init_json_parser(void) {
tvbparse_string(JSON_TOKEN_FALSE, "false", NULL, NULL, NULL),
tvbparse_string(JSON_TOKEN_NULL, "null", NULL, NULL, NULL),
tvbparse_string(JSON_TOKEN_TRUE, "true", NULL, NULL, NULL),
tvbparse_string(JSON_TOKEN_NAN, "NaN", NULL, NULL, NULL),
&_want_object,
&_want_array,
want_number,
@ -916,6 +925,7 @@ proto_register_json(void)
&hfi_json_value_false,
&hfi_json_value_null,
&hfi_json_value_true,
&hfi_json_value_nan,
&hfi_json_array_compact,
&hfi_json_object_compact,
&hfi_json_member_compact,