diff --git a/ChangeLog b/ChangeLog index 835d4fe18..3a891e353 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2006-02-05 Richard Frith-Macdonald + + * Source/NSString.m: (handle_printf_atsign()) extend to support wprintf. + 2006-02-01 Richard Frith-Macdonald * Source/Additions/Unicode.m: Try to use iconv transliteration for diff --git a/Source/NSString.m b/Source/NSString.m index c0c67f65e..4743b9816 100644 --- a/Source/NSString.m +++ b/Source/NSString.m @@ -79,6 +79,7 @@ #include #include #include +#include #include "GNUstepBase/Unicode.h" @@ -446,9 +447,19 @@ handle_printf_atsign (FILE *stream, #else string_object = *((id*) ptr); #endif - len = fprintf(stream, "%*s", - (info->left ? - info->width : info->width), - [[string_object description] lossyCString]); + if (info->wide) + { + len = fwprintf(stream, L"%*ls", + (info->left ? - info->width : info->width), + [[string_object description] + cStringUsingEncoding: NSUnicodeStringEncoding]); + } + else + { + len = fprintf(stream, "%*s", + (info->left ? - info->width : info->width), + [[string_object description] lossyCString]); + } return len; } #endif /* HAVE_REGISTER_PRINTF_FUNCTION */