From c52cf7dfb94f58dea6af6a54bd4128313599aa40 Mon Sep 17 00:00:00 2001 From: Walter Bright Date: Tue, 24 Jun 2008 06:56:40 +0000 Subject: [PATCH] fix std.format for 203 --- std/format.d | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/std/format.d b/std/format.d index b560ece8f..a1f854da6 100644 --- a/std/format.d +++ b/std/format.d @@ -509,7 +509,7 @@ void doFormat(void delegate(dchar) putc, TypeInfo[] arguments, va_list argptr) //printf("flags = x%x\n", flags); int prepad = 0; int postpad = 0; - int padding = field_width - (strlen(prefix) + s.length); + int padding = field_width - (strlen(prefix) + toUCSindex(s, s.length)); if (padding > 0) { if (flags & FLdash) @@ -1562,6 +1562,9 @@ unittest r = std.string.format(">%14d<, ", 15, [1,2,3]); assert(r == "> 15<, [1,2,3]"); + + assert(std.string.format("%8s", "bar") == " bar"); + assert(std.string.format("%8s", "b\u00e9ll\u00f4") == " b\u00e9ll\u00f4"); } // Andrei