diff options
Diffstat (limited to 'sc/source/ui/unoobj/tokenuno.cxx')
-rw-r--r-- | sc/source/ui/unoobj/tokenuno.cxx | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sc/source/ui/unoobj/tokenuno.cxx b/sc/source/ui/unoobj/tokenuno.cxx index 33f005fff8d6..b07a04e12b04 100644 --- a/sc/source/ui/unoobj/tokenuno.cxx +++ b/sc/source/ui/unoobj/tokenuno.cxx @@ -32,6 +32,7 @@ #include <svl/itemprop.hxx> #include <vcl/svapp.hxx> +#include <comphelper/string.hxx> #include <miscuno.hxx> #include <convuno.hxx> @@ -388,6 +389,18 @@ void ScTokenConversion::ConvertToTokenSequence( const ScDocument& rDoc, // Only the count of spaces is stored as "long". Parameter count is ignored. if ( eOpCode == ocSpaces ) rAPI.Data <<= static_cast<sal_Int32>(rToken.GetByte()); + else if (eOpCode == ocWhitespace) + { + // Convention is one character repeated. + if (rToken.GetByte() == 1) + rAPI.Data <<= OUString( rToken.GetChar()); + else + { + OUStringBuffer aBuf( rToken.GetByte()); + comphelper::string::padToLength( aBuf, rToken.GetByte(), rToken.GetChar()); + rAPI.Data <<= aBuf.makeStringAndClear(); + } + } else rAPI.Data.clear(); // no data break; |