added QSE_FIO_TEMPORARY.

added qse_rand31()
fixed a minor bug in handling QSE_FMTINTMAX_ZEROLEAD
This commit is contained in:
2011-11-16 15:18:46 +00:00
parent e15fcd0c14
commit df28fde9ef
18 changed files with 645 additions and 302 deletions

View File

@ -325,26 +325,42 @@ static int print_expr (qse_awk_t* awk, qse_awk_nde_t* nde)
for (i = 0; i < len; i++)
{
/* TODO: maybe more de-escaping?? */
if (ptr[i] == QSE_T('\n'))
PUT_SRCSTR (awk, QSE_T("\\n"));
else if (ptr[i] == QSE_T('\r'))
PUT_SRCSTR (awk, QSE_T("\\r"));
else if (ptr[i] == QSE_T('\f'))
PUT_SRCSTR (awk, QSE_T("\\f"));
else if (ptr[i] == QSE_T('\b'))
PUT_SRCSTR (awk, QSE_T("\\b"));
else if (ptr[i] == QSE_T('\v'))
PUT_SRCSTR (awk, QSE_T("\\v"));
else if (ptr[i] == QSE_T('\a'))
PUT_SRCSTR (awk, QSE_T("\\a"));
else if (ptr[i] == QSE_T('\0'))
PUT_SRCSTR (awk, QSE_T("\\0"));
else if (ptr[i] == QSE_T('\"'))
PUT_SRCSTR (awk, QSE_T("\\\""));
else if (ptr[i] == QSE_T('\\'))
PUT_SRCSTR (awk, QSE_T("\\\\"));
else
PUT_SRCSTRX (awk, &ptr[i], 1);
switch (ptr[i])
{
case QSE_T('\n'):
PUT_SRCSTR (awk, QSE_T("\\n"));
break;
case QSE_T('\r'):
PUT_SRCSTR (awk, QSE_T("\\r"));
break;
case QSE_T('\t'):
PUT_SRCSTR (awk, QSE_T("\\t"));
break;
case QSE_T('\f'):
PUT_SRCSTR (awk, QSE_T("\\f"));
break;
case QSE_T('\b'):
PUT_SRCSTR (awk, QSE_T("\\b"));
break;
case QSE_T('\v'):
PUT_SRCSTR (awk, QSE_T("\\v"));
break;
case QSE_T('\a'):
PUT_SRCSTR (awk, QSE_T("\\a"));
break;
case QSE_T('\0'):
PUT_SRCSTR (awk, QSE_T("\\0"));
break;
case QSE_T('\"'):
PUT_SRCSTR (awk, QSE_T("\\\""));
break;
case QSE_T('\\'):
PUT_SRCSTR (awk, QSE_T("\\\\"));
break;
default:
PUT_SRCSTRX (awk, &ptr[i], 1);
break;
}
}
PUT_SRCSTR (awk, QSE_T("\""));
break;