diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-22 18:57:18 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-12-22 18:57:18 -0200 |
commit | 03f3f9e707ceaf46efb4917f8d32ea62283b9358 (patch) | |
tree | cdf8e8d255fc95e09b94521dff35cd4f0f57d1e6 /ldo.c | |
parent | a78eecee48c725549316629b9a8d936c990b65de (diff) | |
download | lua-03f3f9e707ceaf46efb4917f8d32ea62283b9358.tar.gz lua-03f3f9e707ceaf46efb4917f8d32ea62283b9358.tar.bz2 lua-03f3f9e707ceaf46efb4917f8d32ea62283b9358.zip |
"zio" now keeps its "name".
Diffstat (limited to 'ldo.c')
-rw-r--r-- | ldo.c | 28 |
1 files changed, 14 insertions, 14 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: ldo.c,v 1.16 1997/12/17 20:57:20 roberto Exp roberto $ | 2 | ** $Id: ldo.c,v 1.17 1997/12/18 18:32:39 roberto Exp roberto $ |
3 | ** Stack and Call structure of Lua | 3 | ** Stack and Call structure of Lua |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -296,7 +296,7 @@ int luaD_protectedrun (int nResults) | |||
296 | /* | 296 | /* |
297 | ** returns 0 = chunk loaded; 1 = error; 2 = no more chunks to load | 297 | ** returns 0 = chunk loaded; 1 = error; 2 = no more chunks to load |
298 | */ | 298 | */ |
299 | static int protectedparser (ZIO *z, char *chunkname, int bin) | 299 | static int protectedparser (ZIO *z, int bin) |
300 | { | 300 | { |
301 | int status; | 301 | int status; |
302 | TProtoFunc *tf; | 302 | TProtoFunc *tf; |
@@ -304,7 +304,7 @@ static int protectedparser (ZIO *z, char *chunkname, int bin) | |||
304 | jmp_buf *oldErr = L->errorJmp; | 304 | jmp_buf *oldErr = L->errorJmp; |
305 | L->errorJmp = &myErrorJmp; | 305 | L->errorJmp = &myErrorJmp; |
306 | if (setjmp(myErrorJmp) == 0) { | 306 | if (setjmp(myErrorJmp) == 0) { |
307 | tf = bin ? luaU_undump1(z, chunkname) : luaY_parser(z, chunkname); | 307 | tf = bin ? luaU_undump1(z) : luaY_parser(z); |
308 | status = 0; | 308 | status = 0; |
309 | } | 309 | } |
310 | else { | 310 | else { |
@@ -322,12 +322,12 @@ static int protectedparser (ZIO *z, char *chunkname, int bin) | |||
322 | } | 322 | } |
323 | 323 | ||
324 | 324 | ||
325 | static int do_main (ZIO *z, char *chunkname, int bin) | 325 | static int do_main (ZIO *z, int bin) |
326 | { | 326 | { |
327 | int status; | 327 | int status; |
328 | do { | 328 | do { |
329 | long old_blocks = (luaC_checkGC(), L->nblocks); | 329 | long old_blocks = (luaC_checkGC(), L->nblocks); |
330 | status = protectedparser(z, chunkname, bin); | 330 | status = protectedparser(z, bin); |
331 | if (status == 1) return 1; /* error */ | 331 | if (status == 1) return 1; /* error */ |
332 | else if (status == 2) return 0; /* 'natural' end */ | 332 | else if (status == 2) return 0; /* 'natural' end */ |
333 | else { | 333 | else { |
@@ -368,8 +368,8 @@ int lua_dofile (char *filename) | |||
368 | bin = (c == ID_CHUNK); | 368 | bin = (c == ID_CHUNK); |
369 | if (bin) | 369 | if (bin) |
370 | f = freopen(filename, "rb", f); /* set binary mode */ | 370 | f = freopen(filename, "rb", f); /* set binary mode */ |
371 | luaZ_Fopen(&z, f); | 371 | luaZ_Fopen(&z, f, filename); |
372 | status = do_main(&z, filename, bin); | 372 | status = do_main(&z, bin); |
373 | if (f != stdin) | 373 | if (f != stdin) |
374 | fclose(f); | 374 | fclose(f); |
375 | return status; | 375 | return status; |
@@ -383,15 +383,15 @@ int lua_dofile (char *filename) | |||
383 | int lua_dostring (char *str) | 383 | int lua_dostring (char *str) |
384 | { | 384 | { |
385 | int status; | 385 | int status; |
386 | char buff[SIZE_PREF+25]; | 386 | char name[SIZE_PREF+25]; |
387 | char *temp; | 387 | char *temp; |
388 | ZIO z; | 388 | ZIO z; |
389 | if (str == NULL) return 1; | 389 | if (str == NULL) return 1; |
390 | sprintf(buff, "(dostring) >> %." SSIZE_PREF "s", str); | 390 | sprintf(name, "(dostring) >> %." SSIZE_PREF "s", str); |
391 | temp = strchr(buff, '\n'); | 391 | temp = strchr(name, '\n'); |
392 | if (temp) *temp = 0; /* end string after first line */ | 392 | if (temp) *temp = 0; /* end string after first line */ |
393 | luaZ_sopen(&z, str); | 393 | luaZ_sopen(&z, str, name); |
394 | status = do_main(&z, buff, 0); | 394 | status = do_main(&z, 0); |
395 | return status; | 395 | return status; |
396 | } | 396 | } |
397 | 397 | ||
@@ -401,8 +401,8 @@ int lua_dobuffer (char *buff, int size) | |||
401 | { | 401 | { |
402 | int status; | 402 | int status; |
403 | ZIO z; | 403 | ZIO z; |
404 | luaZ_mopen(&z, buff, size); | 404 | luaZ_mopen(&z, buff, size, "(buffer)"); |
405 | status = do_main(&z, "(buffer)", 1); | 405 | status = do_main(&z, 1); |
406 | return status; | 406 | return status; |
407 | } | 407 | } |
408 | #endif | 408 | #endif |