Piotr Caban : msvcp90: Added num_put<char>::put(bool) implementation.
Alexandre Julliard
julliard at winehq.org
Fri Jun 22 10:52:03 CDT 2012
Module: wine
Branch: master
Commit: 8003b0ab3da1422ba3367428404eb8b16e52a90d
URL: http://source.winehq.org/git/wine.git/?a=commit;h=8003b0ab3da1422ba3367428404eb8b16e52a90d
Author: Piotr Caban <piotr at codeweavers.com>
Date: Fri Jun 22 10:27:16 2012 +0200
msvcp90: Added num_put<char>::put(bool) implementation.
---
dlls/msvcp90/locale.c | 28 ++++++++++++++++++++++++++--
1 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/dlls/msvcp90/locale.c b/dlls/msvcp90/locale.c
index eabdef8..2e48c79 100644
--- a/dlls/msvcp90/locale.c
+++ b/dlls/msvcp90/locale.c
@@ -5744,8 +5744,32 @@ DEFINE_THISCALL_WRAPPER(num_put_char_do_put_bool, 28)
ostreambuf_iterator_char* __thiscall num_put_char_do_put_bool(const num_put *this, ostreambuf_iterator_char *ret,
ostreambuf_iterator_char dest, ios_base *base, char fill, MSVCP_bool v)
{
- FIXME("(%p %p %p %d %d) stub\n", this, ret, base, fill, v);
- return NULL;
+ TRACE("(%p %p %p %d %d)\n", this, ret, base, fill, v);
+
+ if(base->fmtfl & FMTFLAG_boolalpha) {
+ numpunct_char *numpunct = numpunct_char_use_facet(base->loc);
+ basic_string_char str;
+ MSVCP_size_t pad, len;
+
+ if(v)
+ numpunct_char_truename(numpunct, &str);
+ else
+ numpunct_char_falsename(numpunct, &str);
+
+ len = MSVCP_basic_string_char_length(&str);
+ pad = (len>base->wide ? 0 : base->wide-len);
+ base->wide = 0;
+
+ if((base->fmtfl & FMTFLAG_adjustfield) != FMTFLAG_left) {
+ num_put_char__Rep(this, &dest, dest, fill, pad);
+ pad = 0;
+ }
+ num_put_char__Putc(this, &dest, dest, MSVCP_basic_string_char_c_str(&str), len);
+ MSVCP_basic_string_char_dtor(&str);
+ return num_put_char__Rep(this, ret, dest, fill, pad);
+ }
+
+ return num_put_char_put_long(this, ret, dest, base, fill, v);
}
/* ?put@?$num_put at DV?$ostreambuf_iterator at DU?$char_traits at D@std@@@std@@@std@@QBE?AV?$ostreambuf_iterator at DU?$char_traits at D@std@@@2 at V32@AAVios_base at 2@D_N at Z */
More information about the wine-cvs
mailing list