forked from aniani/vim
patch 8.2.0800: errors from failing test are unclear
Problem: Errors from failing test are unclear. Solution: Include text where parsing failed.
This commit is contained in:
20
src/json.c
20
src/json.c
@@ -20,6 +20,8 @@
|
||||
|
||||
static int json_encode_item(garray_T *gap, typval_T *val, int copyID, int options);
|
||||
|
||||
static char e_json_error[] = N_("E491: json decode error at '%s'");
|
||||
|
||||
/*
|
||||
* Encode "val" into a JSON format string.
|
||||
* The result is added to "gap"
|
||||
@@ -740,7 +742,7 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
|
||||
retval = json_decode_string(reader, cur_item, *p);
|
||||
else
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
}
|
||||
break;
|
||||
@@ -748,7 +750,7 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
|
||||
case ',': // comma: empty item
|
||||
if ((options & JSON_JS) == 0)
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
break;
|
||||
}
|
||||
@@ -778,7 +780,7 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
|
||||
}
|
||||
if (!VIM_ISDIGIT(*sp))
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
break;
|
||||
}
|
||||
@@ -809,7 +811,7 @@ json_decode_item(js_read_T *reader, typval_T *res, int options)
|
||||
&nr, NULL, 0, TRUE);
|
||||
if (len == 0)
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
goto theend;
|
||||
}
|
||||
@@ -962,7 +964,7 @@ item_end:
|
||||
retval = MAYBE;
|
||||
else
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
}
|
||||
goto theend;
|
||||
@@ -980,7 +982,7 @@ item_end:
|
||||
retval = MAYBE;
|
||||
else
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
}
|
||||
goto theend;
|
||||
@@ -1036,7 +1038,7 @@ item_end:
|
||||
retval = MAYBE;
|
||||
else
|
||||
{
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
retval = FAIL;
|
||||
}
|
||||
goto theend;
|
||||
@@ -1055,7 +1057,7 @@ item_end:
|
||||
res->v_type = VAR_SPECIAL;
|
||||
res->vval.v_number = VVAL_NONE;
|
||||
}
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), p);
|
||||
|
||||
theend:
|
||||
ga_clear(&stack);
|
||||
@@ -1079,7 +1081,7 @@ json_decode_all(js_read_T *reader, typval_T *res, int options)
|
||||
if (ret != OK)
|
||||
{
|
||||
if (ret == MAYBE)
|
||||
emsg(_(e_invarg));
|
||||
semsg(_(e_json_error), reader->js_buf);
|
||||
return FAIL;
|
||||
}
|
||||
json_skip_white(reader);
|
||||
|
Reference in New Issue
Block a user