aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1995-02-02 16:54:58 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1995-02-02 16:54:58 -0200
commit61986261385344e176faa2a06d0351954b89cff9 (patch)
tree9f07f5c76abf1586789e72455ce2a4a5c727619f
parent8795aab83ed89f6a93d71d36c8cc37a4887581b2 (diff)
downloadlua-61986261385344e176faa2a06d0351954b89cff9.tar.gz
lua-61986261385344e176faa2a06d0351954b89cff9.tar.bz2
lua-61986261385344e176faa2a06d0351954b89cff9.zip
libs should not use Lua internal functions (like mem.h).
a null lua_Object is LUA_NOOBJECT, not NULL.
-rw-r--r--iolib.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/iolib.c b/iolib.c
index 3d4d5598..b322c1f3 100644
--- a/iolib.c
+++ b/iolib.c
@@ -3,7 +3,7 @@
3** Input/output library to LUA 3** Input/output library to LUA
4*/ 4*/
5 5
6char *rcs_iolib="$Id: iolib.c,v 1.17 1994/12/13 15:55:41 roberto Exp $"; 6char *rcs_iolib="$Id: iolib.c,v 1.19 1995/01/03 13:14:13 celes Exp roberto $";
7 7
8#include <stdio.h> 8#include <stdio.h>
9#include <ctype.h> 9#include <ctype.h>
@@ -12,7 +12,6 @@ char *rcs_iolib="$Id: iolib.c,v 1.17 1994/12/13 15:55:41 roberto Exp $";
12#include <time.h> 12#include <time.h>
13#include <stdlib.h> 13#include <stdlib.h>
14 14
15#include "mem.h"
16#include "lua.h" 15#include "lua.h"
17#include "lualib.h" 16#include "lualib.h"
18 17
@@ -29,7 +28,7 @@ static FILE *in=stdin, *out=stdout;
29static void io_readfrom (void) 28static void io_readfrom (void)
30{ 29{
31 lua_Object o = lua_getparam (1); 30 lua_Object o = lua_getparam (1);
32 if (o == NULL) /* restore standart input */ 31 if (o == LUA_NOOBJECT) /* restore standart input */
33 { 32 {
34 if (in != stdin) 33 if (in != stdin)
35 { 34 {
@@ -74,7 +73,7 @@ static void io_readfrom (void)
74static void io_writeto (void) 73static void io_writeto (void)
75{ 74{
76 lua_Object o = lua_getparam (1); 75 lua_Object o = lua_getparam (1);
77 if (o == NULL) /* restore standart output */ 76 if (o == LUA_NOOBJECT) /* restore standart output */
78 { 77 {
79 if (out != stdout) 78 if (out != stdout)
80 { 79 {
@@ -120,7 +119,7 @@ static void io_writeto (void)
120static void io_appendto (void) 119static void io_appendto (void)
121{ 120{
122 lua_Object o = lua_getparam (1); 121 lua_Object o = lua_getparam (1);
123 if (o == NULL) /* restore standart output */ 122 if (o == LUA_NOOBJECT) /* restore standart output */
124 { 123 {
125 if (out != stdout) 124 if (out != stdout)
126 { 125 {
@@ -177,7 +176,7 @@ static void io_appendto (void)
177static void io_read (void) 176static void io_read (void)
178{ 177{
179 lua_Object o = lua_getparam (1); 178 lua_Object o = lua_getparam (1);
180 if (o == NULL || !lua_isstring(o)) /* free format */ 179 if (o == LUA_NOOBJECT || !lua_isstring(o)) /* free format */
181 { 180 {
182 int c; 181 int c;
183 char s[256]; 182 char s[256];
@@ -323,20 +322,20 @@ static void io_readuntil (void)
323 else 322 else
324 d = *lua_getstring(lo); 323 d = *lua_getstring(lo);
325 324
326 s = newvector(n+1, char); 325 s = (char *)malloc(n+1);
327 while((c = fgetc(in)) != EOF && c != d) 326 while((c = fgetc(in)) != EOF && c != d)
328 { 327 {
329 if (m==n) 328 if (m==n)
330 { 329 {
331 n *= 2; 330 n *= 2;
332 s = growvector(s, n+1, char); 331 s = (char *)realloc(s, n+1);
333 } 332 }
334 s[m++] = c; 333 s[m++] = c;
335 } 334 }
336 if (c != EOF) ungetc(c,in); 335 if (c != EOF) ungetc(c,in);
337 s[m] = 0; 336 s[m] = 0;
338 lua_pushstring(s); 337 lua_pushstring(s);
339 luaI_free(s); 338 free(s);
340} 339}
341 340
342 341
@@ -443,12 +442,12 @@ static void io_write (void)
443{ 442{
444 lua_Object o1 = lua_getparam (1); 443 lua_Object o1 = lua_getparam (1);
445 lua_Object o2 = lua_getparam (2); 444 lua_Object o2 = lua_getparam (2);
446 if (o1 == NULL) /* new line */ 445 if (o1 == LUA_NOOBJECT) /* new line */
447 { 446 {
448 fprintf (out, "\n"); 447 fprintf (out, "\n");
449 lua_pushnumber(1); 448 lua_pushnumber(1);
450 } 449 }
451 else if (o2 == NULL) /* free format */ 450 else if (o2 == LUA_NOOBJECT) /* free format */
452 { 451 {
453 int status=0; 452 int status=0;
454 if (lua_isnumber(o1)) 453 if (lua_isnumber(o1))
@@ -476,7 +475,7 @@ static void io_write (void)
476static void io_execute (void) 475static void io_execute (void)
477{ 476{
478 lua_Object o = lua_getparam (1); 477 lua_Object o = lua_getparam (1);
479 if (o == NULL || !lua_isstring (o)) 478 if (o == LUA_NOOBJECT || !lua_isstring (o))
480 { 479 {
481 lua_error ("incorrect argument to function 'execute`"); 480 lua_error ("incorrect argument to function 'execute`");
482 lua_pushnumber (0); 481 lua_pushnumber (0);
@@ -496,7 +495,7 @@ static void io_execute (void)
496static void io_remove (void) 495static void io_remove (void)
497{ 496{
498 lua_Object o = lua_getparam (1); 497 lua_Object o = lua_getparam (1);
499 if (o == NULL || !lua_isstring (o)) 498 if (o == LUA_NOOBJECT || !lua_isstring (o))
500 { 499 {
501 lua_error ("incorrect argument to function 'execute`"); 500 lua_error ("incorrect argument to function 'execute`");
502 lua_pushnumber (0); 501 lua_pushnumber (0);