]> git.lyx.org Git - lyx.git/commitdiff
Account for a bigger width or precision when inserting a number into
authorEnrico Forestieri <forenr@lyx.org>
Fri, 15 Dec 2006 22:53:06 +0000 (22:53 +0000)
committerEnrico Forestieri <forenr@lyx.org>
Fri, 15 Dec 2006 22:53:06 +0000 (22:53 +0000)
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

src/support/docstring.C

index 0c3739a01479c40916818f0e1ea0ddaff57e9892..0b7f796628286eb5cd0b1c4daf99b60f83dcbd42 100644 (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 =