diff options
Diffstat (limited to 'extensions/source/logging/csvformatter.cxx')
-rw-r--r-- | extensions/source/logging/csvformatter.cxx | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/extensions/source/logging/csvformatter.cxx b/extensions/source/logging/csvformatter.cxx index 8e749db42831..a94c836b330f 100644 --- a/extensions/source/logging/csvformatter.cxx +++ b/extensions/source/logging/csvformatter.cxx @@ -90,32 +90,34 @@ namespace { const sal_Unicode quote_char = '"'; const sal_Unicode comma_char = ','; - constexpr OUStringLiteral dos_newline = u"\r\n"; + constexpr OUString dos_newline = u"\r\n"_ustr; bool needsQuoting(std::u16string_view str) { return str.find_first_of(u"\",\n\r") != std::u16string_view::npos; }; - void appendEncodedString(OUStringBuffer& buf, const OUString& str) + void appendEncodedString(OUStringBuffer& buf, std::u16string_view str) { if(needsQuoting(str)) { // each double-quote will get replaced by two double-quotes buf.append(quote_char); const sal_Int32 buf_offset = buf.getLength(); - const sal_Int32 str_length = str.getLength(); + const size_t str_length = str.size(); buf.append(str); // special treatment for the last character if(quote_char==str[str_length-1]) buf.append(quote_char); // iterating backwards because the index at which we insert won't be shifted // when moving that way. - for(sal_Int32 i = str_length; i>=0; ) + for(size_t i = str_length;; ) { - i=str.lastIndexOf(quote_char, --i); - if(i!=-1) - buf.insert(buf_offset + i, quote_char); + --i; + i=str.substr(i).rfind(quote_char); + if(i==std::u16string_view::npos) + break; + buf.insert(buf_offset + i, quote_char); } buf.append(quote_char); } @@ -132,7 +134,7 @@ namespace logging m_LogTimestamp(true), m_LogSource(false), m_MultiColumn(false), - m_Columnnames({ "message" }) + m_Columnnames({ u"message"_ustr }) { } sal_Bool CsvFormatter::getLogEventNo() @@ -200,8 +202,7 @@ namespace logging sal_Int32 columns = m_Columnnames.getLength(); for(sal_Int32 i=0; i<columns; i++) { - buf.append(m_Columnnames[i]); - buf.append(comma_char); + buf.append(m_Columnnames[i] + OUStringChar(comma_char)); } buf.setLength(buf.getLength()-1); buf.append(dos_newline); @@ -214,14 +215,12 @@ namespace logging if(m_LogEventNo) { - aLogEntry.append( record.SequenceNumber ); - aLogEntry.append(comma_char); + aLogEntry.append(record.SequenceNumber + comma_char); } if(m_LogThread) { - aLogEntry.append( record.ThreadID ); - aLogEntry.append(comma_char); + aLogEntry.append(record.ThreadID + OUStringChar(comma_char)); } if(m_LogTimestamp) @@ -234,7 +233,7 @@ namespace logging || 60 < record.LogTime.Seconds || 999999999 < record.LogTime.NanoSeconds) { - throw css::lang::IllegalArgumentException("invalid date", static_cast<cppu::OWeakObject*>(this), 1); + throw css::lang::IllegalArgumentException(u"invalid date"_ustr, static_cast<cppu::OWeakObject*>(this), 1); } // ISO 8601 @@ -299,12 +298,12 @@ namespace logging OUString SAL_CALL CsvFormatter::getImplementationName() { - return "com.sun.star.comp.extensions.CsvFormatter"; + return u"com.sun.star.comp.extensions.CsvFormatter"_ustr; } Sequence< OUString > SAL_CALL CsvFormatter::getSupportedServiceNames() { - return { "com.sun.star.logging.CsvFormatter" }; + return { u"com.sun.star.logging.CsvFormatter"_ustr }; } } // namespace logging |