simplified some functions

This commit is contained in:
2012-11-06 04:30:35 +00:00
parent dfc5fdfdea
commit a3ee069804
7 changed files with 106 additions and 123 deletions

View File

@ -2484,23 +2484,15 @@ qse_cmgr_t* qse_awk_rtx_getcmgrstd (
return QSE_NULL;
}
static int QSE_INLINE add_global (qse_awk_t* awk, const qse_char_t* ptr, qse_size_t len)
{
qse_cstr_t nx;
nx.ptr = ptr;
nx.len = len;
return qse_awk_addgbl (awk, &nx);
}
static int add_globals (qse_awk_t* awk)
{
xtn_t* xtn;
xtn = (xtn_t*) QSE_XTN (awk);
xtn->gbl_argc = add_global (awk, QSE_T("ARGC"), 4);
xtn->gbl_argv = add_global (awk, QSE_T("ARGV"), 4);
xtn->gbl_environ = add_global (awk, QSE_T("ENVIRON"), 7);
xtn->gbl_argc = qse_awk_addgbl (awk, QSE_T("ARGC"));
xtn->gbl_argv = qse_awk_addgbl (awk, QSE_T("ARGV"));
xtn->gbl_environ = qse_awk_addgbl (awk, QSE_T("ENVIRON"));
return (xtn->gbl_argc <= -1 ||
xtn->gbl_argv <= -1 ||
@ -2509,18 +2501,17 @@ static int add_globals (qse_awk_t* awk)
struct fnctab_t
{
qse_cstr_t name;
const qse_char_t* name;
qse_awk_fnc_spec_t spec;
int valid;
};
static struct fnctab_t fnctab[] =
{
{ {QSE_T("rand"), 4}, { {0, 0, QSE_NULL}, fnc_rand, 0 } },
{ {QSE_T("srand"), 5}, { {0, 1, QSE_NULL}, fnc_srand, 0 } },
{ {QSE_T("system"), 6}, { {1, 1, QSE_NULL}, fnc_system , 0 } },
{ {QSE_T("setioattr"), 9}, { {3, 3, QSE_NULL}, fnc_setioattr, QSE_AWK_RIO } },
{ {QSE_T("getioattr"), 9}, { {2, 2, QSE_NULL}, fnc_getioattr, QSE_AWK_RIO } }
{ QSE_T("rand"), { {0, 0, QSE_NULL}, fnc_rand, 0 } },
{ QSE_T("srand"), { {0, 1, QSE_NULL}, fnc_srand, 0 } },
{ QSE_T("system"), { {1, 1, QSE_NULL}, fnc_system , 0 } },
{ QSE_T("setioattr"), { {3, 3, QSE_NULL}, fnc_setioattr, QSE_AWK_RIO } },
{ QSE_T("getioattr"), { {2, 2, QSE_NULL}, fnc_getioattr, QSE_AWK_RIO } }
};
static int add_functions (qse_awk_t* awk)
@ -2529,7 +2520,7 @@ static int add_functions (qse_awk_t* awk)
for (i = 0; i < QSE_COUNTOF(fnctab); i++)
{
if (qse_awk_addfnc (awk, &fnctab[i].name, &fnctab[i].spec) == QSE_NULL) return -1;
if (qse_awk_addfnc (awk, fnctab[i].name, &fnctab[i].spec) == QSE_NULL) return -1;
}
return 0;