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

This commit is contained in:
Eric Haszlakiewicz
2020-04-18 02:02:06 +00:00
parent 4dc0f1718e
commit 5cc11289b4
2 changed files with 12 additions and 9 deletions

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)

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. * Cause json_tokener_parse_ex() to validate that input is UTF8.
* The json_tokener_validate_utf8() validate one utf8 char * If this flag is specified and validation fails, then
* after get one char, then begin to parse it. * 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.
*/ */