From 3a2c0a9615b3000f99d42647f4e811b960af755b Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Thu, 6 Nov 2008 11:56:08 -0800 Subject: [PATCH] - fixes to sprintf (by rob) R=r OCL=18685 CL=18685 --- src/lib/fmt/print.go | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/src/lib/fmt/print.go b/src/lib/fmt/print.go index 3516b19ab9..361dfc5a2a 100644 --- a/src/lib/fmt/print.go +++ b/src/lib/fmt/print.go @@ -28,11 +28,11 @@ export type Formatter interface { Precision() (prec int, ok bool); } -export type Format interface { +type Format interface { Format(f Formatter, c int); } -export type String interface { +type String interface { String() string } @@ -132,9 +132,10 @@ export func printf(format string, v ...) (n int, errno *os.Error) { return n, errno; } -export func sprintf(format string, v ...) string { +export func sprintf(format string, a ...) string { + v := reflect.NewValue(a).(reflect.PtrValue).Sub().(reflect.StructValue); p := Printer(); - p.doprintf(format, reflect.NewValue(v).(reflect.StructValue)); + p.doprintf(format, v); s := string(p.buf)[0 : p.n]; return s; } @@ -155,9 +156,10 @@ export func print(v ...) (n int, errno *os.Error) { return n, errno; } -export func sprint(v ...) string { +export func sprint(a ...) string { + v := reflect.NewValue(a).(reflect.PtrValue).Sub().(reflect.StructValue); p := Printer(); - p.doprint(reflect.NewValue(v).(reflect.StructValue), false, false); + p.doprint(v, false, false); s := string(p.buf)[0 : p.n]; return s; } @@ -179,9 +181,10 @@ export func println(v ...) (n int, errno *os.Error) { return n, errno; } -export func sprintln(v ...) string { +export func sprintln(a ...) string { + v := reflect.NewValue(a).(reflect.PtrValue).Sub().(reflect.StructValue); p := Printer(); - p.doprint(reflect.NewValue(v).(reflect.StructValue), true, true); + p.doprint(v, true, true); s := string(p.buf)[0 : p.n]; return s; } -- 2.50.0