included the int() function into the main awk
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* $Id: std.c 459 2011-05-17 14:37:51Z hyunghwan.chung $
|
||||
* $Id: std.c 461 2011-05-18 02:32:39Z hyunghwan.chung $
|
||||
*
|
||||
Copyright 2006-2011 Chung, Hyung-Hwan.
|
||||
This file is part of QSE.
|
||||
@ -1338,31 +1338,6 @@ void* qse_awk_rtx_getxtnstd (qse_awk_rtx_t* rtx)
|
||||
return (void*)((rxtn_t*)QSE_XTN(rtx) + 1);
|
||||
}
|
||||
|
||||
static int fnc_int (qse_awk_rtx_t* run, const qse_cstr_t* fnm)
|
||||
{
|
||||
qse_size_t nargs;
|
||||
qse_awk_val_t* a0;
|
||||
qse_long_t lv;
|
||||
qse_real_t rv;
|
||||
qse_awk_val_t* r;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
n = qse_awk_rtx_valtonum (run, a0, &lv, &rv);
|
||||
if (n == -1) return -1;
|
||||
if (n == 1) lv = (qse_long_t)rv;
|
||||
|
||||
r = qse_awk_rtx_makeintval (run, lv);
|
||||
if (r == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int fnc_rand (qse_awk_rtx_t* run, const qse_cstr_t* fnm)
|
||||
{
|
||||
qse_awk_val_t* r;
|
||||
@ -1516,9 +1491,8 @@ skip_system:
|
||||
|
||||
static int add_functions (qse_awk_t* awk)
|
||||
{
|
||||
ADDFNC (awk, QSE_T("int"), 1, 1, fnc_int);
|
||||
ADDFNC (awk, QSE_T("rand"), 0, 0, fnc_rand);
|
||||
ADDFNC (awk, QSE_T("srand"), 0, 1, fnc_srand);
|
||||
ADDFNC (awk, QSE_T("system"), 1, 1, fnc_system);
|
||||
ADDFNC (awk, QSE_T("rand"), 0, 0, fnc_rand);
|
||||
ADDFNC (awk, QSE_T("srand"), 0, 1, fnc_srand);
|
||||
ADDFNC (awk, QSE_T("system"), 1, 1, fnc_system);
|
||||
return 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user