implemented comment preservation in the ini-format reader code correctly
This commit is contained in:
parent
9cf7a9af9d
commit
3e1f52baa9
@ -112,16 +112,12 @@ static int skip_comment (qse_xli_t* xli, qse_xli_tok_t* tok)
|
|||||||
GET_CHAR_TO (xli, c);
|
GET_CHAR_TO (xli, c);
|
||||||
if (c == QSE_T('\n') || c == QSE_CHAR_EOF) break;
|
if (c == QSE_T('\n') || c == QSE_CHAR_EOF) break;
|
||||||
|
|
||||||
/* i don't honor QSE_XLI_KEEPTEXT in the ini-format reader...
|
|
||||||
if (xli->opt.trait & QSE_XLI_KEEPTEXT) ADD_TOKEN_CHAR (xli, tok, c);
|
if (xli->opt.trait & QSE_XLI_KEEPTEXT) ADD_TOKEN_CHAR (xli, tok, c);
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
while (1);
|
while (1);
|
||||||
|
|
||||||
/* i don't honor QSE_XLI_KEEPTEXT in the ini-format reader...
|
|
||||||
if ((xli->opt.trait & QSE_XLI_KEEPTEXT) &&
|
if ((xli->opt.trait & QSE_XLI_KEEPTEXT) &&
|
||||||
qse_xli_inserttext (xli, &xli->root->list, QSE_NULL, QSE_STR_PTR(tok->name)) == QSE_NULL) return -1;
|
qse_xli_inserttext (xli, xli->parlink->list, QSE_NULL, QSE_STR_PTR(tok->name)) == QSE_NULL) return -1;
|
||||||
*/
|
|
||||||
|
|
||||||
GET_CHAR (xli); /* eat the new line letter */
|
GET_CHAR (xli); /* eat the new line letter */
|
||||||
return 1; /* comment by ; */
|
return 1; /* comment by ; */
|
||||||
@ -317,11 +313,13 @@ static int read_list (qse_xli_t* xli)
|
|||||||
/* insert a pair with an empty list */
|
/* insert a pair with an empty list */
|
||||||
pair = qse_xli_insertpairwithemptylist (xli, &xli->root->list, QSE_NULL, QSE_STR_PTR(xli->tok.name), QSE_NULL, QSE_NULL);
|
pair = qse_xli_insertpairwithemptylist (xli, &xli->root->list, QSE_NULL, QSE_STR_PTR(xli->tok.name), QSE_NULL, QSE_NULL);
|
||||||
if (pair == QSE_NULL) goto oops;
|
if (pair == QSE_NULL) goto oops;
|
||||||
|
|
||||||
curlist = (qse_xli_list_t*)pair->val;
|
curlist = (qse_xli_list_t*)pair->val;
|
||||||
|
xli->parlink->list = curlist;
|
||||||
|
|
||||||
while (1)
|
while (1)
|
||||||
{
|
{
|
||||||
if (get_token(xli) <= -1) goto oops;
|
if (get_token (xli) <= -1) goto oops;
|
||||||
|
|
||||||
if (MATCH(xli, QSE_XLI_TOK_EOF)) break;
|
if (MATCH(xli, QSE_XLI_TOK_EOF)) break;
|
||||||
if (MATCH(xli, QSE_XLI_TOK_TAG))
|
if (MATCH(xli, QSE_XLI_TOK_TAG))
|
||||||
@ -329,7 +327,9 @@ static int read_list (qse_xli_t* xli)
|
|||||||
/* switch to a new tag */
|
/* switch to a new tag */
|
||||||
pair = qse_xli_insertpairwithemptylist (xli, &xli->root->list, QSE_NULL, QSE_STR_PTR(xli->tok.name), QSE_NULL, QSE_NULL);
|
pair = qse_xli_insertpairwithemptylist (xli, &xli->root->list, QSE_NULL, QSE_STR_PTR(xli->tok.name), QSE_NULL, QSE_NULL);
|
||||||
if (pair == QSE_NULL) goto oops;
|
if (pair == QSE_NULL) goto oops;
|
||||||
|
|
||||||
curlist = (qse_xli_list_t*)pair->val;
|
curlist = (qse_xli_list_t*)pair->val;
|
||||||
|
xli->parlink->list = curlist;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -319,7 +319,7 @@ qse_xli_pair_t* qse_xli_insertpairwithemptylist (
|
|||||||
if (!val) return QSE_NULL;
|
if (!val) return QSE_NULL;
|
||||||
|
|
||||||
val->type = QSE_XLI_LIST;
|
val->type = QSE_XLI_LIST;
|
||||||
tmp = qse_xli_insertpair (xli, parent, peer, key, alias, keytag, (qse_xli_val_t*)val);
|
tmp = qse_xli_insertpair (xli, parent, peer, key, alias, keytag, (qse_xli_val_t*)val);
|
||||||
if (!tmp) qse_xli_freemem (xli, val);
|
if (!tmp) qse_xli_freemem (xli, val);
|
||||||
return tmp;
|
return tmp;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user