aboutsummaryrefslogtreecommitdiff
path: root/iolib.c
diff options
context:
space:
mode:
authorWaldemar Celes <celes@tecgraf.puc-rio.br>1994-09-12 16:24:31 -0300
committerWaldemar Celes <celes@tecgraf.puc-rio.br>1994-09-12 16:24:31 -0300
commit98263e2ef156c04c305708fa8792d80b3b76aceb (patch)
treec9f238eaebd432514c287254b61c84b2cdffffa0 /iolib.c
parentd2117d66ec893ed01efa6bc065f842e39d80e6df (diff)
downloadlua-98263e2ef156c04c305708fa8792d80b3b76aceb.tar.gz
lua-98263e2ef156c04c305708fa8792d80b3b76aceb.tar.bz2
lua-98263e2ef156c04c305708fa8792d80b3b76aceb.zip
acertar bug no formato de string.
Diffstat (limited to 'iolib.c')
-rw-r--r--iolib.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/iolib.c b/iolib.c
index a2321723..52285d3d 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.7 1994/08/17 15:10:04 celes Exp roberto $"; 6char *rcs_iolib="$Id: iolib.c,v 1.8 1994/08/17 22:34:20 roberto Exp celes $";
7 7
8#include <stdlib.h> 8#include <stdlib.h>
9#include <string.h> 9#include <string.h>
@@ -345,7 +345,7 @@ static char *buildformat (char *e, lua_Object o)
345 static char buffer[512]; 345 static char buffer[512];
346 static char f[80]; 346 static char f[80];
347 char *string = &buffer[255]; 347 char *string = &buffer[255];
348 char *fstart=e, *fspace; 348 char *fstart=e, *fspace, *send;
349 char t, j='r'; 349 char t, j='r';
350 int m=0, n=0, l; 350 int m=0, n=0, l;
351 while (isspace(*e)) e++; 351 while (isspace(*e)) e++;
@@ -354,7 +354,7 @@ static char *buildformat (char *e, lua_Object o)
354 if (*e == '<' || *e == '|' || *e == '>') j = *e++; 354 if (*e == '<' || *e == '|' || *e == '>') j = *e++;
355 while (isdigit(*e)) 355 while (isdigit(*e))
356 m = m*10 + (*e++ - '0'); 356 m = m*10 + (*e++ - '0');
357 e++; /* skip point */ 357 if (*e == '.') e++; /* skip point */
358 while (isdigit(*e)) 358 while (isdigit(*e))
359 n = n*10 + (*e++ - '0'); 359 n = n*10 + (*e++ - '0');
360 360
@@ -383,6 +383,7 @@ static char *buildformat (char *e, lua_Object o)
383 default: return ""; 383 default: return "";
384 } 384 }
385 l = strlen(string); 385 l = strlen(string);
386 send = string+l;
386 if (m!=0 && l>m) 387 if (m!=0 && l>m)
387 { 388 {
388 int i; 389 int i;
@@ -406,8 +407,8 @@ static char *buildformat (char *e, lua_Object o)
406 fspace--; 407 fspace--;
407 *string = *fspace; 408 *string = *fspace;
408 } 409 }
409 while (isspace(*e)) string[l++] = *e++; 410 while (isspace(*e)) *send++ = *e++;
410 string[l] = 0; 411 *send = 0;
411 return string; 412 return string;
412} 413}
413static void io_write (void) 414static void io_write (void)