aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1995-10-23 11:54:11 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1995-10-23 11:54:11 -0200
commitfa71304e54f304ceceddef3a4b97b38228822e94 (patch)
tree52af1aed04b7ff339ecc104af877fdc3bb12c0ed
parentb5745d11cdd93c819f8e881504eb534c7e13badd (diff)
downloadlua-fa71304e54f304ceceddef3a4b97b38228822e94.tar.gz
lua-fa71304e54f304ceceddef3a4b97b38228822e94.tar.bz2
lua-fa71304e54f304ceceddef3a4b97b38228822e94.zip
"dofile" now accepts NULL as parameter, to run stdin.
-rw-r--r--inout.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/inout.c b/inout.c
index 0717c8ab..0506d11e 100644
--- a/inout.c
+++ b/inout.c
@@ -5,7 +5,7 @@
5** Also provides some predefined lua functions. 5** Also provides some predefined lua functions.
6*/ 6*/
7 7
8char *rcs_inout="$Id: inout.c,v 2.22 1995/10/09 13:06:20 roberto Exp roberto $"; 8char *rcs_inout="$Id: inout.c,v 2.23 1995/10/17 11:58:41 roberto Exp roberto $";
9 9
10#include <stdio.h> 10#include <stdio.h>
11#include <stdlib.h> 11#include <stdlib.h>
@@ -60,7 +60,13 @@ static int stringinput (void)
60char *lua_openfile (char *fn) 60char *lua_openfile (char *fn)
61{ 61{
62 lua_setinput (fileinput); 62 lua_setinput (fileinput);
63 fp = fopen (fn, "r"); 63 if (fn == NULL)
64 {
65 fp = stdin;
66 fn = "(stdin)";
67 }
68 else
69 fp = fopen (fn, "r");
64 if (fp == NULL) 70 if (fp == NULL)
65 { 71 {
66 static char buff[255]; 72 static char buff[255];
@@ -77,7 +83,7 @@ char *lua_openfile (char *fn)
77*/ 83*/
78void lua_closefile (void) 84void lua_closefile (void)
79{ 85{
80 if (fp != NULL) 86 if (fp != NULL && fp != stdin)
81 { 87 {
82 fclose (fp); 88 fclose (fp);
83 fp = NULL; 89 fp = NULL;