Recovered from cvs revision 2007-09-24 08:21:00

This commit is contained in:
2007-09-25 00:12:00 +00:00
parent a95cfc0029
commit 9312940dfa
29 changed files with 620 additions and 205 deletions

View File

@ -1,5 +1,5 @@
/*
* $Id: Awk.cpp,v 1.32 2007/08/26 14:33:38 bacon Exp $
* $Id: Awk.cpp,v 1.33 2007/09/23 16:48:55 bacon Exp $
*/
#include <ase/awk/StdAwk.hpp>
@ -46,8 +46,10 @@ public:
int n = ASE::StdAwk::open ();
#endif
if (addFunction (ASE_T("sleep"), 1, 1,
(FunctionHandler)&TestAwk::sleep) == -1)
idLastSleep = addGlobal (ASE_T("LAST_SLEEP"));
if (idLastSleep == -1 ||
addFunction (ASE_T("sleep"), 1, 1,
(FunctionHandler)&TestAwk::sleep) == -1)
{
#if defined(_MSC_VER) && (_MSC_VER<1400)
StdAwk::close ();
@ -85,14 +87,16 @@ public:
#endif
}
int sleep (Return* ret, const Argument* args, size_t nargs,
int sleep (Run& run, Return& ret, const Argument* args, size_t nargs,
const char_t* name, size_t len)
{
long_t x = args[0].toInt();
run.setGlobal (idLastSleep, x);
#ifdef _WIN32
::Sleep (args[0].toInt() * 1000);
return ret->set ((long_t)0);
::Sleep (x * 1000);
return ret.set ((long_t)0);
#else
return ret->set ((long_t)::sleep (args[0].toInt()));
return ret.set ((long_t)::sleep (x));
#endif
}
@ -467,6 +471,8 @@ private:
size_t numConOutFiles;
const char_t* conOutFile[128];
int idLastSleep;
#ifdef _WIN32
void* heap;
#endif
@ -567,6 +573,10 @@ int awk_main (int argc, ase_char_t* argv[])
{
awk.setOption (awk.getOption () & ~TestAwk::OPT_STRIPSPACES);
}
else if (ase_strcmp(argv[i], ASE_T("-noimplicit")) == 0)
{
awk.setOption (awk.getOption () & ~TestAwk::OPT_IMPLICIT);
}
else
{
print_usage (argv[0]);
@ -712,7 +722,6 @@ extern "C" int ase_main (int argc, ase_achar_t* argv[])
_CrtSetDbgFlag (_CRTDBG_LEAK_CHECK_DF | _CRTDBG_ALLOC_MEM_DF);
#endif
n = ase_runmain (argc,argv,awk_main);
#if defined(__linux) && defined(_DEBUG)

View File

@ -1,5 +1,5 @@
/*
* $Id: awk.c,v 1.14 2007/09/05 14:42:06 bacon Exp $
* $Id: awk.c,v 1.15 2007/09/23 16:48:55 bacon Exp $
*/
#include <ase/awk/awk.h>
@ -1058,7 +1058,7 @@ static int awk_main (int argc, ase_char_t* argv[])
app_awk = awk;
if (ase_awk_addbfn (awk,
if (ase_awk_addfunc (awk,
ASE_T("sleep"), 5, 0,
1, 1, ASE_NULL, bfn_sleep) == ASE_NULL)
{