From: Eric Haszlakiewicz Date: Sat, 18 Apr 2020 02:05:37 +0000 (+0000) Subject: Make json_abort() internal to json_object.c X-Git-Tag: json-c-0.14-20200419~7 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=23ddcbd4dabec90ec4a8b175fcf5aae9aa0e429a;p=json-c Make json_abort() internal to json_object.c --- diff --git a/json_object.c b/json_object.c index e65ea04..3527afe 100644 --- a/json_object.c +++ b/json_object.c @@ -55,6 +55,24 @@ static json_object_to_json_string_fn json_object_string_to_json_string; static json_object_to_json_string_fn json_object_array_to_json_string; static json_object_to_json_string_fn _json_object_userdata_to_json_string; +#ifndef JSON_NORETURN +#if defined(_MSC_VER) +#define JSON_NORETURN __declspec(noreturn) +#else +/* 'cold' attribute is for optimization, telling the computer this code + * path is unlikely. + */ +#define JSON_NORETURN __attribute__((noreturn, cold)) +#endif +#endif +/** + * Abort and optionally print a message on standard error. + * This should be used rather than assert() for unconditional abortion + * (in particular for code paths which are never supposed to be run). + * */ +JSON_NORETURN static void json_abort(const char *message); + + /* ref count debugging */ #ifdef REFCOUNT_DEBUG @@ -1631,3 +1649,10 @@ int json_object_deep_copy(struct json_object *src, struct json_object **dst, return rc; } + +static void json_abort(const char *message) +{ + if (message != NULL) + fprintf(stderr, "json-c aborts with error: %s\n", message); + abort(); +} diff --git a/json_util.c b/json_util.c index 24dd768..12e33bb 100644 --- a/json_util.c +++ b/json_util.c @@ -297,9 +297,3 @@ const char *json_type_to_name(enum json_type o_type) return json_type_name[o_type]; } -void json_abort(const char *message) -{ - if (message != NULL) - fprintf(stderr, "json-c aborts with error: %s\n", message); - abort(); -} diff --git a/json_util.h b/json_util.h index 0a83d99..2a4b6c1 100644 --- a/json_util.h +++ b/json_util.h @@ -110,23 +110,6 @@ JSON_EXPORT int json_parse_double(const char *buf, double *retval); */ JSON_EXPORT const char *json_type_to_name(enum json_type o_type); -#ifndef JSON_NORETURN -#if defined(_MSC_VER) -#define JSON_NORETURN __declspec(noreturn) -#else -/* 'cold' attribute is for optimization, telling the computer this code - * path is unlikely. - */ -#define JSON_NORETURN __attribute__((noreturn, cold)) -#endif -#endif -/** - * Abort and optionally print a message on standard error. - * This should be used rather than assert() for unconditional abortion - * (in particular for code paths which are never supposed to be run). - * */ -JSON_NORETURN JSON_EXPORT void json_abort(const char *message); - #ifdef __cplusplus } #endif