Browse Source

Make json_tokener_validate_utf8() internal to json_tokener.c, and improve the docs a bit.

tags/json-c-0.14-20200419
Eric Haszlakiewicz 5 years ago
parent
commit
5cc11289b4
2 changed files with 12 additions and 9 deletions
  1. +8
    -1
      json_tokener.c
  2. +4
    -8
      json_tokener.h

+ 8
- 1
json_tokener.c View File

@@ -89,6 +89,13 @@ static const char *json_tokener_errors[] = {
}; };
/* clang-format on */ /* clang-format on */


/**
* validete the utf-8 string in strict model.
* if not utf-8 format, return err.
*/
static json_bool json_tokener_validate_utf8(const char c, unsigned int *nBytes);


const char *json_tokener_error_desc(enum json_tokener_error jerr) const char *json_tokener_error_desc(enum json_tokener_error jerr)
{ {
int jerr_int = (int)jerr; int jerr_int = (int)jerr;
@@ -1160,7 +1167,7 @@ out:
return NULL; return NULL;
} }


json_bool json_tokener_validate_utf8(const char c, unsigned int *nBytes)
static json_bool json_tokener_validate_utf8(const char c, unsigned int *nBytes)
{ {
unsigned char chr = c; unsigned char chr = c;
if (*nBytes == 0) if (*nBytes == 0)


+ 4
- 8
json_tokener.h View File

@@ -139,9 +139,10 @@ typedef struct json_tokener json_tokener;
#define JSON_TOKENER_STRICT 0x01 #define JSON_TOKENER_STRICT 0x01


/** /**
* Allow json_tokener_parse_ex() validate utf-8 char.
* The json_tokener_validate_utf8() validate one utf8 char
* after get one char, then begin to parse it.
* Cause json_tokener_parse_ex() to validate that input is UTF8.
* If this flag is specified and validation fails, then
* json_tokener_get_error(tok) will return
* json_tokener_error_parse_utf8_string
* *
* This flag is not set by default. * This flag is not set by default.
* *
@@ -176,11 +177,6 @@ JSON_EXPORT struct json_object *json_tokener_parse(const char *str);
JSON_EXPORT struct json_object *json_tokener_parse_verbose(const char *str, JSON_EXPORT struct json_object *json_tokener_parse_verbose(const char *str,
enum json_tokener_error *error); enum json_tokener_error *error);


/**
* validete the utf-8 string in strict model.
* if not utf-8 format, return err.
*/
json_bool json_tokener_validate_utf8(const char c, unsigned int *nBytes);
/** /**
* Set flags that control how parsing will be done. * Set flags that control how parsing will be done.
*/ */


Loading…
Cancel
Save