From 5cc11289b4e7c1f74e1528278185ba91a8d8f44d Mon Sep 17 00:00:00 2001 From: Eric Haszlakiewicz Date: Sat, 18 Apr 2020 02:02:06 +0000 Subject: [PATCH] Make json_tokener_validate_utf8() internal to json_tokener.c, and improve the docs a bit. --- json_tokener.c | 9 ++++++++- json_tokener.h | 12 ++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/json_tokener.c b/json_tokener.c index 18df686..1e72076 100644 --- a/json_tokener.c +++ b/json_tokener.c @@ -89,6 +89,13 @@ static const char *json_tokener_errors[] = { }; /* 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) { int jerr_int = (int)jerr; @@ -1160,7 +1167,7 @@ out: 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; if (*nBytes == 0) diff --git a/json_tokener.h b/json_tokener.h index 09f21f4..407e937 100644 --- a/json_tokener.h +++ b/json_tokener.h @@ -139,9 +139,10 @@ typedef struct json_tokener json_tokener; #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. * @@ -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, 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. */ -- 2.50.0