|
|
@ -3,7 +3,7 @@ |
|
|
|
** Input/output library to LUA |
|
|
|
*/ |
|
|
|
|
|
|
|
char *rcs_iolib="$Id: iolib.c,v 1.4 1994/04/25 20:11:23 celes Exp celes $"; |
|
|
|
char *rcs_iolib="$Id: iolib.c,v 1.5 1994/08/04 16:23:29 celes Exp celes $"; |
|
|
|
|
|
|
|
#include <stdlib.h> |
|
|
|
#include <string.h> |
|
|
@ -443,7 +443,7 @@ static void io_write (void) |
|
|
|
** Execute a executable program using "system". |
|
|
|
** Return the result of execution. |
|
|
|
*/ |
|
|
|
void io_execute (void) |
|
|
|
static void io_execute (void) |
|
|
|
{ |
|
|
|
lua_Object o = lua_getparam (1); |
|
|
|
if (o == NULL || !lua_isstring (o)) |
|
|
@ -463,7 +463,7 @@ void io_execute (void) |
|
|
|
** Remove a file. |
|
|
|
** On error put 0 on stack, otherwise put 1. |
|
|
|
*/ |
|
|
|
void io_remove (void) |
|
|
|
static void io_remove (void) |
|
|
|
{ |
|
|
|
lua_Object o = lua_getparam (1); |
|
|
|
if (o == NULL || !lua_isstring (o)) |
|
|
@ -481,6 +481,35 @@ void io_remove (void) |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
** To get a environment variables |
|
|
|
*/ |
|
|
|
static void io_getenv (void) |
|
|
|
{ |
|
|
|
lua_Object s = lua_getparam(1); |
|
|
|
if (!lua_isstring(s)) |
|
|
|
lua_pushnil(); |
|
|
|
else |
|
|
|
{ |
|
|
|
char *env = getenv(lua_getstring(s)); |
|
|
|
if (env == NULL) lua_pushnil(); |
|
|
|
else lua_pushstring(env); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/*
|
|
|
|
** To abort |
|
|
|
*/ |
|
|
|
static void io_abort (void) |
|
|
|
{ |
|
|
|
lua_Object o = lua_getparam(1); |
|
|
|
if (lua_isstring(o)) |
|
|
|
printf("%s\n", lua_getstring(o)); |
|
|
|
exit(1); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Open io library |
|
|
|
*/ |
|
|
@ -493,4 +522,6 @@ void iolib_open (void) |
|
|
|
lua_register ("write", io_write); |
|
|
|
lua_register ("execute", io_execute); |
|
|
|
lua_register ("remove", io_remove); |
|
|
|
lua_register ("getenv", io_getenv); |
|
|
|
lua_register ("abort", io_abort); |
|
|
|
} |
|
|
|