fixed a few minor bugs
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: err.c 212 2009-06-25 07:39:27Z hyunghwan.chung $
|
||||
* $Id: err.c 213 2009-06-26 13:05:19Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
|
||||
@ -39,7 +39,7 @@ const qse_char_t* qse_awk_dflerrstr (qse_awk_t* awk, qse_awk_errnum_t errnum)
|
||||
QSE_T("file or data too big"),
|
||||
QSE_T("system too busy"),
|
||||
QSE_T("is a directory"),
|
||||
QSE_T("i/o error"),
|
||||
QSE_T("IO error"),
|
||||
|
||||
QSE_T("cannot open '${0}'"),
|
||||
QSE_T("cannot read '${0}'"),
|
||||
@ -143,10 +143,10 @@ const qse_char_t* qse_awk_dflerrstr (qse_awk_t* awk, qse_awk_errnum_t errnum)
|
||||
QSE_T("wrong implementation of intrinsic function handler"),
|
||||
QSE_T("intrinsic function handler returned an error"),
|
||||
QSE_T("wrong implementation of user-defined io handler"),
|
||||
QSE_T("no such io name found"),
|
||||
QSE_T("i/o handler returned an error"),
|
||||
QSE_T("i/o name empty"),
|
||||
QSE_T("i/o name '${0}' containing a null character"),
|
||||
QSE_T("IO handler returned an error"),
|
||||
QSE_T("no such IO name found"),
|
||||
QSE_T("IO name empty"),
|
||||
QSE_T("IO name '${0}' containing a null character"),
|
||||
QSE_T("not sufficient arguments to formatting sequence"),
|
||||
QSE_T("recursion detected in format conversion"),
|
||||
QSE_T("invalid character in CONVFMT"),
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: fnc.c 211 2009-06-24 09:50:10Z hyunghwan.chung $
|
||||
* $Id: fnc.c 213 2009-06-26 13:05:19Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
|
||||
@ -282,7 +282,7 @@ static int fnc_close (
|
||||
|
||||
n = qse_awk_rtx_closeio (run, name);
|
||||
/*
|
||||
if (n == -1 && run->errinf.num != QSE_AWK_EIONONE)
|
||||
if (n == -1 && run->errinf.num != QSE_AWK_EIONMNF)
|
||||
{
|
||||
if (a0->type != QSE_AWK_VAL_STR)
|
||||
QSE_AWK_FREE (run->awk, name);
|
||||
@ -316,13 +316,13 @@ static int flush_io (
|
||||
{
|
||||
/*
|
||||
if (run->errinf.num == QSE_AWK_EIOIMPL) n = -1;
|
||||
else if (run->errinf.num == QSE_AWK_EIONONE)
|
||||
else if (run->errinf.num == QSE_AWK_EIONMNF)
|
||||
{
|
||||
if (n != 0) n = -2;
|
||||
}
|
||||
else n = -99;
|
||||
*/
|
||||
if (run->errinf.num == QSE_AWK_EIONONE)
|
||||
if (run->errinf.num == QSE_AWK_EIONMNF)
|
||||
{
|
||||
if (n != 0) n = -2;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: parse.c 212 2009-06-25 07:39:27Z hyunghwan.chung $
|
||||
* $Id: parse.c 213 2009-06-26 13:05:19Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
|
||||
@ -3039,11 +3039,15 @@ static qse_awk_nde_t* parse_primary (qse_awk_t* awk, qse_size_t line)
|
||||
{
|
||||
qse_awk_nde_t* tmp;
|
||||
|
||||
if (get_token(awk) <= -1)
|
||||
do
|
||||
{
|
||||
qse_awk_clrpt (awk, nde);
|
||||
return QSE_NULL;
|
||||
}
|
||||
if (get_token(awk) <= -1)
|
||||
{
|
||||
qse_awk_clrpt (awk, nde);
|
||||
return QSE_NULL;
|
||||
}
|
||||
}
|
||||
while (MATCH(awk,TOKEN_NEWLINE));
|
||||
|
||||
tmp = parse_expression (awk, awk->token.line);
|
||||
if (tmp == QSE_NULL)
|
||||
@ -4635,7 +4639,8 @@ static int get_token (qse_awk_t* awk)
|
||||
}
|
||||
else if (c == QSE_T('\n'))
|
||||
{
|
||||
ADD_TOKEN_CHAR (awk, QSE_T('\n'));
|
||||
/*ADD_TOKEN_CHAR (awk, QSE_T('\n'));*/
|
||||
ADD_TOKEN_STR (awk, QSE_T("<NL>"), 4);
|
||||
SET_TOKEN_TYPE (awk, TOKEN_NEWLINE);
|
||||
GET_CHAR (awk);
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: rio.c 207 2009-06-22 13:01:28Z hyunghwan.chung $
|
||||
* $Id: rio.c 213 2009-06-26 13:05:19Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
|
||||
@ -634,7 +634,7 @@ int qse_awk_rtx_flushio (
|
||||
if (ok) return 0;
|
||||
|
||||
/* there is no corresponding rio for name */
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONONE);
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONMNF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -844,7 +844,7 @@ int qse_awk_rtx_closio_read (
|
||||
}
|
||||
|
||||
/* the name given is not found */
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONONE);
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONMNF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -903,7 +903,7 @@ int qse_awk_rtx_closio_write (
|
||||
p = p->next;
|
||||
}
|
||||
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONONE);
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONMNF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -945,7 +945,7 @@ int qse_awk_rtx_closeio (qse_awk_rtx_t* run, const qse_char_t* name)
|
||||
p = p->next;
|
||||
}
|
||||
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONONE);
|
||||
qse_awk_rtx_seterrnum (run, QSE_AWK_EIONMNF);
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: run.c 210 2009-06-24 08:29:33Z hyunghwan.chung $
|
||||
* $Id: run.c 213 2009-06-26 13:05:19Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2009 Chung, Hyung-Hwan.
|
||||
|
||||
@ -2934,6 +2934,9 @@ static int run_print (qse_awk_rtx_t* run, qse_awk_nde_print_t* nde)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* unlike printf, flushio() is not needed here as print
|
||||
* inserts <NL> that triggers auto-flush */
|
||||
|
||||
if (out != QSE_NULL) QSE_AWK_FREE (run->awk, out);
|
||||
|
||||
/*skip_write:*/
|
||||
@ -3069,10 +3072,13 @@ static int run_printf (qse_awk_rtx_t* run, qse_awk_nde_print_t* nde)
|
||||
}
|
||||
qse_awk_rtx_refdownval (run, v);
|
||||
|
||||
if (out != QSE_NULL) QSE_AWK_FREE (run->awk, out);
|
||||
|
||||
/*skip_write:*/
|
||||
return qse_awk_rtx_flushio (run, nde->out_type, dst);
|
||||
n = qse_awk_rtx_flushio (run, nde->out_type, dst);
|
||||
|
||||
if (out != QSE_NULL) QSE_AWK_FREE (run->awk, out);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
static int output_formatted (
|
||||
@ -4045,7 +4051,7 @@ static int __cmp_int_str (
|
||||
qse_awk_rtx_valtostr_out_t out;
|
||||
int n;
|
||||
|
||||
if (rtx->awk->option & QSE_AWK_NCMPONSTR)
|
||||
if (rtx->awk->option & QSE_AWK_NCMPONSTR || right->nstr > 0)
|
||||
{
|
||||
qse_long_t ll;
|
||||
qse_real_t rr;
|
||||
@ -4131,7 +4137,7 @@ static int __cmp_real_str (
|
||||
qse_awk_rtx_valtostr_out_t out;
|
||||
int n;
|
||||
|
||||
if (rtx->awk->option & QSE_AWK_NCMPONSTR)
|
||||
if (rtx->awk->option & QSE_AWK_NCMPONSTR || right->nstr > 0)
|
||||
{
|
||||
const qse_char_t* end;
|
||||
qse_real_t rr;
|
||||
|
Reference in New Issue
Block a user