partially renamed functions related to a runtime context
This commit is contained in:
parent
987e709021
commit
b9c02b48bc
@ -296,6 +296,7 @@ protected:
|
||||
Source::Mode mode = io.getMode();
|
||||
FILE* fp = QSE_NULL;
|
||||
|
||||
// TODO: use sio instead of stdio
|
||||
if (mode == Source::READ)
|
||||
{
|
||||
if (srcInName == QSE_NULL)
|
||||
@ -364,7 +365,7 @@ protected:
|
||||
{
|
||||
if (*buf == QSE_T('\0'))
|
||||
{
|
||||
if (qse_fputc (*buf, fp) == QSE_CHAR_EOF) return -1;
|
||||
if (qse_fputc(*buf,fp) == QSE_CHAR_EOF) return -1;
|
||||
left -= 1; buf += 1;
|
||||
}
|
||||
else
|
||||
@ -508,7 +509,7 @@ protected:
|
||||
{
|
||||
if (*buf == QSE_T('\0'))
|
||||
{
|
||||
if (qse_fputc (*buf, fp) == QSE_CHAR_EOF) return -1;
|
||||
if (qse_fputc(*buf,fp) == QSE_CHAR_EOF) return -1;
|
||||
left -= 1; buf += 1;
|
||||
}
|
||||
else
|
||||
@ -708,7 +709,7 @@ static struct
|
||||
{ QSE_T("bxor"), TestAwk::OPT_BXOR },
|
||||
{ QSE_T("shift"), TestAwk::OPT_SHIFT },
|
||||
{ QSE_T("idiv"), TestAwk::OPT_IDIV },
|
||||
{ QSE_T("extio"), TestAwk::OPT_EXTIO },
|
||||
{ QSE_T("eio"), TestAwk::OPT_EIO },
|
||||
{ QSE_T("rwpipe"), TestAwk::OPT_RWPIPE },
|
||||
{ QSE_T("newline"), TestAwk::OPT_NEWLINE },
|
||||
{ QSE_T("baseone"), TestAwk::OPT_BASEONE },
|
||||
@ -746,7 +747,7 @@ static void print_usage (const qse_char_t* argv0)
|
||||
|
||||
|
||||
qse_printf (QSE_T("\nYou may specify the following options to change the behavior of the interpreter.\n"));
|
||||
for (j = 0; j < QSE_COUNTOF(otab); j++)
|
||||
for (j = 0; j < (int)QSE_COUNTOF(otab); j++)
|
||||
{
|
||||
qse_printf (QSE_T(" -%-20s -no%-20s\n"), otab[j].name, otab[j].name);
|
||||
}
|
||||
@ -794,7 +795,7 @@ static int awk_main (int argc, qse_char_t* argv[])
|
||||
|
||||
if (argv[i][1] == QSE_T('n') && argv[i][2] == QSE_T('o'))
|
||||
{
|
||||
for (j = 0; j < QSE_COUNTOF(otab); j++)
|
||||
for (j = 0; j < (int)QSE_COUNTOF(otab); j++)
|
||||
{
|
||||
if (qse_strcmp(&argv[i][3], otab[j].name) == 0)
|
||||
{
|
||||
@ -805,7 +806,7 @@ static int awk_main (int argc, qse_char_t* argv[])
|
||||
}
|
||||
else
|
||||
{
|
||||
for (j = 0; j < QSE_COUNTOF(otab); j++)
|
||||
for (j = 0; j < (int)QSE_COUNTOF(otab); j++)
|
||||
{
|
||||
if (qse_strcmp(&argv[i][1], otab[j].name) == 0)
|
||||
{
|
||||
|
@ -32,7 +32,7 @@
|
||||
# include <errno.h>
|
||||
#endif
|
||||
|
||||
static qse_awk_run_t* app_run = NULL;
|
||||
static qse_awk_rtx_t* app_run = NULL;
|
||||
static int app_debug = 0;
|
||||
|
||||
struct argout_t
|
||||
@ -65,7 +65,7 @@ static BOOL WINAPI stop_run (DWORD ctrl_type)
|
||||
if (ctrl_type == CTRL_C_EVENT ||
|
||||
ctrl_type == CTRL_CLOSE_EVENT)
|
||||
{
|
||||
qse_awk_stop (app_run);
|
||||
qse_awk_rtx_stop (app_run);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -100,7 +100,7 @@ static int setsignal (int sig, void(*handler)(int), int restart)
|
||||
static void stop_run (int sig)
|
||||
{
|
||||
int e = errno;
|
||||
qse_awk_stop (app_run);
|
||||
qse_awk_rtx_stop (app_run);
|
||||
errno = e;
|
||||
}
|
||||
|
||||
@ -124,7 +124,7 @@ static void unset_intr_run (void)
|
||||
#endif
|
||||
}
|
||||
|
||||
static int on_run_start (qse_awk_run_t* run, void* data)
|
||||
static int on_run_start (qse_awk_rtx_t* run, void* data)
|
||||
{
|
||||
app_run = run;
|
||||
set_intr_run ();
|
||||
@ -136,7 +136,7 @@ static int on_run_start (qse_awk_run_t* run, void* data)
|
||||
static qse_map_walk_t print_awk_value (
|
||||
qse_map_t* map, qse_map_pair_t* pair, void* arg)
|
||||
{
|
||||
qse_awk_run_t* run = (qse_awk_run_t*)arg;
|
||||
qse_awk_rtx_t* run = (qse_awk_rtx_t*)arg;
|
||||
qse_char_t* str;
|
||||
qse_size_t len;
|
||||
|
||||
@ -150,19 +150,19 @@ static qse_map_walk_t print_awk_value (
|
||||
dprint (QSE_T("%.*s = %.*s\n"),
|
||||
(int)QSE_MAP_KLEN(pair), QSE_MAP_KPTR(pair),
|
||||
(int)len, str);
|
||||
qse_awk_free (qse_awk_getrunawk(run), str);
|
||||
qse_awk_free (qse_awk_rtx_getawk(run), str);
|
||||
}
|
||||
|
||||
return QSE_MAP_WALK_FORWARD;
|
||||
}
|
||||
|
||||
static void on_run_statement (
|
||||
qse_awk_run_t* run, qse_size_t line, void* data)
|
||||
qse_awk_rtx_t* run, qse_size_t line, void* data)
|
||||
{
|
||||
/*dprint (L"running %d\n", (int)line);*/
|
||||
}
|
||||
|
||||
static int on_run_enter (qse_awk_run_t* run, void* data)
|
||||
static int on_run_enter (qse_awk_rtx_t* run, void* data)
|
||||
{
|
||||
struct argout_t* ao = (struct argout_t*)data;
|
||||
|
||||
@ -174,7 +174,7 @@ static int on_run_enter (qse_awk_run_t* run, void* data)
|
||||
if (fs == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (run, fs);
|
||||
qse_awk_setglobal (run, QSE_AWK_GLOBAL_FS, fs);
|
||||
qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_FS, fs);
|
||||
qse_awk_refdownval (run, fs);
|
||||
}
|
||||
|
||||
@ -183,7 +183,7 @@ static int on_run_enter (qse_awk_run_t* run, void* data)
|
||||
}
|
||||
|
||||
static void on_run_exit (
|
||||
qse_awk_run_t* run, qse_awk_val_t* ret, void* data)
|
||||
qse_awk_rtx_t* run, qse_awk_val_t* ret, void* data)
|
||||
{
|
||||
qse_size_t len;
|
||||
qse_char_t* str;
|
||||
@ -202,16 +202,16 @@ static void on_run_exit (
|
||||
else
|
||||
{
|
||||
dprint (QSE_T("[RETURN] - [%.*s]\n"), (int)len, str);
|
||||
qse_awk_free (qse_awk_getrunawk(run), str);
|
||||
qse_awk_free (qse_awk_rtx_getawk(run), str);
|
||||
}
|
||||
}
|
||||
|
||||
dprint (QSE_T("[NAMED VARIABLES]\n"));
|
||||
qse_map_walk (qse_awk_getrunnvmap(run), print_awk_value, run);
|
||||
qse_map_walk (qse_awk_rtx_getnvmap(run), print_awk_value, run);
|
||||
dprint (QSE_T("[END NAMED VARIABLES]\n"));
|
||||
}
|
||||
|
||||
static void on_run_end (qse_awk_run_t* run, int errnum, void* data)
|
||||
static void on_run_end (qse_awk_rtx_t* run, int errnum, void* data)
|
||||
{
|
||||
if (errnum != QSE_AWK_ENOERR)
|
||||
{
|
||||
@ -239,7 +239,7 @@ static struct
|
||||
{ QSE_T("bxor"), QSE_AWK_BXOR },
|
||||
{ QSE_T("shift"), QSE_AWK_SHIFT },
|
||||
{ QSE_T("idiv"), QSE_AWK_IDIV },
|
||||
{ QSE_T("extio"), QSE_AWK_EXTIO },
|
||||
{ QSE_T("eio"), QSE_AWK_EIO },
|
||||
{ QSE_T("rwpipe"), QSE_AWK_RWPIPE },
|
||||
{ QSE_T("newline"), QSE_AWK_NEWLINE },
|
||||
{ QSE_T("baseone"), QSE_AWK_BASEONE },
|
||||
@ -273,7 +273,7 @@ static void print_usage (const qse_char_t* argv0)
|
||||
}
|
||||
|
||||
static int bfn_sleep (
|
||||
qse_awk_run_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
{
|
||||
qse_size_t nargs;
|
||||
qse_awk_val_t* a0;
|
||||
@ -282,10 +282,10 @@ static int bfn_sleep (
|
||||
qse_awk_val_t* r;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
n = qse_awk_valtonum (run, a0, &lv, &rv);
|
||||
if (n == -1) return -1;
|
||||
@ -305,7 +305,7 @@ static int bfn_sleep (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -410,7 +410,7 @@ enum qse_awk_eio_mode_t
|
||||
enum qse_awk_global_id_t
|
||||
{
|
||||
/* this table should match gtab in parse.c.
|
||||
* in addition, qse_awk_setglobal also counts
|
||||
* in addition, qse_awk_rtx_setglobal also counts
|
||||
* on the order of these values */
|
||||
|
||||
QSE_AWK_GLOBAL_ARGC,
|
||||
@ -865,46 +865,94 @@ int qse_awk_runsimple (
|
||||
);
|
||||
/******/
|
||||
|
||||
/**
|
||||
* Executes a parsed program.
|
||||
*
|
||||
* qse_awk_run returns 0 on success and -1 on failure, generally speaking.
|
||||
/****f* qse.awk/qse_awk_run
|
||||
* NAME
|
||||
* qse_awk_run - execute a parsed program
|
||||
* DESCRIPTION
|
||||
* The qse_awk_run() function returns 0 on success and -1 on failure.
|
||||
* A runtime context is required for it to start running the program.
|
||||
* Once the runtime context is created, the program starts to run.
|
||||
* The context creation failure is reported by the return value -1 of
|
||||
* this function. however, the runtime error after the context creation
|
||||
* is reported differently depending on the use of the callback.
|
||||
* When no callback is specified (i.e. runcbs is QSE_NULL), qse_awk_run
|
||||
* returns -1 on an error and awk->errnum is set accordingly.
|
||||
* However, if a callback is specified (i.e. runcbs is not QSE_NULL),
|
||||
* qse_awk_run returns 0 on both success and failure. Instead, the
|
||||
* on_end handler of the callback is triggered with the relevant
|
||||
* error number. The third parameter to on_end denotes this error number.
|
||||
* Once a runtime context is created, the program starts to run.
|
||||
* The failure of context creation is reported by the return value of -1.
|
||||
* However, the runtime error after context creation is reported differently
|
||||
* depending on the callbacks specified. When no callback is specified
|
||||
* (i.e. runcbs is QSE_NULL), the qse_awk_run() function returns -1 on an
|
||||
* error and awk->errnum is set accordingly. If a callback is specified
|
||||
* (i.e. runcbs is not QSE_NULL), the qse_awk_run() returns 0 on both success
|
||||
* and failure. Instead, the on_end handler of the callback is triggered with
|
||||
* the relevant error number. The third parameter to on_end is the error
|
||||
* number.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_run (
|
||||
qse_awk_t* awk, const qse_char_t* main,
|
||||
qse_awk_runios_t* runios, qse_awk_runcbs_t* runcbs,
|
||||
const qse_cstr_t* runarg, void* data);
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* main,
|
||||
qse_awk_runios_t* runios,
|
||||
qse_awk_runcbs_t* runcbs,
|
||||
const qse_cstr_t* runarg,
|
||||
void* data
|
||||
);
|
||||
/******/
|
||||
|
||||
void qse_awk_stop (qse_awk_rtx_t* run);
|
||||
void qse_awk_stopall (qse_awk_t* awk);
|
||||
|
||||
qse_bool_t qse_awk_isstop (qse_awk_rtx_t* run);
|
||||
|
||||
|
||||
/**
|
||||
* Gets the number of arguments passed to qse_awk_run
|
||||
*/
|
||||
qse_size_t qse_awk_getnargs (qse_awk_rtx_t* run);
|
||||
|
||||
/**
|
||||
* Gets an argument passed to qse_awk_run
|
||||
*/
|
||||
qse_awk_val_t* qse_awk_getarg (qse_awk_rtx_t* run, qse_size_t idx);
|
||||
|
||||
/****f* qse.awk/qse_awk_getglobal
|
||||
/****f* qse.awk/qse_awk_shouldstop
|
||||
* NAME
|
||||
* qse_awk_getglobal - gets the value of a global variable
|
||||
* qse_awk_rtx_stop - test if qse_awk_rtx_stop() is called
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_bool_t qse_awk_rtx_shouldstop (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_stop
|
||||
* NAME
|
||||
* qse_awk_rtx_stop - stop a runtime context
|
||||
* DESCRIPTION
|
||||
* The qse_awk_rtx_stop() function causes the active qse_awk_run() function to
|
||||
* be aborted.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void qse_awk_rtx_stop (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_stopall
|
||||
* NAME
|
||||
* qse_awk_rtx_stop - stop all runtime contexts
|
||||
* DESCRIPTION
|
||||
* The qse_awk_rtx_stopall() function aborts all active qse_awk_run() functions
|
||||
* invoked with the awk parameter.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void qse_awk_rtx_stopall (
|
||||
qse_awk_t* awk
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_getnargs
|
||||
* NAME
|
||||
* qse_awk_rtx_getnargs - get the number of arguments passed to qse_awk_run()
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_size_t qse_awk_rtx_getnargs (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_getarg
|
||||
* NAME
|
||||
* qse_awk_rtx_getarg - get an argument passed to qse_awk_run
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_awk_val_t* qse_awk_rtx_getarg (
|
||||
qse_awk_rtx_t* rtx,
|
||||
qse_size_t idx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_getglobal
|
||||
* NAME
|
||||
* qse_awk_rtx_getglobal - gets the value of a global variable
|
||||
*
|
||||
* PARAMETERS
|
||||
* id - A global variable id. An ID is one of the predefined global
|
||||
@ -916,104 +964,125 @@ qse_awk_val_t* qse_awk_getarg (qse_awk_rtx_t* run, qse_size_t idx);
|
||||
*
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_awk_val_t* qse_awk_getglobal (
|
||||
qse_awk_rtx_t* run,
|
||||
qse_awk_val_t* qse_awk_rtx_getglobal (
|
||||
qse_awk_rtx_t* rtx,
|
||||
int id
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_setglobal
|
||||
/****f* qse.awk/qse_awk_rtx_setglobal
|
||||
* NAME
|
||||
* qse_awk_setglobal - set the value of a global variable
|
||||
* qse_awk_rtx_setglobal - set the value of a global variable
|
||||
*
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_setglobal (
|
||||
qse_awk_rtx_t* run,
|
||||
int qse_awk_rtx_setglobal (
|
||||
qse_awk_rtx_t* rtx,
|
||||
int id,
|
||||
qse_awk_val_t* val
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_setretval
|
||||
/****f* qse.awk/qse_awk_rtx_setretval
|
||||
* NAME
|
||||
* qse_awk_setretval - set the return value
|
||||
*
|
||||
* qse_awk_rtx_setretval - set the return value
|
||||
* DESCRIPTION
|
||||
* The qse_awk_setretval() sets the return value of a function
|
||||
* The qse_awk_rtx_setretval() sets the return value of a function
|
||||
* when called from within a function handlers. The caller doesn't
|
||||
* have to invoke qse_awk_refupval() and qse_awk_refdownval()
|
||||
* with the value to be passed to qse_awk_setretval().
|
||||
* The qse_awk_setretval() will update its reference count properly
|
||||
* with the value to be passed to qse_awk_rtx_setretval().
|
||||
* The qse_awk_rtx_setretval() will update its reference count properly
|
||||
* once the return value is set.
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void qse_awk_setretval (
|
||||
qse_awk_rtx_t* run,
|
||||
void qse_awk_rtx_setretval (
|
||||
qse_awk_rtx_t* rtx,
|
||||
qse_awk_val_t* val
|
||||
);
|
||||
/******/
|
||||
|
||||
int qse_awk_setfilename (
|
||||
qse_awk_rtx_t* run, const qse_char_t* name, qse_size_t len);
|
||||
int qse_awk_setofilename (
|
||||
qse_awk_rtx_t* run, const qse_char_t* name, qse_size_t len);
|
||||
|
||||
|
||||
/****f* qse.awk/qse_awk_getrunawk
|
||||
/****f* qse.awk/qse_awk_rtx_setfilename
|
||||
* NAME
|
||||
* qse_awk_getrunawk - get the owning awk object
|
||||
*
|
||||
* qse_awk_rtx_setfilename - set FILENAME
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_awk_t* qse_awk_getrunawk (
|
||||
qse_awk_rtx_t* run
|
||||
int qse_awk_rtx_setfilename (
|
||||
qse_awk_rtx_t* rtx,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_getrunmmgr
|
||||
/****f* qse.awk/qse_awk_rtx_setofilename
|
||||
* NAME
|
||||
* qse_awk_getrunmmgr - get the memory manager of a run object
|
||||
*
|
||||
* qse_awk_rtx_setofilename - set OFILENAME
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_mmgr_t* qse_awk_getrunmmgr (
|
||||
qse_awk_rtx_t* run
|
||||
int qse_awk_rtx_setofilename (
|
||||
qse_awk_rtx_t* rtx,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_getrundata
|
||||
/****f* qse.awk/qse_awk_rtx_getawk
|
||||
* NAME
|
||||
* qse_awk_getrundata - get the user-specified data for a run object
|
||||
*
|
||||
* qse_awk_rtx_getawk - get the owning awk object
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void* qse_awk_getrundata (
|
||||
qse_awk_rtx_t* run
|
||||
qse_awk_t* qse_awk_rtx_getawk (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_getrunnvmap
|
||||
/****f* qse.awk/qse_awk_rtx_getmmgr
|
||||
* NAME
|
||||
* qse_awk_getrunnvmap - get the map of named variables
|
||||
*
|
||||
* qse_awk_rtx_getmmgr - get the memory manager of a runtime context
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_map_t* qse_awk_getrunnvmap (
|
||||
qse_awk_rtx_t* run
|
||||
qse_mmgr_t* qse_awk_rtx_getmmgr (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/* functions to manipulate the run-time error */
|
||||
int qse_awk_getrunerrnum (
|
||||
qse_awk_rtx_t* run
|
||||
/****f* qse.awk/qse_awk_rtx_getdata
|
||||
* NAME
|
||||
* qse_awk_rtx_getdata - get the user-specified data for a runtime context
|
||||
* SYNOPSIS
|
||||
*/
|
||||
void* qse_awk_rtx_getdata (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_getnvmap
|
||||
* NAME
|
||||
* qse_awk_rtx_getnvmap - get the map of named variables
|
||||
* SYNOPSIS
|
||||
*/
|
||||
qse_map_t* qse_awk_rtx_getnvmap (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
/****f* qse.awk/qse_awk_rtx_geterrnum
|
||||
* NAME
|
||||
* qse_awk_rtx_geterrnum - get the error number of a runtime context
|
||||
* SYNOPSIS
|
||||
*/
|
||||
int qse_awk_rtx_geterrnum (
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
/******/
|
||||
|
||||
qse_size_t qse_awk_getrunerrlin (
|
||||
qse_awk_rtx_t* run
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
const qse_char_t* qse_awk_getrunerrmsg (
|
||||
qse_awk_rtx_t* run
|
||||
qse_awk_rtx_t* rtx
|
||||
);
|
||||
void qse_awk_setrunerrnum (
|
||||
qse_awk_rtx_t* run,
|
||||
qse_awk_rtx_t* rtx,
|
||||
int errnum
|
||||
);
|
||||
void qse_awk_setrunerrmsg (
|
||||
@ -1024,22 +1093,37 @@ void qse_awk_setrunerrmsg (
|
||||
);
|
||||
|
||||
void qse_awk_getrunerror (
|
||||
qse_awk_rtx_t* run, int* errnum,
|
||||
qse_size_t* errlin, const qse_char_t** errmsg);
|
||||
qse_awk_rtx_t* run,
|
||||
int* errnum,
|
||||
qse_size_t* errlin,
|
||||
const qse_char_t** errmsg
|
||||
);
|
||||
|
||||
void qse_awk_setrunerror (
|
||||
qse_awk_rtx_t* run, int errnum, qse_size_t errlin,
|
||||
const qse_cstr_t* errarg, qse_size_t argcnt);
|
||||
qse_awk_rtx_t* run,
|
||||
int errnum,
|
||||
qse_size_t errlin,
|
||||
const qse_cstr_t* errarg,
|
||||
qse_size_t argcnt
|
||||
);
|
||||
|
||||
/* functions to manipulate intrinsic functions */
|
||||
void* qse_awk_addfunc (
|
||||
qse_awk_t* awk, const qse_char_t* name, qse_size_t name_len,
|
||||
int when_valid, qse_size_t min_args, qse_size_t max_args,
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t name_len,
|
||||
int when_valid,
|
||||
qse_size_t min_args,
|
||||
qse_size_t max_args,
|
||||
const qse_char_t* arg_spec,
|
||||
int (*handler)(qse_awk_rtx_t*,const qse_char_t*,qse_size_t));
|
||||
int (*handler)(qse_awk_rtx_t*,const qse_char_t*,qse_size_t)
|
||||
);
|
||||
|
||||
int qse_awk_delfunc (
|
||||
qse_awk_t* awk, const qse_char_t* name, qse_size_t name_len);
|
||||
qse_awk_t* awk,
|
||||
const qse_char_t* name,
|
||||
qse_size_t len
|
||||
);
|
||||
|
||||
void qse_awk_clrbfn (qse_awk_t* awk);
|
||||
|
||||
|
@ -141,12 +141,12 @@ int Awk::Console::setFileName (const char_t* name)
|
||||
{
|
||||
if (eio->mode == READ)
|
||||
{
|
||||
return qse_awk_setfilename (
|
||||
return qse_awk_rtx_setfilename (
|
||||
eio->run, name, qse_strlen(name));
|
||||
}
|
||||
else
|
||||
{
|
||||
return qse_awk_setofilename (
|
||||
return qse_awk_rtx_setofilename (
|
||||
eio->run, name, qse_strlen(name));
|
||||
}
|
||||
}
|
||||
@ -160,7 +160,7 @@ int Awk::Console::setFNR (long_t fnr)
|
||||
if (tmp == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (eio->run, tmp);
|
||||
n = qse_awk_setglobal (eio->run, QSE_AWK_GLOBAL_FNR, tmp);
|
||||
n = qse_awk_rtx_setglobal (eio->run, QSE_AWK_GLOBAL_FNR, tmp);
|
||||
qse_awk_refdownval (eio->run, tmp);
|
||||
|
||||
return n;
|
||||
@ -929,19 +929,19 @@ Awk::Run::operator Awk::run_t* () const
|
||||
void Awk::Run::stop () const
|
||||
{
|
||||
QSE_ASSERT (this->run != QSE_NULL);
|
||||
qse_awk_stop (this->run);
|
||||
qse_awk_rtx_stop (this->run);
|
||||
}
|
||||
|
||||
bool Awk::Run::isStop () const
|
||||
{
|
||||
QSE_ASSERT (this->run != QSE_NULL);
|
||||
return qse_awk_isstop (this->run)? true: false;
|
||||
return qse_awk_rtx_shouldstop (this->run)? true: false;
|
||||
}
|
||||
|
||||
Awk::ErrorCode Awk::Run::getErrorCode () const
|
||||
{
|
||||
QSE_ASSERT (this->run != QSE_NULL);
|
||||
return (ErrorCode)qse_awk_getrunerrnum (this->run);
|
||||
return (ErrorCode)qse_awk_rtx_geterrnum (this->run);
|
||||
}
|
||||
|
||||
Awk::size_t Awk::Run::getErrorLine () const
|
||||
@ -998,7 +998,7 @@ int Awk::Run::setGlobal (int id, long_t v)
|
||||
if (tmp == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (run, tmp);
|
||||
int n = qse_awk_setglobal (this->run, id, tmp);
|
||||
int n = qse_awk_rtx_setglobal (this->run, id, tmp);
|
||||
qse_awk_refdownval (run, tmp);
|
||||
return n;
|
||||
}
|
||||
@ -1011,7 +1011,7 @@ int Awk::Run::setGlobal (int id, real_t v)
|
||||
if (tmp == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (run, tmp);
|
||||
int n = qse_awk_setglobal (this->run, id, tmp);
|
||||
int n = qse_awk_rtx_setglobal (this->run, id, tmp);
|
||||
qse_awk_refdownval (run, tmp);
|
||||
return n;
|
||||
}
|
||||
@ -1024,7 +1024,7 @@ int Awk::Run::setGlobal (int id, const char_t* ptr, size_t len)
|
||||
if (tmp == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (run, tmp);
|
||||
int n = qse_awk_setglobal (this->run, id, tmp);
|
||||
int n = qse_awk_rtx_setglobal (this->run, id, tmp);
|
||||
qse_awk_refdownval (run, tmp);
|
||||
return n;
|
||||
}
|
||||
@ -1033,7 +1033,7 @@ int Awk::Run::setGlobal (int id, const Return& global)
|
||||
{
|
||||
QSE_ASSERT (this->run != QSE_NULL);
|
||||
|
||||
return qse_awk_setglobal (this->run, id, global.toVal());
|
||||
return qse_awk_rtx_setglobal (this->run, id, global.toVal());
|
||||
}
|
||||
|
||||
int Awk::Run::getGlobal (int id, Argument& global) const
|
||||
@ -1041,7 +1041,7 @@ int Awk::Run::getGlobal (int id, Argument& global) const
|
||||
QSE_ASSERT (this->run != QSE_NULL);
|
||||
|
||||
global.clear ();
|
||||
return global.init (qse_awk_getglobal(this->run,id));
|
||||
return global.init (qse_awk_rtx_getglobal(this->run,id));
|
||||
}
|
||||
|
||||
void Awk::Run::setData (void* data)
|
||||
@ -1402,7 +1402,7 @@ int Awk::run (const char_t* main, const char_t** args, size_t nargs)
|
||||
void Awk::stop ()
|
||||
{
|
||||
QSE_ASSERT (awk != QSE_NULL);
|
||||
qse_awk_stopall (awk);
|
||||
qse_awk_rtx_stopall (awk);
|
||||
}
|
||||
|
||||
int Awk::dispatchFunction (Run* run, const char_t* name, size_t len)
|
||||
@ -1410,7 +1410,7 @@ int Awk::dispatchFunction (Run* run, const char_t* name, size_t len)
|
||||
pair_t* pair;
|
||||
awk_t* awk = run->awk->awk;
|
||||
|
||||
//awk = qse_awk_getrunawk (run);
|
||||
//awk = qse_awk_rtx_getawk (run);
|
||||
|
||||
pair = qse_map_search (functionMap, name, len);
|
||||
if (pair == QSE_NULL)
|
||||
@ -1422,7 +1422,7 @@ int Awk::dispatchFunction (Run* run, const char_t* name, size_t len)
|
||||
FunctionHandler handler;
|
||||
handler = *(FunctionHandler*)QSE_MAP_VPTR(pair);
|
||||
|
||||
size_t i, nargs = qse_awk_getnargs(run->run);
|
||||
size_t i, nargs = qse_awk_rtx_getnargs(run->run);
|
||||
|
||||
//Argument* args = QSE_NULL;
|
||||
//try { args = new Argument [nargs]; } catch (...) {}
|
||||
@ -1438,7 +1438,7 @@ int Awk::dispatchFunction (Run* run, const char_t* name, size_t len)
|
||||
args[i].run = run; // dirty late initialization
|
||||
// due to c++ array creation limitation.
|
||||
|
||||
val_t* v = qse_awk_getarg (run->run, i);
|
||||
val_t* v = qse_awk_rtx_getarg (run->run, i);
|
||||
if (args[i].init (v) == -1)
|
||||
{
|
||||
run->setError (ERR_NOMEM, 0, QSE_NULL, 0);
|
||||
@ -1460,7 +1460,7 @@ int Awk::dispatchFunction (Run* run, const char_t* name, size_t len)
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run->run, ret);
|
||||
qse_awk_rtx_setretval (run->run, ret);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1709,7 +1709,7 @@ Awk::ssize_t Awk::consoleHandler (
|
||||
int Awk::functionHandler (
|
||||
run_t* run, const char_t* name, size_t len)
|
||||
{
|
||||
Run* ctx = (Run*) qse_awk_getrundata (run);
|
||||
Run* ctx = (Run*) qse_awk_rtx_getdata (run);
|
||||
Awk* awk = ctx->awk;
|
||||
return awk->dispatchFunction (ctx, name, len);
|
||||
}
|
||||
|
@ -366,7 +366,7 @@ void qse_awk_setoption (qse_awk_t* awk, int opt)
|
||||
}
|
||||
|
||||
|
||||
void qse_awk_stopall (qse_awk_t* awk)
|
||||
void qse_awk_rtx_stopall (qse_awk_t* awk)
|
||||
{
|
||||
awk->stopall = QSE_TRUE;
|
||||
}
|
||||
|
@ -204,7 +204,7 @@ int qse_awk_readeio (
|
||||
qse_str_clear (buf);
|
||||
|
||||
/* get the record separator */
|
||||
rs = qse_awk_getglobal (run, QSE_AWK_GLOBAL_RS);
|
||||
rs = qse_awk_rtx_getglobal (run, QSE_AWK_GLOBAL_RS);
|
||||
qse_awk_refupval (run, rs);
|
||||
|
||||
if (rs->type == QSE_AWK_VAL_NIL)
|
||||
|
@ -345,7 +345,7 @@ void qse_awk_seterror (
|
||||
}
|
||||
}
|
||||
|
||||
int qse_awk_getrunerrnum (qse_awk_rtx_t* run)
|
||||
int qse_awk_rtx_geterrnum (qse_awk_rtx_t* run)
|
||||
{
|
||||
return run->errnum;
|
||||
}
|
||||
|
@ -235,11 +235,11 @@ static int bfn_close (
|
||||
qse_char_t* name;
|
||||
qse_size_t len;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
/* TODO: support close (xxx, "to"/"from"/"rw"/"r"/"w"/????) */
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
QSE_ASSERT (a0 != QSE_NULL);
|
||||
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
@ -299,7 +299,7 @@ skip_close:
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, v);
|
||||
qse_awk_rtx_setretval (run, v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -342,7 +342,7 @@ static int bfn_fflush (
|
||||
qse_size_t len0;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 0 || nargs == 1);
|
||||
|
||||
if (nargs == 0)
|
||||
@ -355,7 +355,7 @@ static int bfn_fflush (
|
||||
{
|
||||
qse_char_t* ptr, * end;
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
str0 = ((qse_awk_val_str_t*)a0)->ptr;
|
||||
@ -410,7 +410,7 @@ static int bfn_fflush (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, a0);
|
||||
qse_awk_rtx_setretval (run, a0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -423,11 +423,11 @@ static int bfn_index (
|
||||
qse_size_t len0, len1;
|
||||
qse_long_t idx;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 2);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a1 = qse_awk_getarg (run, 1);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
a1 = qse_awk_rtx_getarg (run, 1);
|
||||
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
@ -473,7 +473,7 @@ static int bfn_index (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, a0);
|
||||
qse_awk_rtx_setretval (run, a0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -485,10 +485,10 @@ static int bfn_length (
|
||||
qse_char_t* str;
|
||||
qse_size_t len;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
v = qse_awk_getarg (run, 0);
|
||||
v = qse_awk_rtx_getarg (run, 0);
|
||||
if (v->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
len = ((qse_awk_val_str_t*)v)->len;
|
||||
@ -508,7 +508,7 @@ static int bfn_length (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, v);
|
||||
qse_awk_rtx_setretval (run, v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -523,12 +523,12 @@ static int bfn_substr (
|
||||
qse_real_t rindex, rcount;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs >= 2 && nargs <= 3);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a1 = qse_awk_getarg (run, 1);
|
||||
a2 = (nargs >= 3)? qse_awk_getarg (run, 2): QSE_NULL;
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
a1 = qse_awk_rtx_getarg (run, 1);
|
||||
a2 = (nargs >= 3)? qse_awk_rtx_getarg (run, 2): QSE_NULL;
|
||||
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
@ -582,7 +582,7 @@ static int bfn_substr (
|
||||
}
|
||||
|
||||
if (a0->type != QSE_AWK_VAL_STR) QSE_AWK_FREE (run->awk, str);
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -602,12 +602,12 @@ static int bfn_split (
|
||||
void* fs_rex_free = QSE_NULL;
|
||||
int errnum;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs >= 2 && nargs <= 3);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a1 = qse_awk_getarg (run, 1);
|
||||
a2 = (nargs >= 3)? qse_awk_getarg (run, 2): QSE_NULL;
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
a1 = qse_awk_rtx_getarg (run, 1);
|
||||
a2 = (nargs >= 3)? qse_awk_rtx_getarg (run, 2): QSE_NULL;
|
||||
|
||||
QSE_ASSERT (a1->type == QSE_AWK_VAL_REF);
|
||||
|
||||
@ -652,7 +652,7 @@ static int bfn_split (
|
||||
if (a2 == QSE_NULL)
|
||||
{
|
||||
/* get the value from FS */
|
||||
t1 = qse_awk_getglobal (run, QSE_AWK_GLOBAL_FS);
|
||||
t1 = qse_awk_rtx_getglobal (run, QSE_AWK_GLOBAL_FS);
|
||||
if (t1->type == QSE_AWK_VAL_NIL)
|
||||
{
|
||||
fs_ptr = QSE_T(" ");
|
||||
@ -839,7 +839,7 @@ static int bfn_split (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, t1);
|
||||
qse_awk_rtx_setretval (run, t1);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -851,10 +851,10 @@ static int bfn_tolower (
|
||||
qse_size_t len, i;
|
||||
qse_awk_val_t* a0, * r;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
@ -879,7 +879,7 @@ static int bfn_tolower (
|
||||
}
|
||||
|
||||
if (a0->type != QSE_AWK_VAL_STR) QSE_AWK_FREE (run->awk, str);
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -891,10 +891,10 @@ static int bfn_toupper (
|
||||
qse_size_t len, i;
|
||||
qse_awk_val_t* a0, * r;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
@ -919,7 +919,7 @@ static int bfn_toupper (
|
||||
}
|
||||
|
||||
if (a0->type != QSE_AWK_VAL_STR) QSE_AWK_FREE (run->awk, str);
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -939,12 +939,12 @@ static int __substitute (qse_awk_rtx_t* run, qse_long_t max_count)
|
||||
qse_str_t new;
|
||||
qse_long_t sub_count;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs >= 2 && nargs <= 3);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a1 = qse_awk_getarg (run, 1);
|
||||
a2 = (nargs >= 3)? qse_awk_getarg (run, 2): QSE_NULL;
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
a1 = qse_awk_rtx_getarg (run, 1);
|
||||
a2 = (nargs >= 3)? qse_awk_rtx_getarg (run, 2): QSE_NULL;
|
||||
|
||||
QSE_ASSERT (a2 == QSE_NULL || a2->type == QSE_AWK_VAL_REF);
|
||||
|
||||
@ -1210,7 +1210,7 @@ static int __substitute (qse_awk_rtx_t* run, qse_long_t max_count)
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, v);
|
||||
qse_awk_rtx_setretval (run, v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1239,11 +1239,11 @@ static int bfn_match (
|
||||
const qse_char_t* mat_ptr;
|
||||
qse_size_t mat_len;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 2);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a1 = qse_awk_getarg (run, 1);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
a1 = qse_awk_rtx_getarg (run, 1);
|
||||
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
@ -1324,21 +1324,21 @@ static int bfn_match (
|
||||
|
||||
qse_awk_refupval (run, a1);
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_RSTART, a0) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_RSTART, a0) == -1)
|
||||
{
|
||||
qse_awk_refdownval (run, a1);
|
||||
qse_awk_refdownval (run, a0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_RLENGTH, a1) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_RLENGTH, a1) == -1)
|
||||
{
|
||||
qse_awk_refdownval (run, a1);
|
||||
qse_awk_refdownval (run, a0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, a0);
|
||||
qse_awk_rtx_setretval (run, a0);
|
||||
|
||||
qse_awk_refdownval (run, a1);
|
||||
qse_awk_refdownval (run, a0);
|
||||
@ -1354,7 +1354,7 @@ static int bfn_sprintf (
|
||||
qse_xstr_t cs0;
|
||||
qse_xstr_t x;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs > 0);
|
||||
|
||||
if (qse_str_init (&out, run->awk->mmgr, 256) == QSE_NULL)
|
||||
@ -1369,7 +1369,7 @@ static int bfn_sprintf (
|
||||
return -1;
|
||||
}
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
if (a0->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
cs0.ptr = ((qse_awk_val_str_t*)a0)->ptr;
|
||||
@ -1410,6 +1410,6 @@ static int bfn_sprintf (
|
||||
qse_str_fini (&fbu);
|
||||
/*qse_str_yield (&out, QSE_NULL, 0);*/
|
||||
qse_str_fini (&out);
|
||||
qse_awk_setretval (run, a0);
|
||||
qse_awk_rtx_setretval (run, a0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -455,7 +455,7 @@ void qse_awk_setmaxdepth (qse_awk_t* awk, int types, qse_size_t depth)
|
||||
}
|
||||
}
|
||||
|
||||
const qse_char_t* qse_awk_getglobalname (
|
||||
const qse_char_t* qse_awk_rtx_getglobalname (
|
||||
qse_awk_t* awk, qse_size_t idx, qse_size_t* len)
|
||||
{
|
||||
/*
|
||||
|
@ -55,7 +55,7 @@ int qse_awk_putsrcstr (qse_awk_t* awk, const qse_char_t* str);
|
||||
int qse_awk_putsrcstrx (
|
||||
qse_awk_t* awk, const qse_char_t* str, qse_size_t len);
|
||||
|
||||
const qse_char_t* qse_awk_getglobalname (
|
||||
const qse_char_t* qse_awk_rtx_getglobalname (
|
||||
qse_awk_t* awk, qse_size_t idx, qse_size_t* len);
|
||||
qse_cstr_t* qse_awk_getkw (qse_awk_t* awk, int id, qse_cstr_t* s);
|
||||
|
||||
|
@ -107,7 +107,7 @@ static int split_record (qse_awk_rtx_t* run)
|
||||
QSE_ASSERT (run->inrec.nflds == 0);
|
||||
|
||||
/* get FS */
|
||||
fs = qse_awk_getglobal (run, QSE_AWK_GLOBAL_FS);
|
||||
fs = qse_awk_rtx_getglobal (run, QSE_AWK_GLOBAL_FS);
|
||||
if (fs->type == QSE_AWK_VAL_NIL)
|
||||
{
|
||||
fs_ptr = QSE_T(" ");
|
||||
@ -237,7 +237,7 @@ static int split_record (qse_awk_rtx_t* run)
|
||||
if (v == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (run, v);
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_NF, v) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_NF, v) == -1)
|
||||
{
|
||||
qse_awk_refdownval (run, v);
|
||||
return -1;
|
||||
@ -270,7 +270,7 @@ int qse_awk_clrrec (qse_awk_rtx_t* run, qse_bool_t skip_inrec_line)
|
||||
}
|
||||
run->inrec.nflds = 0;
|
||||
|
||||
if (qse_awk_setglobal (
|
||||
if (qse_awk_rtx_setglobal (
|
||||
run, QSE_AWK_GLOBAL_NF, qse_awk_val_zero) == -1)
|
||||
{
|
||||
/* first of all, this should never happen.
|
||||
@ -432,7 +432,7 @@ static int recomp_record_fields (
|
||||
}
|
||||
}
|
||||
|
||||
v = qse_awk_getglobal (run, QSE_AWK_GLOBAL_NF);
|
||||
v = qse_awk_rtx_getglobal (run, QSE_AWK_GLOBAL_NF);
|
||||
QSE_ASSERT (v->type == QSE_AWK_VAL_INT);
|
||||
|
||||
if (((qse_awk_val_int_t*)v)->val != max)
|
||||
@ -441,7 +441,7 @@ static int recomp_record_fields (
|
||||
if (v == QSE_NULL) return -1;
|
||||
|
||||
qse_awk_refupval (run, v);
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_NF, v) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_NF, v) == -1)
|
||||
{
|
||||
qse_awk_refdownval (run, v);
|
||||
return -1;
|
||||
|
@ -231,23 +231,23 @@ typedef qse_awk_val_t* (*binop_func_t) (
|
||||
qse_awk_rtx_t* run, qse_awk_val_t* left, qse_awk_val_t* right);
|
||||
typedef qse_awk_val_t* (*eval_expr_t) (qse_awk_rtx_t* run, qse_awk_nde_t* nde);
|
||||
|
||||
qse_size_t qse_awk_getnargs (qse_awk_rtx_t* run)
|
||||
qse_size_t qse_awk_rtx_getnargs (qse_awk_rtx_t* run)
|
||||
{
|
||||
return (qse_size_t) STACK_NARGS (run);
|
||||
}
|
||||
|
||||
qse_awk_val_t* qse_awk_getarg (qse_awk_rtx_t* run, qse_size_t idx)
|
||||
qse_awk_val_t* qse_awk_rtx_getarg (qse_awk_rtx_t* run, qse_size_t idx)
|
||||
{
|
||||
return STACK_ARG (run, idx);
|
||||
}
|
||||
|
||||
qse_awk_val_t* qse_awk_getglobal (qse_awk_rtx_t* run, int id)
|
||||
qse_awk_val_t* qse_awk_rtx_getglobal (qse_awk_rtx_t* run, int id)
|
||||
{
|
||||
QSE_ASSERT (id >= 0 && id < (int)QSE_LDA_SIZE(run->awk->parse.globals));
|
||||
return STACK_GLOBAL (run, id);
|
||||
}
|
||||
|
||||
int qse_awk_setglobal (qse_awk_rtx_t* run, int id, qse_awk_val_t* val)
|
||||
int qse_awk_rtx_setglobal (qse_awk_rtx_t* run, int id, qse_awk_val_t* val)
|
||||
{
|
||||
QSE_ASSERT (id >= 0 && id < (int)QSE_LDA_SIZE(run->awk->parse.globals));
|
||||
return set_global (run, (qse_size_t)id, QSE_NULL, val);
|
||||
@ -278,10 +278,10 @@ static int set_global (
|
||||
}
|
||||
else
|
||||
{
|
||||
/* qse_awk_setglobal has been called */
|
||||
/* qse_awk_rtx_setglobal has been called */
|
||||
qse_cstr_t errarg;
|
||||
|
||||
errarg.ptr = qse_awk_getglobalname (
|
||||
errarg.ptr = qse_awk_rtx_getglobalname (
|
||||
run->awk, idx, &errarg.len);
|
||||
qse_awk_setrunerror (run,
|
||||
QSE_AWK_EMAPTOSCALAR, 0, &errarg, 1);
|
||||
@ -547,7 +547,7 @@ static int set_global (
|
||||
return 0;
|
||||
}
|
||||
|
||||
void qse_awk_setretval (qse_awk_rtx_t* run, qse_awk_val_t* val)
|
||||
void qse_awk_rtx_setretval (qse_awk_rtx_t* run, qse_awk_val_t* val)
|
||||
{
|
||||
qse_awk_refdownval (run, STACK_RETVAL(run));
|
||||
STACK_RETVAL(run) = val;
|
||||
@ -555,7 +555,7 @@ void qse_awk_setretval (qse_awk_rtx_t* run, qse_awk_val_t* val)
|
||||
qse_awk_refupval (run, val);
|
||||
}
|
||||
|
||||
int qse_awk_setfilename (
|
||||
int qse_awk_rtx_setfilename (
|
||||
qse_awk_rtx_t* run, const qse_char_t* name, qse_size_t len)
|
||||
{
|
||||
qse_awk_val_t* tmp;
|
||||
@ -569,13 +569,13 @@ int qse_awk_setfilename (
|
||||
}
|
||||
|
||||
qse_awk_refupval (run, tmp);
|
||||
n = qse_awk_setglobal (run, QSE_AWK_GLOBAL_FILENAME, tmp);
|
||||
n = qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_FILENAME, tmp);
|
||||
qse_awk_refdownval (run, tmp);
|
||||
|
||||
return n;
|
||||
}
|
||||
|
||||
int qse_awk_setofilename (
|
||||
int qse_awk_rtx_setofilename (
|
||||
qse_awk_rtx_t* run, const qse_char_t* name, qse_size_t len)
|
||||
{
|
||||
qse_awk_val_t* tmp;
|
||||
@ -591,7 +591,7 @@ int qse_awk_setofilename (
|
||||
}
|
||||
|
||||
qse_awk_refupval (run, tmp);
|
||||
n = qse_awk_setglobal (run, QSE_AWK_GLOBAL_OFILENAME, tmp);
|
||||
n = qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_OFILENAME, tmp);
|
||||
qse_awk_refdownval (run, tmp);
|
||||
}
|
||||
else n = 0;
|
||||
@ -599,22 +599,22 @@ int qse_awk_setofilename (
|
||||
return n;
|
||||
}
|
||||
|
||||
qse_awk_t* qse_awk_getrunawk (qse_awk_rtx_t* run)
|
||||
qse_awk_t* qse_awk_rtx_getawk (qse_awk_rtx_t* run)
|
||||
{
|
||||
return run->awk;
|
||||
}
|
||||
|
||||
qse_mmgr_t* qse_awk_getrunmmgr (qse_awk_rtx_t* run)
|
||||
qse_mmgr_t* qse_awk_rtx_getmmgr (qse_awk_rtx_t* run)
|
||||
{
|
||||
return run->awk->mmgr;
|
||||
}
|
||||
|
||||
void* qse_awk_getrundata (qse_awk_rtx_t* run)
|
||||
void* qse_awk_rtx_getdata (qse_awk_rtx_t* run)
|
||||
{
|
||||
return run->data;
|
||||
}
|
||||
|
||||
qse_map_t* qse_awk_getrunnvmap (qse_awk_rtx_t* run)
|
||||
qse_map_t* qse_awk_rtx_getnvmap (qse_awk_rtx_t* run)
|
||||
{
|
||||
return run->named;
|
||||
}
|
||||
@ -727,12 +727,12 @@ int qse_awk_run (qse_awk_t* awk,
|
||||
return n;
|
||||
}
|
||||
|
||||
void qse_awk_stop (qse_awk_rtx_t* run)
|
||||
void qse_awk_rtx_stop (qse_awk_rtx_t* run)
|
||||
{
|
||||
run->exit_level = EXIT_ABORT;
|
||||
}
|
||||
|
||||
qse_bool_t qse_awk_isstop (qse_awk_rtx_t* run)
|
||||
qse_bool_t qse_awk_rtx_shouldstop (qse_awk_rtx_t* run)
|
||||
{
|
||||
return (run->exit_level == EXIT_ABORT || run->awk->stopall);
|
||||
}
|
||||
@ -1069,14 +1069,14 @@ static int build_runarg (
|
||||
QSE_ASSERT (
|
||||
STACK_GLOBAL(run,QSE_AWK_GLOBAL_ARGC) == qse_awk_val_nil);
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_ARGC, v_argc) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_ARGC, v_argc) == -1)
|
||||
{
|
||||
qse_awk_refdownval (run, v_argc);
|
||||
qse_awk_refdownval (run, v_argv);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_ARGV, v_argv) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_ARGV, v_argv) == -1)
|
||||
{
|
||||
/* ARGC is assigned nil when ARGV assignment has failed.
|
||||
* However, this requires preconditions, as follows:
|
||||
@ -1084,7 +1084,7 @@ static int build_runarg (
|
||||
* as it is not a generic-purpose routine.
|
||||
* 2. ARGC should be nil before build_runarg is called
|
||||
* If the restoration fails, nothing can salvage it. */
|
||||
qse_awk_setglobal (run, QSE_AWK_GLOBAL_ARGC, qse_awk_val_nil);
|
||||
qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_ARGC, qse_awk_val_nil);
|
||||
qse_awk_refdownval (run, v_argc);
|
||||
qse_awk_refdownval (run, v_argv);
|
||||
return -1;
|
||||
@ -1121,14 +1121,14 @@ static int update_fnr (qse_awk_rtx_t* run, qse_long_t fnr, qse_long_t nr)
|
||||
}
|
||||
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_FNR, tmp1) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_FNR, tmp1) == -1)
|
||||
{
|
||||
if (nr != fnr) qse_awk_refdownval (run, tmp2);
|
||||
qse_awk_refdownval (run, tmp1);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_NR, tmp2) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_NR, tmp2) == -1)
|
||||
{
|
||||
if (nr != fnr) qse_awk_refdownval (run, tmp2);
|
||||
qse_awk_refdownval (run, tmp1);
|
||||
@ -1183,11 +1183,11 @@ static int set_globals_to_default (qse_awk_rtx_t* run)
|
||||
QSE_ASSERT (
|
||||
STACK_GLOBAL(run,gtab[i].idx) == qse_awk_val_nil);
|
||||
|
||||
if (qse_awk_setglobal (run, gtab[i].idx, tmp) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, gtab[i].idx, tmp) == -1)
|
||||
{
|
||||
for (j = 0; j < i; j++)
|
||||
{
|
||||
qse_awk_setglobal (
|
||||
qse_awk_rtx_setglobal (
|
||||
run, gtab[i].idx, qse_awk_val_nil);
|
||||
}
|
||||
|
||||
@ -1237,7 +1237,7 @@ static int prepare_globals (qse_awk_rtx_t* run, const qse_cstr_t* runarg)
|
||||
}
|
||||
|
||||
/* override NF to zero */
|
||||
if (qse_awk_setglobal (
|
||||
if (qse_awk_rtx_setglobal (
|
||||
run, QSE_AWK_GLOBAL_NF, qse_awk_val_zero) == -1) goto oops;
|
||||
|
||||
/* override ARGC and ARGV */
|
||||
@ -1376,7 +1376,7 @@ static int run_bpae_loop (qse_awk_rtx_t* run)
|
||||
}
|
||||
|
||||
/* execute END blocks. the first END block is executed if the
|
||||
* program is not explicitly aborted with qse_awk_stop().*/
|
||||
* program is not explicitly aborted with qse_awk_rtx_stop().*/
|
||||
for (nde = run->awk->tree.end;
|
||||
ret == 0 && nde != QSE_NULL && run->exit_level < EXIT_ABORT;
|
||||
nde = nde->next)
|
||||
@ -1663,7 +1663,7 @@ static int ____run_main_to_be_removed____ (
|
||||
}
|
||||
}
|
||||
|
||||
if (qse_awk_setglobal (run, QSE_AWK_GLOBAL_NF, qse_awk_val_zero) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, QSE_AWK_GLOBAL_NF, qse_awk_val_zero) == -1)
|
||||
{
|
||||
/* it can simply restore the top of the stack this way
|
||||
* because the values pused onto the stack so far are
|
||||
@ -1915,7 +1915,7 @@ static int ____run_main_to_be_removed____ (
|
||||
}
|
||||
|
||||
/* the first END block is executed if the program is not
|
||||
* explicitly aborted with qse_awk_stop */
|
||||
* explicitly aborted with qse_awk_rtx_stop */
|
||||
for (nde = run->awk->tree.end;
|
||||
n == 0 && nde != QSE_NULL && run->exit_level < EXIT_ABORT;
|
||||
nde = nde->next)
|
||||
@ -3020,7 +3020,7 @@ static int run_delete (qse_awk_rtx_t* run, qse_awk_nde_delete_t* nde)
|
||||
if (var->type == QSE_AWK_NDE_GLOBAL ||
|
||||
var->type == QSE_AWK_NDE_GLOBALIDX)
|
||||
{
|
||||
if (qse_awk_setglobal (
|
||||
if (qse_awk_rtx_setglobal (
|
||||
run, (int)var->id.idxa, tmp) == -1)
|
||||
{
|
||||
qse_awk_refupval (run, tmp);
|
||||
@ -3911,7 +3911,7 @@ static qse_awk_val_t* do_assignment_map (
|
||||
else if (var->type == QSE_AWK_NDE_GLOBALIDX)
|
||||
{
|
||||
qse_awk_refupval (run, tmp);
|
||||
if (qse_awk_setglobal (run, (int)var->id.idxa, tmp) == -1)
|
||||
if (qse_awk_rtx_setglobal (run, (int)var->id.idxa, tmp) == -1)
|
||||
{
|
||||
qse_awk_refdownval (run, tmp);
|
||||
|
||||
@ -6140,7 +6140,7 @@ static qse_awk_val_t* eval_call (
|
||||
* adjust the reference count of the return value.
|
||||
* the value must not be freed even if the reference count
|
||||
* reached zero because its reference has been incremented
|
||||
* in run_return or directly by qse_awk_setretval
|
||||
* in run_return or directly by qse_awk_rtx_setretval
|
||||
* regardless of its reference count. */
|
||||
qse_awk_refdownval_nofree (run, v);
|
||||
}
|
||||
@ -7061,7 +7061,7 @@ qse_char_t* qse_awk_format (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_EFMTARG);
|
||||
return QSE_NULL;
|
||||
}
|
||||
v = qse_awk_getarg (run, stack_arg_idx);
|
||||
v = qse_awk_rtx_getarg (run, stack_arg_idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -7167,7 +7167,7 @@ qse_char_t* qse_awk_format (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_EFMTARG);
|
||||
return QSE_NULL;
|
||||
}
|
||||
v = qse_awk_getarg (run, stack_arg_idx);
|
||||
v = qse_awk_rtx_getarg (run, stack_arg_idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -7288,7 +7288,7 @@ qse_char_t* qse_awk_format (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_EFMTARG);
|
||||
return QSE_NULL;
|
||||
}
|
||||
v = qse_awk_getarg (run, stack_arg_idx);
|
||||
v = qse_awk_rtx_getarg (run, stack_arg_idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -7376,7 +7376,7 @@ qse_char_t* qse_awk_format (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_EFMTARG);
|
||||
return QSE_NULL;
|
||||
}
|
||||
v = qse_awk_getarg (run, stack_arg_idx);
|
||||
v = qse_awk_rtx_getarg (run, stack_arg_idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -7453,7 +7453,7 @@ qse_char_t* qse_awk_format (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_EFMTARG);
|
||||
return QSE_NULL;
|
||||
}
|
||||
v = qse_awk_getarg (run, stack_arg_idx);
|
||||
v = qse_awk_rtx_getarg (run, stack_arg_idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -7563,7 +7563,7 @@ qse_char_t* qse_awk_format (
|
||||
qse_awk_setrunerrnum (run, QSE_AWK_EFMTARG);
|
||||
return QSE_NULL;
|
||||
}
|
||||
v = qse_awk_getarg (run, stack_arg_idx);
|
||||
v = qse_awk_rtx_getarg (run, stack_arg_idx);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -369,7 +369,7 @@ static qse_ssize_t awk_eio_pipe (
|
||||
/*dprint (QSE_T("opening %s of type %d (pipe)\n"), epa->name, epa->type);*/
|
||||
|
||||
handle = qse_pio_open (
|
||||
qse_awk_getrunmmgr(epa->run),
|
||||
qse_awk_rtx_getmmgr(epa->run),
|
||||
0,
|
||||
epa->name,
|
||||
flags|QSE_PIO_SHELL|QSE_PIO_TEXT
|
||||
@ -454,7 +454,7 @@ static qse_ssize_t awk_eio_file (
|
||||
|
||||
/*dprint (QSE_T("opening %s of type %d (file)\n"), epa->name, epa->type);*/
|
||||
handle = qse_fio_open (
|
||||
qse_awk_getrunmmgr(epa->run),
|
||||
qse_awk_rtx_getmmgr(epa->run),
|
||||
0,
|
||||
epa->name,
|
||||
flags | QSE_FIO_TEXT,
|
||||
@ -544,7 +544,7 @@ static int open_eio_console (qse_awk_eio_t* epa)
|
||||
qse_sio_t* fp;
|
||||
|
||||
fp = qse_sio_open (
|
||||
qse_awk_getrunmmgr(epa->run),
|
||||
qse_awk_rtx_getmmgr(epa->run),
|
||||
0,
|
||||
rd->ic.files[rd->ic.index],
|
||||
QSE_SIO_READ
|
||||
@ -561,7 +561,7 @@ static int open_eio_console (qse_awk_eio_t* epa)
|
||||
}
|
||||
|
||||
/*dprint (QSE_T(" console(r) - %s\n"), rd->ic.files[rd->ic.index]);*/
|
||||
if (qse_awk_setfilename (
|
||||
if (qse_awk_rtx_setfilename (
|
||||
epa->run, rd->ic.files[rd->ic.index],
|
||||
qse_strlen(rd->ic.files[rd->ic.index])) == -1)
|
||||
{
|
||||
@ -579,7 +579,7 @@ static int open_eio_console (qse_awk_eio_t* epa)
|
||||
{
|
||||
/*dprint (QSE_T(" console(w) - <standard output>\n"));*/
|
||||
|
||||
if (qse_awk_setofilename (epa->run, QSE_T(""), 0) == -1)
|
||||
if (qse_awk_rtx_setofilename (epa->run, QSE_T(""), 0) == -1)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
@ -646,7 +646,7 @@ static qse_ssize_t awk_eio_console (
|
||||
qse_sio_t* fp;
|
||||
|
||||
fp = qse_sio_open (
|
||||
qse_awk_getrunmmgr(epa->run),
|
||||
qse_awk_rtx_getmmgr(epa->run),
|
||||
0,
|
||||
rd->ic.files[rd->ic.index],
|
||||
QSE_SIO_READ
|
||||
@ -663,7 +663,7 @@ static qse_ssize_t awk_eio_console (
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qse_awk_setfilename (
|
||||
if (qse_awk_rtx_setfilename (
|
||||
epa->run, rd->ic.files[rd->ic.index],
|
||||
qse_strlen(rd->ic.files[rd->ic.index])) == -1)
|
||||
{
|
||||
@ -671,7 +671,7 @@ static qse_ssize_t awk_eio_console (
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (qse_awk_setglobal (
|
||||
if (qse_awk_rtx_setglobal (
|
||||
epa->run, QSE_AWK_GLOBAL_FNR, qse_awk_val_zero) == -1)
|
||||
{
|
||||
/* need to reset FNR */
|
||||
@ -786,10 +786,10 @@ static int bfn_math_1 (
|
||||
qse_awk_val_t* r;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
n = qse_awk_valtonum (run, a0, &lv, &rv);
|
||||
if (n == -1) return -1;
|
||||
@ -819,7 +819,7 @@ static int bfn_math_1 (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -833,11 +833,11 @@ static int bfn_math_2 (
|
||||
qse_awk_val_t* r;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 2);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a1 = qse_awk_getarg (run, 1);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
a1 = qse_awk_rtx_getarg (run, 1);
|
||||
|
||||
n = qse_awk_valtonum (run, a0, &lv0, &rv0);
|
||||
if (n == -1) return -1;
|
||||
@ -871,7 +871,7 @@ static int bfn_math_2 (
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1012,10 +1012,10 @@ static int bfn_int (qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
qse_awk_val_t* r;
|
||||
int n;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
n = qse_awk_valtonum (run, a0, &lv, &rv);
|
||||
if (n == -1) return -1;
|
||||
@ -1028,7 +1028,7 @@ static int bfn_int (qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1043,7 +1043,7 @@ static int bfn_rand (qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1058,15 +1058,15 @@ static int bfn_srand (qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
unsigned int prev;
|
||||
rxtn_t* rxtn;
|
||||
|
||||
rxtn = (rxtn_t*)qse_awk_getrundata (run);
|
||||
nargs = qse_awk_getnargs (run);
|
||||
rxtn = (rxtn_t*)qse_awk_rtx_getdata (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 0 || nargs == 1);
|
||||
|
||||
prev = rxtn->seed;
|
||||
|
||||
if (nargs == 1)
|
||||
{
|
||||
a0 = qse_awk_getarg (run, 0);
|
||||
a0 = qse_awk_rtx_getarg (run, 0);
|
||||
|
||||
n = qse_awk_valtonum (run, a0, &lv, &rv);
|
||||
if (n == -1) return -1;
|
||||
@ -1091,7 +1091,7 @@ static int bfn_srand (qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl)
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, r);
|
||||
qse_awk_rtx_setretval (run, r);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1103,10 +1103,10 @@ static int bfn_system (qse_awk_rtx_t* run, const qse_char_t* fnm, qse_size_t fnl
|
||||
qse_size_t len;
|
||||
int n = 0;
|
||||
|
||||
nargs = qse_awk_getnargs (run);
|
||||
nargs = qse_awk_rtx_getnargs (run);
|
||||
QSE_ASSERT (nargs == 1);
|
||||
|
||||
v = qse_awk_getarg (run, 0);
|
||||
v = qse_awk_rtx_getarg (run, 0);
|
||||
if (v->type == QSE_AWK_VAL_STR)
|
||||
{
|
||||
str = ((qse_awk_val_str_t*)v)->ptr;
|
||||
@ -1180,7 +1180,7 @@ skip_system:
|
||||
return -1;
|
||||
}
|
||||
|
||||
qse_awk_setretval (run, v);
|
||||
qse_awk_rtx_setretval (run, v);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user