changed qse_awk_seterrnum() and qse_awk_rtx_seterrnum()
This commit is contained in:
		@ -1,5 +1,5 @@
 | 
			
		||||
/*
 | 
			
		||||
 * $Id: run.c 255 2009-08-16 08:08:58Z hyunghwan.chung $
 | 
			
		||||
 * $Id: run.c 256 2009-08-16 13:44:20Z hyunghwan.chung $
 | 
			
		||||
 *
 | 
			
		||||
   Copyright 2006-2009 Chung, Hyung-Hwan.
 | 
			
		||||
 | 
			
		||||
@ -300,12 +300,10 @@ static int set_global (
 | 
			
		||||
		else
 | 
			
		||||
		{
 | 
			
		||||
			/* qse_awk_rtx_setgbl has been called */
 | 
			
		||||
			qse_cstr_t errarg;
 | 
			
		||||
			qse_cstr_t ea;
 | 
			
		||||
 | 
			
		||||
			errarg.ptr = qse_awk_getgblname (
 | 
			
		||||
				run->awk, idx, &errarg.len);
 | 
			
		||||
			qse_awk_rtx_seterror (run, 
 | 
			
		||||
				QSE_AWK_EMAPTOSCALAR, 0, &errarg);
 | 
			
		||||
			ea.ptr = qse_awk_getgblname (run->awk, idx, &ea.len);
 | 
			
		||||
			qse_awk_rtx_seterrnum (run, QSE_AWK_EMAPTOSCALAR, &ea);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return -1;
 | 
			
		||||
@ -1489,9 +1487,9 @@ qse_awk_val_t* qse_awk_rtx_call (
 | 
			
		||||
	);
 | 
			
		||||
	if (pair == QSE_NULL) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
		qse_awk_rtx_seterrnum (
 | 
			
		||||
			rtx, QSE_AWK_EFUNNF, 
 | 
			
		||||
			0, xstr_to_cstr(&call.what.fun.name));
 | 
			
		||||
			xstr_to_cstr(&call.what.fun.name));
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -3122,8 +3120,7 @@ static qse_awk_val_t* eval_expression (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
				 * whose message contains a formatting 
 | 
			
		||||
				 * character. otherwise, the following way of
 | 
			
		||||
				 * setting the error information may not work */
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, errnum, nde->line, QSE_NULL);
 | 
			
		||||
				qse_awk_rtx_seterror (run, errnum, nde->line, QSE_NULL);
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@ -3366,8 +3363,7 @@ static qse_awk_val_t* do_assignment_scalar (
 | 
			
		||||
		if (qse_map_upsert (run->named, 
 | 
			
		||||
			var->id.name.ptr, var->id.name.len, val, 0) == QSE_NULL)
 | 
			
		||||
		{
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				run, QSE_AWK_ENOMEM, var->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, var->line, QSE_NULL);
 | 
			
		||||
			return QSE_NULL;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -3481,9 +3477,7 @@ static qse_awk_val_t* do_assignment_map (
 | 
			
		||||
				qse_awk_rtx_refupval (run, tmp);
 | 
			
		||||
				qse_awk_rtx_refdownval (run, tmp);
 | 
			
		||||
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_ENOMEM, 
 | 
			
		||||
					var->line, QSE_NULL);
 | 
			
		||||
				qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, var->line, QSE_NULL);
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@ -3520,8 +3514,7 @@ static qse_awk_val_t* do_assignment_map (
 | 
			
		||||
	else if (map->type != QSE_AWK_VAL_MAP)
 | 
			
		||||
	{
 | 
			
		||||
		/* variable assigned is not a map */
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOTIDX, var->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOTIDX, var->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -3565,15 +3558,13 @@ static qse_awk_val_t* do_assignment_pos (
 | 
			
		||||
 | 
			
		||||
	if (n == -1) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EPOSIDX, pos->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EPOSIDX, pos->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
	if (n == 1) lv = (qse_long_t)rv;
 | 
			
		||||
	if (!IS_VALID_POSIDX(lv)) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EPOSIDX, pos->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EPOSIDX, pos->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -3818,11 +3809,8 @@ static qse_awk_val_t* eval_binop_in (
 | 
			
		||||
	    right->type != QSE_AWK_NDE_NAMED)
 | 
			
		||||
	{
 | 
			
		||||
		/* the compiler should have handled this case */
 | 
			
		||||
		QSE_ASSERT (
 | 
			
		||||
			!"should never happen - in needs a plain variable");
 | 
			
		||||
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EINTERN, right->line, QSE_NULL);
 | 
			
		||||
		QSE_ASSERT (!"should never happen - it needs a plain variable");
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EINTERN, right->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -4985,8 +4973,7 @@ static qse_awk_val_t* eval_incpre (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	    /*exp->left->type > QSE_AWK_NDE_ARGIDX) XXX */
 | 
			
		||||
	    exp->left->type > QSE_AWK_NDE_POS)
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EOPERAND, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EOPERAND, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5032,11 +5019,6 @@ static qse_awk_val_t* eval_incpre (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
			if (n == -1)
 | 
			
		||||
			{
 | 
			
		||||
				qse_awk_rtx_refdownval (run, left);
 | 
			
		||||
				/*
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_EOPERAND, nde->line,
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				*/
 | 
			
		||||
				run->errinf.lin = nde->line;
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
@ -5096,11 +5078,6 @@ static qse_awk_val_t* eval_incpre (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
			if (n == -1)
 | 
			
		||||
			{
 | 
			
		||||
				qse_awk_rtx_refdownval (run, left);
 | 
			
		||||
				/*
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_EOPERAND, nde->line, 
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				*/
 | 
			
		||||
				run->errinf.lin = nde->line;
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
@ -5126,12 +5103,9 @@ static qse_awk_val_t* eval_incpre (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		QSE_ASSERT (
 | 
			
		||||
			!"should never happen - invalid opcode");
 | 
			
		||||
		QSE_ASSERT (!"should never happen - invalid opcode");
 | 
			
		||||
		qse_awk_rtx_refdownval (run, left);
 | 
			
		||||
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EINTERN, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EINTERN, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5160,8 +5134,7 @@ static qse_awk_val_t* eval_incpst (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	    /*exp->left->type > QSE_AWK_NDE_ARGIDX) XXX */
 | 
			
		||||
	    exp->left->type > QSE_AWK_NDE_POS)
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EOPERAND, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EOPERAND, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5227,11 +5200,6 @@ static qse_awk_val_t* eval_incpst (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
			if (n == -1)
 | 
			
		||||
			{
 | 
			
		||||
				qse_awk_rtx_refdownval (run, left);
 | 
			
		||||
				/*
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_EOPERAND, nde->line,
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				*/
 | 
			
		||||
				run->errinf.lin = nde->line;
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
@ -5337,11 +5305,6 @@ static qse_awk_val_t* eval_incpst (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
			if (n == -1)
 | 
			
		||||
			{
 | 
			
		||||
				qse_awk_rtx_refdownval (run, left);
 | 
			
		||||
				/*
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_EOPERAND, nde->line, 
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				*/
 | 
			
		||||
				run->errinf.lin = nde->line;
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
@ -5393,12 +5356,9 @@ static qse_awk_val_t* eval_incpst (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	}
 | 
			
		||||
	else
 | 
			
		||||
	{
 | 
			
		||||
		QSE_ASSERT (
 | 
			
		||||
			!"should never happen - invalid opcode");
 | 
			
		||||
		QSE_ASSERT (!"should never happen - invalid opcode");
 | 
			
		||||
		qse_awk_rtx_refdownval (run, left);
 | 
			
		||||
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EINTERN, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EINTERN, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5442,15 +5402,13 @@ static qse_awk_val_t* eval_fnc (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	/* intrinsic function */
 | 
			
		||||
	if (call->nargs < call->what.fnc.arg.min)
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EARGTF, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EARGTF, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (call->nargs > call->what.fnc.arg.max)
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EARGTM, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EARGTM, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5591,16 +5549,14 @@ static qse_awk_val_t* __eval_call (
 | 
			
		||||
#endif
 | 
			
		||||
	if (__raw_push(run,(void*)run->stack_base) == -1) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (__raw_push(run,(void*)saved_stack_top) == -1) 
 | 
			
		||||
	{
 | 
			
		||||
		__raw_pop (run);
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5609,8 +5565,7 @@ static qse_awk_val_t* __eval_call (
 | 
			
		||||
	{
 | 
			
		||||
		__raw_pop (run);
 | 
			
		||||
		__raw_pop (run);
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5620,8 +5575,7 @@ static qse_awk_val_t* __eval_call (
 | 
			
		||||
		__raw_pop (run);
 | 
			
		||||
		__raw_pop (run);
 | 
			
		||||
		__raw_pop (run);
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -5645,9 +5599,7 @@ static qse_awk_val_t* __eval_call (
 | 
			
		||||
			if (__raw_push(run,qse_awk_val_nil) == -1)
 | 
			
		||||
			{
 | 
			
		||||
				UNWIND_RTX_STACK (run, nargs);
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_ENOMEM, nde->line,
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
@ -5804,8 +5756,7 @@ static qse_size_t push_arg_from_vals (
 | 
			
		||||
			qse_awk_rtx_refdownval (rtx, pafv->args[nargs]);
 | 
			
		||||
 | 
			
		||||
			UNWIND_RTX_STACK_ARG (rtx, nargs);
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				rtx, QSE_AWK_ENOMEM, call->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (rtx, QSE_AWK_ENOMEM, call->line, QSE_NULL);
 | 
			
		||||
			return (qse_size_t)-1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -5876,8 +5827,7 @@ static qse_size_t push_arg_from_nde (
 | 
			
		||||
			qse_awk_rtx_refdownval (rtx, v);
 | 
			
		||||
 | 
			
		||||
			UNWIND_RTX_STACK_ARG (rtx, nargs);
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				rtx, QSE_AWK_ENOMEM, call->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (rtx, QSE_AWK_ENOMEM, call->line, QSE_NULL);
 | 
			
		||||
			return (qse_size_t)-1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -5922,9 +5872,7 @@ static int get_reference (
 | 
			
		||||
				tgt->id.name.len, qse_awk_val_nil, 0);
 | 
			
		||||
			if (pair == QSE_NULL) 
 | 
			
		||||
			{
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_ENOMEM, nde->line,
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
				return -1;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@ -5964,9 +5912,7 @@ static int get_reference (
 | 
			
		||||
				tgt->id.name.len, qse_awk_val_nil, 0);
 | 
			
		||||
			if (pair == QSE_NULL) 
 | 
			
		||||
			{
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_ENOMEM, nde->line,
 | 
			
		||||
					QSE_NULL);
 | 
			
		||||
				qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
				return -1;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
@ -6019,15 +5965,13 @@ static int get_reference (
 | 
			
		||||
 | 
			
		||||
		if (n == -1) 
 | 
			
		||||
		{
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
			return -1;
 | 
			
		||||
		}
 | 
			
		||||
		if (n == 1) lv = (qse_long_t)rv;
 | 
			
		||||
		if (!IS_VALID_POSIDX(lv)) 
 | 
			
		||||
		{
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
			return -1;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -6066,8 +6010,7 @@ static qse_awk_val_t** get_reference_indexed (
 | 
			
		||||
	}
 | 
			
		||||
	else if ((*val)->type != QSE_AWK_VAL_MAP) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOTMAP, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOTMAP, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -6086,8 +6029,7 @@ static qse_awk_val_t** get_reference_indexed (
 | 
			
		||||
		if (pair == QSE_NULL)
 | 
			
		||||
		{
 | 
			
		||||
			if (str != idxbuf) QSE_AWK_FREE (run->awk, str);
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
			return QSE_NULL;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -6214,8 +6156,7 @@ static qse_awk_val_t* eval_indexed (
 | 
			
		||||
	}
 | 
			
		||||
	else if ((*val)->type != QSE_AWK_VAL_MAP) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOTMAP, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOTMAP, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -6244,8 +6185,7 @@ static qse_awk_val_t* eval_namedidx (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
			tgt->id.name.ptr, tgt->id.name.len, qse_awk_val_nil, 0);
 | 
			
		||||
		if (pair == QSE_NULL) 
 | 
			
		||||
		{
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
			return QSE_NULL;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -6289,16 +6229,14 @@ static qse_awk_val_t* eval_pos (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	qse_awk_rtx_refdownval (run, v);
 | 
			
		||||
	if (n == -1) 
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
	if (n == 1) lv = (qse_long_t)rv;
 | 
			
		||||
 | 
			
		||||
	if (lv < 0)
 | 
			
		||||
	{
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_EPOSIDX, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
	if (lv == 0) v = run->inrec.d0;
 | 
			
		||||
@ -6382,8 +6320,7 @@ static qse_awk_val_t* eval_getline (qse_awk_rtx_t* run, qse_awk_nde_t* nde)
 | 
			
		||||
	if (qse_str_init (&buf, MMGR(run), DEF_BUF_CAPA) == QSE_NULL)
 | 
			
		||||
	{
 | 
			
		||||
		if (in != QSE_NULL) QSE_AWK_FREE (run->awk, in);
 | 
			
		||||
		qse_awk_rtx_seterror (
 | 
			
		||||
			run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
		return QSE_NULL;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@ -6681,8 +6618,7 @@ static qse_char_t* idxnde_to_str (
 | 
			
		||||
 | 
			
		||||
		if (qse_str_init (&idxstr, MMGR(run), DEF_BUF_CAPA) == QSE_NULL) 
 | 
			
		||||
		{
 | 
			
		||||
			qse_awk_rtx_seterror (
 | 
			
		||||
				run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
			qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
			return QSE_NULL;
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -6705,9 +6641,7 @@ static qse_char_t* idxnde_to_str (
 | 
			
		||||
				qse_awk_rtx_refdownval (run, idx);
 | 
			
		||||
				qse_str_fini (&idxstr);
 | 
			
		||||
 | 
			
		||||
				qse_awk_rtx_seterror (
 | 
			
		||||
					run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
 | 
			
		||||
				qse_awk_rtx_seterror (run, QSE_AWK_ENOMEM, nde->line, QSE_NULL);
 | 
			
		||||
				return QSE_NULL;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user