Use a more specific error code for premature end of input
This commit is contained in:
parent
9e5af7c3b7
commit
45228cada4
@ -122,6 +122,10 @@ static void error_set(json_error_t *error, const lex_t *lex,
|
||||
}
|
||||
else
|
||||
{
|
||||
if(code == json_error_invalid_syntax) {
|
||||
/* More specific error code for premature end of file. */
|
||||
code = json_error_premature_end_of_input;
|
||||
}
|
||||
if(lex->stream.state == STREAM_STATE_ERROR) {
|
||||
/* No context for UTF-8 decoding errors */
|
||||
result = msg_text;
|
||||
|
@ -221,6 +221,14 @@ static void error_code()
|
||||
fail("error.text longer than expected");
|
||||
if(json_error_code(&error) != json_error_end_of_input_expected)
|
||||
fail("json_loads returned incorrect error code");
|
||||
|
||||
json = json_loads("{\"foo\": ", 0, &error);
|
||||
if(json != NULL)
|
||||
fail("json_loads returned not NULL");
|
||||
if(strlen(error.text) >= JSON_ERROR_TEXT_LENGTH)
|
||||
fail("error.text longer than expected");
|
||||
if(json_error_code(&error) != json_error_premature_end_of_input)
|
||||
fail("json_loads returned incorrect error code");
|
||||
}
|
||||
|
||||
static void run_tests()
|
||||
|
Loading…
Reference in New Issue
Block a user