Skip to content

Commit

Permalink
Fix assert when serializing entity alerts for alert without message
Browse files Browse the repository at this point in the history
  • Loading branch information
SanderMertens committed Aug 10, 2023
1 parent 13ca07d commit 6fd006a
Show file tree
Hide file tree
Showing 8 changed files with 8,784 additions and 8,692 deletions.
6 changes: 4 additions & 2 deletions flecs.c
Original file line number Diff line number Diff line change
Expand Up @@ -51352,8 +51352,10 @@ int flecs_json_serialize_entity_alerts(
const EcsAlertInstance *alert = ecs_get(
world, ai, EcsAlertInstance);
if (alert) {
flecs_json_memberl(buf, "message");
flecs_json_string(buf, alert->message);
if (alert->message) {
flecs_json_memberl(buf, "message");
flecs_json_string(buf, alert->message);
}
flecs_json_memberl(buf, "severity");
flecs_json_string(buf, severity);

Expand Down
6 changes: 4 additions & 2 deletions src/addons/json/serialize.c
Original file line number Diff line number Diff line change
Expand Up @@ -992,8 +992,10 @@ int flecs_json_serialize_entity_alerts(
const EcsAlertInstance *alert = ecs_get(
world, ai, EcsAlertInstance);
if (alert) {
flecs_json_memberl(buf, "message");
flecs_json_string(buf, alert->message);
if (alert->message) {
flecs_json_memberl(buf, "message");
flecs_json_string(buf, alert->message);
}
flecs_json_memberl(buf, "severity");
flecs_json_string(buf, severity);

Expand Down
50 changes: 25 additions & 25 deletions test/meta/include/meta/bake_config.h
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef META_BAKE_CONFIG_H
#define META_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>
#include <bake_test.h>

#endif
/*
)
(.)
.|.
| |
_.--| |--._
.-'; ;`-'& ; `&.
\ & ; & &_/
|"""---...---"""|
\ | | | | | | | /
`---.|.|.|.---'
* This file is generated by bake.lang.c for your convenience. Headers of
* dependencies will automatically show up in this file. Include bake_config.h
* in your main project file. Do not edit! */

#ifndef META_BAKE_CONFIG_H
#define META_BAKE_CONFIG_H

/* Headers of public dependencies */
#include <flecs.h>
#include <bake_test.h>

#endif

187 changes: 98 additions & 89 deletions test/meta/project.json
Original file line number Diff line number Diff line change
Expand Up @@ -669,95 +669,104 @@
"array_array_i32_3",
"vector_i32_3",
"vector_struct_i32_i32",
"vector_array_i32_3",
"serialize_entity_empty",
"serialize_entity_w_name",
"serialize_entity_w_name_1_tag",
"serialize_entity_w_name_2_tags",
"serialize_entity_w_name_1_pair",
"serialize_entity_w_base",
"serialize_entity_w_base_override",
"serialize_entity_w_2_base",
"serialize_entity_w_nested_base",
"serialize_entity_w_1_component",
"serialize_entity_w_2_components",
"serialize_entity_w_primitive_component",
"serialize_entity_w_enum_component",
"serialize_entity_w_struct_and_enum_component",
"serialize_entity_w_invalid_enum_component",
"serialize_entity_w_type_info",
"serialize_entity_w_type_info_unit",
"serialize_entity_w_type_info_unit_quantity",
"serialize_entity_w_type_info_unit_over",
"serialize_entity_wo_private",
"serialize_entity_w_private",
"serialize_entity_w_label",
"serialize_entity_w_label_no_name",
"serialize_entity_w_id_labels",
"serialize_entity_w_brief",
"serialize_entity_w_brief_no_brief",
"serialize_entity_w_link",
"serialize_entity_w_link_no_link",
"serialize_entity_w_meta_ids",
"serialize_entity_color",
"serialize_entity_w_doc_w_quotes",
"serialize_entity_union_relationship",
"serialize_entity_union_relationship_w_labels",
"serialize_entity_union_relationship_invalid_entity",
"serialize_entity_union_relationship_invalid_entity_w_labels",
"serialize_entity_w_union_property",
"serialize_entity_w_union_property",
"serialize_entity_from_core",
"serialize_entity_w_1_alert",
"serialize_entity_w_2_alerts",
"serialize_entity_w_child_alerts",
"serialize_entity_w_severity_filter_alert",
"serialize_entity_w_alerts_not_imported",
"serialize_entity_refs_childof",
"serialize_entity_refs_custom",
"serialize_entity_refs_wildcard",
"serialize_iterator_1_comps_empty",
"serialize_iterator_1_comps_2_ents_same_table",
"serialize_iterator_1_tag_2_ents_same_table",
"serialize_iterator_2_comps_2_ents_same_table",
"serialize_iterator_1_tag_1_comp_2_ents_same_table",
"serialize_iterator_1_tag_1_comp_4_ents_two_tables",
"serialize_iterator_2_comps_1_owned_2_ents",
"serialize_iterator_w_pair_wildcard",
"serialize_iterator_w_var",
"serialize_iterator_w_2_vars",
"serialize_iterator_type_info_1_tags",
"serialize_iterator_type_info_2_tags",
"serialize_iterator_type_info_1_component",
"serialize_iterator_type_info_2_components",
"serialize_iterator_type_info_1_struct",
"serialize_iterator_type_info_1_component_1_struct",
"serialize_iterator_type_info_2_structs",
"serialize_iterator_type_info_w_unit",
"serialize_iterator_type_info_w_unit_quantity",
"serialize_iterator_type_info_w_unit_over",
"serialize_iterator_w_entity_label",
"serialize_iterator_w_var_labels",
"serialize_iterator_w_var_component",
"serialize_iterator_w_optional_tag",
"serialize_iterator_w_optional_component",
"serialize_iterator_w_optional_reflected_component",
"serialize_iterator_w_inout_filter_tag",
"serialize_iterator_w_inout_filter_component",
"serialize_iterator_w_inout_filter_reflected_component",
"serialize_iterator_w_inout_out_tag",
"serialize_iterator_w_inout_out_component",
"serialize_iterator_w_inout_out_reflected_component",
"serialize_iterator_component_from_var",
"serialize_iterator_color",
"serialize_iterator_ids",
"serialize_iterator_ids_2_entities",
"serialize_iterator_variable_ids",
"serialize_iterator_variable_ids_2_entities",
"serialize_iterator_invalid_value",
"serialize_iterator_recycled_pair_id",
"serialize_iterator_w_alert",
"serialize_iterator_no_this_alert_imported",
"vector_array_i32_3"
]
}, {
"id": "SerializeEntityToJson",
"testcases": [
"serialize_empty",
"serialize_w_name",
"serialize_w_name_1_tag",
"serialize_w_name_2_tags",
"serialize_w_name_1_pair",
"serialize_w_base",
"serialize_w_base_override",
"serialize_w_2_base",
"serialize_w_nested_base",
"serialize_w_1_component",
"serialize_w_2_components",
"serialize_w_primitive_component",
"serialize_w_enum_component",
"serialize_w_struct_and_enum_component",
"serialize_w_invalid_enum_component",
"serialize_w_type_info",
"serialize_w_type_info_unit",
"serialize_w_type_info_unit_quantity",
"serialize_w_type_info_unit_over",
"serialize_wo_private",
"serialize_w_private",
"serialize_w_label",
"serialize_w_label_no_name",
"serialize_w_id_labels",
"serialize_w_brief",
"serialize_w_brief_no_brief",
"serialize_w_link",
"serialize_w_link_no_link",
"serialize_w_meta_ids",
"serialize_color",
"serialize_w_doc_w_quotes",
"serialize_union_relationship",
"serialize_union_relationship_w_labels",
"serialize_union_relationship_invalid_entity",
"serialize_union_relationship_invalid_entity_w_labels",
"serialize_w_union_property",
"serialize_w_union_property",
"serialize_from_core",
"serialize_w_1_alert",
"serialize_w_2_alerts",
"serialize_w_child_alerts",
"serialize_w_severity_filter_alert",
"serialize_w_alerts_not_imported",
"serialize_w_alerts_no_message",
"serialize_refs_childof",
"serialize_refs_custom",
"serialize_refs_wildcard"
]
}, {
"id": "SerializeIterToJson",
"testcases": [
"serialize_1_comps_empty",
"serialize_1_comps_2_ents_same_table",
"serialize_1_tag_2_ents_same_table",
"serialize_2_comps_2_ents_same_table",
"serialize_1_tag_1_comp_2_ents_same_table",
"serialize_1_tag_1_comp_4_ents_two_tables",
"serialize_2_comps_1_owned_2_ents",
"serialize_w_pair_wildcard",
"serialize_w_var",
"serialize_w_2_vars",
"serialize_type_info_1_tags",
"serialize_type_info_2_tags",
"serialize_type_info_1_component",
"serialize_type_info_2_components",
"serialize_type_info_1_struct",
"serialize_type_info_1_component_1_struct",
"serialize_type_info_2_structs",
"serialize_type_info_w_unit",
"serialize_type_info_w_unit_quantity",
"serialize_type_info_w_unit_over",
"serialize_w_entity_label",
"serialize_w_var_labels",
"serialize_w_var_component",
"serialize_w_optional_tag",
"serialize_w_optional_component",
"serialize_w_optional_reflected_component",
"serialize_w_inout_filter_tag",
"serialize_w_inout_filter_component",
"serialize_w_inout_filter_reflected_component",
"serialize_w_inout_out_tag",
"serialize_w_inout_out_component",
"serialize_w_inout_out_reflected_component",
"serialize_component_from_var",
"serialize_color",
"serialize_ids",
"serialize_ids_2_entities",
"serialize_variable_ids",
"serialize_variable_ids_2_entities",
"serialize_invalid_value",
"serialize_recycled_pair_id",
"serialize_w_alert",
"serialize_no_this_alert_imported",
"serialize_paged_iterator",
"serialize_paged_iterator_w_optional_component",
"serialize_paged_iterator_w_optional_tag",
Expand Down
Loading

0 comments on commit 6fd006a

Please sign in to comment.