skipping of '#' in first line is done by lex.c.
This commit is contained in:
8
inout.c
8
inout.c
@@ -5,7 +5,7 @@
|
|||||||
** Also provides some predefined lua functions.
|
** Also provides some predefined lua functions.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char *rcs_inout="$Id: inout.c,v 2.69 1997/06/27 22:38:49 roberto Exp roberto $";
|
char *rcs_inout="$Id: inout.c,v 2.70 1997/07/07 21:05:51 roberto Exp roberto $";
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@@ -71,12 +71,8 @@ int lua_dofile (char *filename)
|
|||||||
f = freopen(filename, "rb", f); /* set binary mode */
|
f = freopen(filename, "rb", f); /* set binary mode */
|
||||||
status = lua_doFILE(f, 1);
|
status = lua_doFILE(f, 1);
|
||||||
}
|
}
|
||||||
else {
|
else
|
||||||
if (c == '#')
|
|
||||||
while ((c=fgetc(f)) != '\n' && c != 0) /* skip first line */;
|
|
||||||
ungetc(c, f);
|
|
||||||
status = lua_doFILE(f, 0);
|
status = lua_doFILE(f, 0);
|
||||||
}
|
|
||||||
if (f != stdin)
|
if (f != stdin)
|
||||||
fclose(f);
|
fclose(f);
|
||||||
return status;
|
return status;
|
||||||
|
|||||||
13
lex.c
13
lex.c
@@ -1,4 +1,4 @@
|
|||||||
char *rcs_lex = "$Id: lex.c,v 3.5 1997/06/16 16:50:22 roberto Exp roberto $";
|
char *rcs_lex = "$Id: lex.c,v 3.6 1997/07/01 19:32:41 roberto Exp roberto $";
|
||||||
|
|
||||||
|
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
@@ -37,6 +37,16 @@ static struct {
|
|||||||
static int iflevel; /* level of nested $if's */
|
static int iflevel; /* level of nested $if's */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static void firstline (void)
|
||||||
|
{
|
||||||
|
int c = zgetc(lex_z);
|
||||||
|
if (c == '#')
|
||||||
|
while((c=zgetc(lex_z)) != '\n' && c != EOZ) /* skip first line */;
|
||||||
|
zungetc(lex_z);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void lua_setinput (ZIO *z)
|
void lua_setinput (ZIO *z)
|
||||||
{
|
{
|
||||||
current = '\n';
|
current = '\n';
|
||||||
@@ -45,6 +55,7 @@ void lua_setinput (ZIO *z)
|
|||||||
ifstate[0].skip = 0;
|
ifstate[0].skip = 0;
|
||||||
ifstate[0].elsepart = 1; /* to avoid a free $else */
|
ifstate[0].elsepart = 1; /* to avoid a free $else */
|
||||||
lex_z = z;
|
lex_z = z;
|
||||||
|
firstline();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user