Skip to content
Snippets Groups Projects
Commit e4fcdcf6 authored by Simon McVittie's avatar Simon McVittie
Browse files

json-utils: Factor out a function to serialize a GError as JSON

parent 4bda2825
No related branches found
No related tags found
1 merge request!172Detect runtime linker (ld.so)
......@@ -1166,13 +1166,7 @@ main (int argc,
}
else
{
json_builder_set_member_name (builder, "error-domain");
json_builder_add_string_value (builder,
g_quark_to_string (error->domain));
json_builder_set_member_name (builder, "error-code");
json_builder_add_int_value (builder, error->code);
json_builder_set_member_name (builder, "error");
json_builder_add_string_value (builder, error->message);
_srt_json_builder_add_error_members (builder, error);
}
json_builder_end_object (builder);
......@@ -1216,13 +1210,7 @@ main (int argc,
}
else
{
json_builder_set_member_name (builder, "error-domain");
json_builder_add_string_value (builder,
g_quark_to_string (error->domain));
json_builder_set_member_name (builder, "error-code");
json_builder_add_int_value (builder, error->code);
json_builder_set_member_name (builder, "error");
json_builder_add_string_value (builder, error->message);
_srt_json_builder_add_error_members (builder, error);
g_clear_error (&error);
}
......@@ -1270,13 +1258,7 @@ main (int argc,
}
else
{
json_builder_set_member_name (builder, "error-domain");
json_builder_add_string_value (builder,
g_quark_to_string (error->domain));
json_builder_set_member_name (builder, "error-code");
json_builder_add_int_value (builder, error->code);
json_builder_set_member_name (builder, "error");
json_builder_add_string_value (builder, error->message);
_srt_json_builder_add_error_members (builder, error);
g_clear_error (&error);
}
......
......@@ -51,3 +51,6 @@ void _srt_json_builder_add_strv_value (JsonBuilder *builder,
const gchar *array_name,
const gchar * const *values,
gboolean allow_empty_array);
void _srt_json_builder_add_error_members (JsonBuilder *builder,
const GError *error);
......@@ -225,3 +225,19 @@ _srt_json_builder_add_strv_value (JsonBuilder *builder,
json_builder_end_array (builder);
}
}
void
_srt_json_builder_add_error_members (JsonBuilder *builder,
const GError *error)
{
g_return_if_fail (builder != NULL);
g_return_if_fail (error != NULL);
json_builder_set_member_name (builder, "error-domain");
json_builder_add_string_value (builder,
g_quark_to_string (error->domain));
json_builder_set_member_name (builder, "error-code");
json_builder_add_int_value (builder, error->code);
json_builder_set_member_name (builder, "error");
json_builder_add_string_value (builder, error->message);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment