From c53470fd47fa62eed38af281017e10a41ef8ff2a Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 14 Jan 2012 03:02:57 +0000 Subject: * sprintf.c (rb_enc_vsprintf): relaxed the restriction. since the implementation deeply depends on plain char, so wchar_t based encodings are not supported. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34300 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- sprintf.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'sprintf.c') diff --git a/sprintf.c b/sprintf.c index bae6c146ac..c34d906310 100644 --- a/sprintf.c +++ b/sprintf.c @@ -1169,8 +1169,9 @@ rb_enc_vsprintf(rb_encoding *enc, const char *fmt, va_list ap) f._w = 120; result = rb_str_buf_new(f._w); if (enc) { - if (!rb_enc_asciicompat(enc)) { - rb_raise(rb_eArgError, "cannot construct ASCII-incompatible encoding string: %s", + if (rb_enc_mbminlen(enc) > 1) { + /* the implementation deeply depends on plain char */ + rb_raise(rb_eArgError, "cannot construct wchar_t based encoding string: %s", rb_enc_name(enc)); } rb_enc_associate(result, enc); -- cgit v1.2.3