Browse Source

Make json_abort() internal to json_object.c

tags/json-c-0.14-20200419
Eric Haszlakiewicz 5 years ago
parent
commit
23ddcbd4da
3 changed files with 25 additions and 23 deletions
  1. +25
    -0
      json_object.c
  2. +0
    -6
      json_util.c
  3. +0
    -17
      json_util.h

+ 25
- 0
json_object.c View File

@@ -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();
}

+ 0
- 6
json_util.c View File

@@ -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();
}

+ 0
- 17
json_util.h View File

@@ -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


Loading…
Cancel
Save