From: Zbigniew Jędrzejewski-Szmek Date: Tue, 18 Oct 2022 16:09:06 +0000 (+0200) Subject: shared/json: allow json_variant_dump() to return an error X-Git-Tag: v252-rc3~26^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7922ead507e0d83e4ec72a8cbd2b67194766e58c;p=thirdparty%2Fsystemd.git shared/json: allow json_variant_dump() to return an error --- diff --git a/src/shared/json.c b/src/shared/json.c index 950be9485d5..baa468c6974 100644 --- a/src/shared/json.c +++ b/src/shared/json.c @@ -1785,9 +1785,9 @@ int json_variant_format(JsonVariant *v, JsonFormatFlags flags, char **ret) { return (int) sz - 1; } -void json_variant_dump(JsonVariant *v, JsonFormatFlags flags, FILE *f, const char *prefix) { +int json_variant_dump(JsonVariant *v, JsonFormatFlags flags, FILE *f, const char *prefix) { if (!v) - return; + return 0; if (!f) f = stdout; @@ -1813,7 +1813,8 @@ void json_variant_dump(JsonVariant *v, JsonFormatFlags flags, FILE *f, const cha fputc('\n', f); /* In case of SSE add a second newline */ if (flags & JSON_FORMAT_FLUSH) - fflush(f); + return fflush_and_check(f); + return 0; } int json_variant_filter(JsonVariant **v, char **to_remove) { diff --git a/src/shared/json.h b/src/shared/json.h index 1992170ed7c..5993e05299c 100644 --- a/src/shared/json.h +++ b/src/shared/json.h @@ -197,7 +197,7 @@ typedef enum JsonFormatFlags { } JsonFormatFlags; int json_variant_format(JsonVariant *v, JsonFormatFlags flags, char **ret); -void json_variant_dump(JsonVariant *v, JsonFormatFlags flags, FILE *f, const char *prefix); +int json_variant_dump(JsonVariant *v, JsonFormatFlags flags, FILE *f, const char *prefix); int json_variant_filter(JsonVariant **v, char **to_remove);