filter/source/msfilter/rtfutil.cxx | 145 +++++++++++++++++++------------------ 1 file changed, 75 insertions(+), 70 deletions(-)
New commits: commit adc1b6b5bbfc727bcd6a188c8d47f026b61da1eb Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Thu Dec 12 22:13:11 2013 +0100 filter: whitespace fixes in rtfutil Change-Id: Ifb1a112d632410ae685fa09f3ddff8a021ddd68b diff --git a/filter/source/msfilter/rtfutil.cxx b/filter/source/msfilter/rtfutil.cxx index 5471456..847ba34 100644 --- a/filter/source/msfilter/rtfutil.cxx +++ b/filter/source/msfilter/rtfutil.cxx @@ -11,30 +11,32 @@ #include <rtl/strbuf.hxx> #include <svtools/rtfkeywd.hxx> -namespace msfilter { -namespace rtfutil { +namespace msfilter +{ +namespace rtfutil +{ OString OutHex(sal_uLong nHex, sal_uInt8 nLen) { sal_Char aNToABuf[] = "0000000000000000"; - OSL_ENSURE( nLen < sizeof(aNToABuf), "nLen is too big" ); - if( nLen >= sizeof(aNToABuf) ) + OSL_ENSURE(nLen < sizeof(aNToABuf), "nLen is too big"); + if (nLen >= sizeof(aNToABuf)) nLen = (sizeof(aNToABuf)-1); // Set pointer to the buffer end sal_Char* pStr = aNToABuf + (sizeof(aNToABuf)-1); - for( sal_uInt8 n = 0; n < nLen; ++n ) + for (sal_uInt8 n = 0; n < nLen; ++n) { - *(--pStr) = (sal_Char)(nHex & 0xf ) + 48; - if( *pStr > '9' ) + *(--pStr) = (sal_Char)(nHex & 0xf) + 48; + if (*pStr > '9') *pStr += 39; nHex >>= 4; } return OString(pStr); } -OString OutChar(sal_Unicode c, int *pUCMode, rtl_TextEncoding eDestEnc, bool* pSuccess, bool bUnicode) +OString OutChar(sal_Unicode c, int* pUCMode, rtl_TextEncoding eDestEnc, bool* pSuccess, bool bUnicode) { if (pSuccess) *pSuccess = true; @@ -43,87 +45,90 @@ OString OutChar(sal_Unicode c, int *pUCMode, rtl_TextEncoding eDestEnc, bool* pS // 0x0b instead of \n, etc because of the replacements in SwWW8AttrIter::GetSnippet() switch (c) { - case 0x0b: - // hard line break - pStr = OOO_STRING_SVTOOLS_RTF_LINE; - break; - case '\t': - pStr = OOO_STRING_SVTOOLS_RTF_TAB; - break; - case '\\': - case '}': - case '{': - aBuf.append('\\'); + case 0x0b: + // hard line break + pStr = OOO_STRING_SVTOOLS_RTF_LINE; + break; + case '\t': + pStr = OOO_STRING_SVTOOLS_RTF_TAB; + break; + case '\\': + case '}': + case '{': + aBuf.append('\\'); + aBuf.append((sal_Char)c); + break; + case 0xa0: + // non-breaking space + pStr = "\\~"; + break; + case 0x1e: + // non-breaking hyphen + pStr = "\\_"; + break; + case 0x1f: + // optional hyphen + pStr = "\\-"; + break; + default: + if (c >= ' ' && c <= '~') aBuf.append((sal_Char)c); - break; - case 0xa0: - // non-breaking space - pStr = "\\~"; - break; - case 0x1e: - // non-breaking hyphen - pStr = "\\_"; - break; - case 0x1f: - // optional hyphen - pStr = "\\-"; - break; - default: - if (c >= ' ' && c <= '~') - aBuf.append((sal_Char)c); - else { - OUString sBuf(&c, 1); - OString sConverted; - if (pSuccess) - *pSuccess &= sBuf.convertToString(&sConverted, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR); - else - sBuf.convertToString(&sConverted, eDestEnc, OUSTRING_TO_OSTRING_CVTFLAGS); - const sal_Int32 nLen = sConverted.getLength(); + else + { + OUString sBuf(&c, 1); + OString sConverted; + if (pSuccess) + *pSuccess &= sBuf.convertToString(&sConverted, eDestEnc, RTL_UNICODETOTEXT_FLAGS_UNDEFINED_ERROR | RTL_UNICODETOTEXT_FLAGS_INVALID_ERROR); + else + sBuf.convertToString(&sConverted, eDestEnc, OUSTRING_TO_OSTRING_CVTFLAGS); + const sal_Int32 nLen = sConverted.getLength(); - if (pUCMode && bUnicode) + if (pUCMode && bUnicode) + { + if (*pUCMode != nLen) { - if (*pUCMode != nLen) - { - aBuf.append("\\uc"); - aBuf.append((sal_Int32)nLen); - // #i47831# add an additional whitespace, so that "document whitespaces" are not ignored. - aBuf.append(' '); - *pUCMode = nLen; - } - aBuf.append("\\u"); - aBuf.append((sal_Int32)c); + aBuf.append("\\uc"); + aBuf.append((sal_Int32)nLen); + // #i47831# add an additional whitespace, so that "document whitespaces" are not ignored. + aBuf.append(' '); + *pUCMode = nLen; } + aBuf.append("\\u"); + aBuf.append((sal_Int32)c); + } - for (sal_Int32 nI = 0; nI < nLen; ++nI) - { - aBuf.append("\\'"); - aBuf.append(OutHex(sConverted[nI], 2)); - } + for (sal_Int32 nI = 0; nI < nLen; ++nI) + { + aBuf.append("\\'"); + aBuf.append(OutHex(sConverted[nI], 2)); } + } } - if (pStr) { + if (pStr) + { aBuf.append(pStr); switch (c) { - case 0xa0: - case 0x1e: - case 0x1f: - break; - default: - aBuf.append(' '); + case 0xa0: + case 0x1e: + case 0x1f: + break; + default: + aBuf.append(' '); } } return aBuf.makeStringAndClear(); } -OString OutString(const OUString &rStr, rtl_TextEncoding eDestEnc, bool bUnicode) +OString OutString(const OUString& rStr, rtl_TextEncoding eDestEnc, bool bUnicode) { SAL_INFO("filter.ms", OSL_THIS_FUNC << ", rStr = '" << OUString(rStr) << "'"); OStringBuffer aBuf; int nUCMode = 1; for (sal_Int32 n = 0; n < rStr.getLength(); ++n) aBuf.append(OutChar(rStr[n], &nUCMode, eDestEnc, 0, bUnicode)); - if (nUCMode != 1) { + if (nUCMode != 1) + { aBuf.append(OOO_STRING_SVTOOLS_RTF_UC); aBuf.append((sal_Int32)1); aBuf.append(" "); // #i47831# add an additional whitespace, so that "document whitespaces" are not ignored.; @@ -132,7 +137,7 @@ OString OutString(const OUString &rStr, rtl_TextEncoding eDestEnc, bool bUnicode } /// Checks if lossless conversion of the string to eDestEnc is possible or not. -static bool TryOutString(const OUString &rStr, rtl_TextEncoding eDestEnc) +static bool TryOutString(const OUString& rStr, rtl_TextEncoding eDestEnc) { int nUCMode = 1; for (sal_Int32 n = 0; n < rStr.getLength(); ++n) @@ -145,7 +150,7 @@ static bool TryOutString(const OUString &rStr, rtl_TextEncoding eDestEnc) return true; } -OString OutStringUpr(const sal_Char *pToken, const OUString &rStr, rtl_TextEncoding eDestEnc) +OString OutStringUpr(const sal_Char* pToken, const OUString& rStr, rtl_TextEncoding eDestEnc) { if (TryOutString(rStr, eDestEnc)) return OString("{") + pToken + " " + OutString(rStr, eDestEnc) + "}"; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits