added QSE_XLI_NOLIST and QSE_XLI_NONIL
This commit is contained in:
@ -811,7 +811,7 @@ static int read_pair (qse_xli_t* xli)
|
||||
/* TODO: check against schema */
|
||||
|
||||
}
|
||||
else if (MATCH (xli, TOK_LBRACE))
|
||||
else if (!(xli->opt.trait & QSE_XLI_NOLIST) && MATCH (xli, TOK_LBRACE))
|
||||
{
|
||||
if (scm && !(scm->flags & QSE_XLI_SCM_VALLIST))
|
||||
{
|
||||
@ -847,6 +847,12 @@ static int read_pair (qse_xli_t* xli)
|
||||
}
|
||||
else if (MATCH (xli, TOK_SEMICOLON))
|
||||
{
|
||||
if (xli->opt.trait & QSE_XLI_NONIL)
|
||||
{
|
||||
qse_xli_seterror (xli, QSE_XLI_ENOVAL, (const qse_cstr_t*)&key, &kloc);
|
||||
goto oops;
|
||||
}
|
||||
|
||||
if (scm && !(scm->flags & QSE_XLI_SCM_VALNIL) &&
|
||||
!((scm->flags & QSE_XLI_SCM_VALSTR) && scm->str_minseg <= 0))
|
||||
{
|
||||
|
Reference in New Issue
Block a user