Browse Source

Plan 9 from Bell Labs 2005-10-27

David du Colombier 18 years ago
parent
commit
b73b3e01f6
4 changed files with 10 additions and 3 deletions
  1. 1 1
      dist/replica/_plan9.db
  2. 1 1
      dist/replica/plan9.db
  3. 1 0
      dist/replica/plan9.log
  4. 7 1
      sys/src/libc/fmt/fltfmt.c

+ 1 - 1
dist/replica/_plan9.db

@@ -14154,7 +14154,7 @@ sys/src/libc/fmt - 20000000775 sys sys 1014927318 0
 sys/src/libc/fmt/dofmt.c - 664 sys sys 1115925565 8658
 sys/src/libc/fmt/dorfmt.c - 664 sys sys 1014927313 777
 sys/src/libc/fmt/errfmt.c - 664 sys sys 1016731560 175
-sys/src/libc/fmt/fltfmt.c - 664 sys sys 1034952854 4339
+sys/src/libc/fmt/fltfmt.c - 664 sys sys 1130374352 4490
 sys/src/libc/fmt/fmt.c - 664 sys sys 1115925564 3102
 sys/src/libc/fmt/fmtdef.h - 664 sys sys 1018029975 1808
 sys/src/libc/fmt/fmtfd.c - 664 sys sys 1014927314 508

+ 1 - 1
dist/replica/plan9.db

@@ -14154,7 +14154,7 @@ sys/src/libc/fmt - 20000000775 sys sys 1014927318 0
 sys/src/libc/fmt/dofmt.c - 664 sys sys 1115925565 8658
 sys/src/libc/fmt/dorfmt.c - 664 sys sys 1014927313 777
 sys/src/libc/fmt/errfmt.c - 664 sys sys 1016731560 175
-sys/src/libc/fmt/fltfmt.c - 664 sys sys 1034952854 4339
+sys/src/libc/fmt/fltfmt.c - 664 sys sys 1130374352 4490
 sys/src/libc/fmt/fmt.c - 664 sys sys 1115925564 3102
 sys/src/libc/fmt/fmtdef.h - 664 sys sys 1018029975 1808
 sys/src/libc/fmt/fmtfd.c - 664 sys sys 1014927314 508

+ 1 - 0
dist/replica/plan9.log

@@ -21619,3 +21619,4 @@
 1129779014 0 c 386/bin/fs/tarfs - 775 sys sys 1129777706 94353
 1129856431 0 c sys/src/cmd/tapefs/tarfs.c - 664 sys sys 1129855841 2703
 1129865435 0 c 386/bin/fs/tarfs - 775 sys sys 1129864622 94363
+1130374901 0 c sys/src/libc/fmt/fltfmt.c - 664 sys sys 1130374352 4490

+ 7 - 1
sys/src/libc/fmt/fltfmt.c

@@ -8,6 +8,7 @@ enum
 	FDIGIT	= 30,
 	FDEFLT	= 6,
 	NSIGNIF	= 17,
+	NEXP10	= 308,
 };
 
 static int
@@ -294,8 +295,13 @@ found:
 int
 _floatfmt(Fmt *fmt, double f)
 {
-	char s[FDIGIT+10];
+	char s[1+NEXP10+1+FDIGIT+1];
 
+	/*
+	 * The max length of a %f string is
+	 *	'[+-]'+"max exponent"+'.'+"max precision"+'\0'
+	 * which is 341 currently.
+	 */	
 	xdtoa(fmt, s, f);
 	fmt->flags &= FmtWidth|FmtLeft;
 	_fmtcpy(fmt, s, strlen(s), strlen(s));