aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWaldemar Celes <celes@tecgraf.puc-rio.br>1995-01-03 11:14:13 -0200
committerWaldemar Celes <celes@tecgraf.puc-rio.br>1995-01-03 11:14:13 -0200
commite4c69cf91710337b9c80039853941d48d211fcfd (patch)
treef64f0c7dd91ee98c075d9c5fed0e8a891afa635c
parent5b8ced84b4bd5ec300d3658b2ddb48d715512732 (diff)
downloadlua-e4c69cf91710337b9c80039853941d48d211fcfd.tar.gz
lua-e4c69cf91710337b9c80039853941d48d211fcfd.tar.bz2
lua-e4c69cf91710337b9c80039853941d48d211fcfd.zip
correcao de bug na construcao do formato.
-rw-r--r--iolib.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/iolib.c b/iolib.c
index 35b1dea2..3d4d5598 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 roberto $"; 6char *rcs_iolib="$Id: iolib.c,v 1.17 1994/12/13 15:55:41 roberto Exp $";
7 7
8#include <stdio.h> 8#include <stdio.h>
9#include <ctype.h> 9#include <ctype.h>
@@ -29,7 +29,7 @@ static FILE *in=stdin, *out=stdout;
29static void io_readfrom (void) 29static void io_readfrom (void)
30{ 30{
31 lua_Object o = lua_getparam (1); 31 lua_Object o = lua_getparam (1);
32 if (o == LUA_NOOBJECT) /* restore standart input */ 32 if (o == NULL) /* restore standart input */
33 { 33 {
34 if (in != stdin) 34 if (in != stdin)
35 { 35 {
@@ -74,7 +74,7 @@ static void io_readfrom (void)
74static void io_writeto (void) 74static void io_writeto (void)
75{ 75{
76 lua_Object o = lua_getparam (1); 76 lua_Object o = lua_getparam (1);
77 if (o == LUA_NOOBJECT) /* restore standart output */ 77 if (o == NULL) /* restore standart output */
78 { 78 {
79 if (out != stdout) 79 if (out != stdout)
80 { 80 {
@@ -120,7 +120,7 @@ static void io_writeto (void)
120static void io_appendto (void) 120static void io_appendto (void)
121{ 121{
122 lua_Object o = lua_getparam (1); 122 lua_Object o = lua_getparam (1);
123 if (o == LUA_NOOBJECT) /* restore standart output */ 123 if (o == NULL) /* restore standart output */
124 { 124 {
125 if (out != stdout) 125 if (out != stdout)
126 { 126 {
@@ -177,7 +177,7 @@ static void io_appendto (void)
177static void io_read (void) 177static void io_read (void)
178{ 178{
179 lua_Object o = lua_getparam (1); 179 lua_Object o = lua_getparam (1);
180 if (!lua_isstring(o)) /* free format */ 180 if (o == NULL || !lua_isstring(o)) /* free format */
181 { 181 {
182 int c; 182 int c;
183 char s[256]; 183 char s[256];
@@ -383,7 +383,8 @@ static char *buildformat (char *e, lua_Object o)
383 m = m*10 + (*e++ - '0'); 383 m = m*10 + (*e++ - '0');
384 if (*e == '.') e++; /* skip point */ 384 if (*e == '.') e++; /* skip point */
385 while (isdigit(*e)) 385 while (isdigit(*e))
386 n = n*10 + (*e++ - '0'); 386 if (n < 0) n = (*e++ - '0');
387 else n = n*10 + (*e++ - '0');
387 388
388 sprintf(f,"%%"); 389 sprintf(f,"%%");
389 if (j == '<' || j == '|') sprintf(strchr(f,0),"-"); 390 if (j == '<' || j == '|') sprintf(strchr(f,0),"-");
@@ -442,12 +443,12 @@ static void io_write (void)
442{ 443{
443 lua_Object o1 = lua_getparam (1); 444 lua_Object o1 = lua_getparam (1);
444 lua_Object o2 = lua_getparam (2); 445 lua_Object o2 = lua_getparam (2);
445 if (o1 == LUA_NOOBJECT) /* new line */ 446 if (o1 == NULL) /* new line */
446 { 447 {
447 fprintf (out, "\n"); 448 fprintf (out, "\n");
448 lua_pushnumber(1); 449 lua_pushnumber(1);
449 } 450 }
450 else if (o2 == LUA_NOOBJECT) /* free format */ 451 else if (o2 == NULL) /* free format */
451 { 452 {
452 int status=0; 453 int status=0;
453 if (lua_isnumber(o1)) 454 if (lua_isnumber(o1))
@@ -475,7 +476,7 @@ static void io_write (void)
475static void io_execute (void) 476static void io_execute (void)
476{ 477{
477 lua_Object o = lua_getparam (1); 478 lua_Object o = lua_getparam (1);
478 if (!lua_isstring (o)) 479 if (o == NULL || !lua_isstring (o))
479 { 480 {
480 lua_error ("incorrect argument to function 'execute`"); 481 lua_error ("incorrect argument to function 'execute`");
481 lua_pushnumber (0); 482 lua_pushnumber (0);
@@ -495,7 +496,7 @@ static void io_execute (void)
495static void io_remove (void) 496static void io_remove (void)
496{ 497{
497 lua_Object o = lua_getparam (1); 498 lua_Object o = lua_getparam (1);
498 if (!lua_isstring (o)) 499 if (o == NULL || !lua_isstring (o))
499 { 500 {
500 lua_error ("incorrect argument to function 'execute`"); 501 lua_error ("incorrect argument to function 'execute`");
501 lua_pushnumber (0); 502 lua_pushnumber (0);