Account for a bigger width or precision when inserting a number into

a wide stream on systems where sizeof(wchar_t) == 2.


git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@16294 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
Enrico Forestieri 2006-12-15 22:53:06 +00:00
parent 7df29f6562
commit 5b5585e723

View File

@ -497,8 +497,11 @@ private:
if (fill >= 0x80)
throw num_put_failure();
// 64 is large enough
std::string s(64, '\0');
std::streamsize const sz = b.width() > b.precision() ?
b.width() : b.precision();
// 64 is large enough, unless width or precision are bigger
std::streamsize const wd = (sz > 56 ? sz : 56) + 8;
std::string s(wd, '\0');
string_num_put_facet f;
std::string::const_iterator cit = s.begin();
std::string::const_iterator end =