mirror of https://github.com/lua/lua
skips can be nested (why not?).
This commit is contained in:
parent
a8a15ff1bd
commit
ec422ec7d0
12
iolib.c
12
iolib.c
|
@ -115,8 +115,14 @@ static void io_read (void)
|
|||
int c = NEED_OTHER;
|
||||
luaI_addchar(0);
|
||||
while (*p) {
|
||||
if (*p == '{' || *p == '}') {
|
||||
inskip = (*p == '{');
|
||||
if (*p == '{') {
|
||||
inskip++;
|
||||
p++;
|
||||
}
|
||||
else if (*p == '}') {
|
||||
if (inskip == 0)
|
||||
lua_error("unbalanced `{...}' in read pattern");
|
||||
inskip--;
|
||||
p++;
|
||||
}
|
||||
else {
|
||||
|
@ -125,7 +131,7 @@ static void io_read (void)
|
|||
if (c == NEED_OTHER) c = getc(lua_infile);
|
||||
m = (c == EOF) ? 0 : singlematch((char)c, p);
|
||||
if (m) {
|
||||
if (!inskip) luaI_addchar(c);
|
||||
if (inskip == 0) luaI_addchar(c);
|
||||
c = NEED_OTHER;
|
||||
}
|
||||
switch (*ep) {
|
||||
|
|
Loading…
Reference in New Issue