fixed a bug in closing a qse_awk_rtx_t object
- refdown_globals() should have been called after qse_awk_rtx_clrrec() as it still access NF. fixed typo in awk error messages fixed a memory allocation bug in matching a group (match_group) uncommented binary number parsing code in the awk parser.
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: sed.c 203 2009-06-17 12:43:50Z hyunghwan.chung $
|
||||
* $Id: sed.c 207 2009-06-22 13:01:28Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
|
||||
@ -39,45 +39,6 @@ do { \
|
||||
qse_sed_seterror (sed, num, line, &__qse__err__arg__); \
|
||||
} while (0)
|
||||
|
||||
static const qse_char_t* dflerrstr (qse_sed_t* sed, qse_sed_errnum_t errnum)
|
||||
{
|
||||
static const qse_char_t* errstr[] =
|
||||
{
|
||||
QSE_T("no error"),
|
||||
QSE_T("insufficient memory"),
|
||||
QSE_T("command '${0}' not recognized"),
|
||||
QSE_T("command code missing"),
|
||||
QSE_T("command '${0}' incomplete"),
|
||||
QSE_T("regular expression '${0}' incomplete"),
|
||||
QSE_T("failed to compile regular expression '${0}'"),
|
||||
QSE_T("failed to match regular expression"),
|
||||
QSE_T("address 1 prohibited for '${0}'"),
|
||||
QSE_T("address 2 prohibited for '${0}'"),
|
||||
QSE_T("address 2 missing or invalid"),
|
||||
QSE_T("newline expected"),
|
||||
QSE_T("backslash expected"),
|
||||
QSE_T("backslash used as delimiter"),
|
||||
QSE_T("garbage after backslash"),
|
||||
QSE_T("semicolon expected"),
|
||||
QSE_T("empty label name"),
|
||||
QSE_T("duplicate label name '${0}'"),
|
||||
QSE_T("label '${0}' not found"),
|
||||
QSE_T("empty file name"),
|
||||
QSE_T("illegal file name"),
|
||||
QSE_T("strings in translation set not the same length"),
|
||||
QSE_T("group brackets not balanced"),
|
||||
QSE_T("group nesting too deep"),
|
||||
QSE_T("multiple occurrence specifiers"),
|
||||
QSE_T("occurrence specifier zero"),
|
||||
QSE_T("occurrence specifier too large"),
|
||||
QSE_T("io error with file '${0}'"),
|
||||
QSE_T("error returned by user io handler")
|
||||
};
|
||||
|
||||
return (errnum >= 0 && errnum < QSE_COUNTOF(errstr))?
|
||||
errstr[errnum]: QSE_T("unknown error");
|
||||
}
|
||||
|
||||
qse_sed_t* qse_sed_open (qse_mmgr_t* mmgr, qse_size_t xtn)
|
||||
{
|
||||
qse_sed_t* sed;
|
||||
@ -114,7 +75,7 @@ static qse_sed_t* qse_sed_init (qse_sed_t* sed, qse_mmgr_t* mmgr)
|
||||
{
|
||||
QSE_MEMSET (sed, 0, QSE_SIZEOF(*sed));
|
||||
sed->mmgr = mmgr;
|
||||
sed->errstr = dflerrstr;
|
||||
sed->errstr = qse_sed_dflerrstr;
|
||||
|
||||
if (qse_str_init (&sed->tmp.rex, mmgr, 0) == QSE_NULL)
|
||||
{
|
||||
|
Reference in New Issue
Block a user