From 5078e83d88a08881661a18636f38e8951cdda676 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Fri, 19 Nov 2021 12:36:45 +0200 Subject: loplugin:stringliteraldefine in svl Change-Id: I49a8062c30bdce5b0d9bd27e421d85ba61d5592e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/125544 Tested-by: Jenkins Reviewed-by: Noel Grandin --- include/svl/inettype.hxx | 197 +++++++++++++++++++++++++------------------ include/svl/macitem.hxx | 6 +- svl/source/misc/inettype.cxx | 15 ++-- 3 files changed, 123 insertions(+), 95 deletions(-) diff --git a/include/svl/inettype.hxx b/include/svl/inettype.hxx index 9bea57d26da0..13663fd3b260 100644 --- a/include/svl/inettype.hxx +++ b/include/svl/inettype.hxx @@ -25,90 +25,119 @@ /** Definitions for frequently used media type names. */ -#define CONTENT_TYPE_STR_APP_OCTSTREAM "application/octet-stream" -#define CONTENT_TYPE_STR_APP_PDF "application/pdf" -#define CONTENT_TYPE_STR_APP_RTF "application/rtf" -#define CONTENT_TYPE_STR_APP_VND_CALC "application/vnd.stardivision.calc" -#define CONTENT_TYPE_STR_APP_VND_CHART "application/vnd.stardivision.chart" -#define CONTENT_TYPE_STR_APP_VND_DRAW "application/vnd.stardivision.draw" -#define CONTENT_TYPE_STR_APP_VND_IMAGE "application/vnd.stardivision.image" -#define CONTENT_TYPE_STR_APP_VND_IMPRESSPACKED "application/vnd.stardivision.impress-packed" -#define CONTENT_TYPE_STR_APP_VND_IMPRESS "application/vnd.stardivision.impress" -#define CONTENT_TYPE_STR_APP_VND_MAIL "application/vnd.stardivision.mail" -#define CONTENT_TYPE_STR_APP_VND_MATH "application/vnd.stardivision.math" -#define CONTENT_TYPE_STR_APP_VND_NEWS "application/vnd.stardivision.news" -#define CONTENT_TYPE_STR_APP_VND_OUTTRAY "application/vnd.stardivision.outtray" -#define CONTENT_TYPE_STR_APP_VND_TEMPLATE "application/vnd.stardivision.template" -#define CONTENT_TYPE_STR_APP_VND_WRITER_GLOBAL "application/vnd.stardivision.writer-global" -#define CONTENT_TYPE_STR_APP_VND_WRITER_WEB "application/vnd.stardivision.writer-web" -#define CONTENT_TYPE_STR_APP_VND_WRITER "application/vnd.stardivision.writer" -#define CONTENT_TYPE_STR_APP_FRAMESET "application/x-frameset" -#define CONTENT_TYPE_STR_APP_GALLERY_THEME "application/x-gallery-theme" -#define CONTENT_TYPE_STR_APP_GALLERY "application/x-gallery" -#define CONTENT_TYPE_STR_APP_JAR "application/x-jar" -#define CONTENT_TYPE_STR_APP_MACRO "application/x-macro" -#define CONTENT_TYPE_STR_APP_MSEXCEL_TEMPL "application/x-msexcel-template" -#define CONTENT_TYPE_STR_APP_MSEXCEL "application/x-msexcel" -#define CONTENT_TYPE_STR_APP_MSPPOINT_TEMPL "application/x-mspowerpoint-template" -#define CONTENT_TYPE_STR_APP_MSPPOINT "application/x-mspowerpoint" -#define CONTENT_TYPE_STR_APP_MSWORD_TEMPL "application/x-msword-template" -#define CONTENT_TYPE_STR_APP_MSWORD "application/x-msword" -#define CONTENT_TYPE_STR_APP_STARCALC "application/x-starcalc" -#define CONTENT_TYPE_STR_APP_STARCHART "application/x-starchart" -#define CONTENT_TYPE_STR_APP_STARDRAW "application/x-stardraw" -#define CONTENT_TYPE_STR_APP_STARHELP "application/x-starhelp" -#define CONTENT_TYPE_STR_APP_STARIMAGE "application/x-starimage" -#define CONTENT_TYPE_STR_APP_STARIMPRESS "application/x-starimpress" -#define CONTENT_TYPE_STR_APP_STARMAIL_SDM "application/x-starmail-sdm" -#define CONTENT_TYPE_STR_APP_STARMAIL_SMD "application/x-starmail-smd" -#define CONTENT_TYPE_STR_APP_STARMATH "application/x-starmath" -#define CONTENT_TYPE_STR_APP_STARWRITER_GLOB "application/x-starwriter-global" -#define CONTENT_TYPE_STR_APP_STARWRITER "application/x-starwriter" -#define CONTENT_TYPE_STR_APP_CDE_CALENDAR_APP "application/x-sun-ae-file" -#define CONTENT_TYPE_STR_APP_ZIP "application/x-zip-compressed" -#define CONTENT_TYPE_STR_AUDIO_AIFF "audio/aiff" -#define CONTENT_TYPE_STR_AUDIO_BASIC "audio/basic" -#define CONTENT_TYPE_STR_AUDIO_MIDI "audio/midi" -#define CONTENT_TYPE_STR_AUDIO_VORBIS "audio/vorbis" -#define CONTENT_TYPE_STR_AUDIO_WAV "audio/wav" -#define CONTENT_TYPE_STR_AUDIO_WEBM "audio/webm" -#define CONTENT_TYPE_STR_X_CNT_FSYSBOX ".chaos/fsys-box" -#define CONTENT_TYPE_STR_X_CNT_FSYSFOLDER ".chaos/fsys-folder" -#define CONTENT_TYPE_STR_X_CNT_FSYSSPECIALFOLDER ".chaos/fsys-special-folder" -#define CONTENT_TYPE_STR_IMAGE_GENERIC "image/generic" -#define CONTENT_TYPE_STR_IMAGE_GIF "image/gif" -#define CONTENT_TYPE_STR_IMAGE_JPEG "image/jpeg" -#define CONTENT_TYPE_STR_IMAGE_PCX "image/pcx" -#define CONTENT_TYPE_STR_IMAGE_PNG "image/png" -#define CONTENT_TYPE_STR_IMAGE_TIFF "image/tiff" -#define CONTENT_TYPE_STR_IMAGE_BMP "image/x-MS-bmp" -#define CONTENT_TYPE_STR_INET_MSG_RFC822 "message/rfc822" -#define CONTENT_TYPE_STR_INET_MULTI_ALTERNATIVE "multipart/alternative" -#define CONTENT_TYPE_STR_INET_MULTI_DIGEST "multipart/digest" -#define CONTENT_TYPE_STR_INET_MULTI_MIXED "multipart/mixed" -#define CONTENT_TYPE_STR_INET_MULTI_PARALLEL "multipart/parallel" -#define CONTENT_TYPE_STR_INET_MULTI_RELATED "multipart/related" -#define CONTENT_TYPE_STR_TEXT_ICALENDAR "text/calendar" -#define CONTENT_TYPE_STR_TEXT_HTML "text/html" -#define CONTENT_TYPE_STR_TEXT_PLAIN "text/plain" -#define CONTENT_TYPE_STR_TEXT_XMLICALENDAR "text/x-icalxml" -#define CONTENT_TYPE_STR_TEXT_URL "text/x-url" -#define CONTENT_TYPE_STR_TEXT_VCALENDAR "text/x-vCalendar" -#define CONTENT_TYPE_STR_TEXT_VCARD "text/x-vCard" -#define CONTENT_TYPE_STR_VIDEO_MSVIDEO "video/x-msvideo" -#define CONTENT_TYPE_STR_VIDEO_THEORA "video/theora" -#define CONTENT_TYPE_STR_VIDEO_VDO "video/vdo" -#define CONTENT_TYPE_STR_VIDEO_WEBM "audio/webm" -#define CONTENT_TYPE_STR_X_STARMAIL "x-starmail" -#define CONTENT_TYPE_STR_X_VRML "x-world/x-vrml" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_WRITER "application/vnd.sun.xml.writer" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_CALC "application/vnd.sun.xml.calc" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_IMPRESS "application/vnd.sun.xml.impress" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_DRAW "application/vnd.sun.xml.draw" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_CHART "application/vnd.sun.xml.chart" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_MATH "application/vnd.sun.xml.math" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_WRITER_GLOBAL "application/vnd.sun.xml.writer-global" -#define CONTENT_TYPE_STR_APP_VND_SUN_XML_IMPRESSPACKED "application/vnd.sun.xml.impress-packed" +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_OCTSTREAM = u"application/octet-stream"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_PDF = u"application/pdf"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_RTF = u"application/rtf"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_CALC + = u"application/vnd.stardivision.calc"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_CHART + = u"application/vnd.stardivision.chart"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_DRAW + = u"application/vnd.stardivision.draw"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_IMAGE + = u"application/vnd.stardivision.image"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_IMPRESSPACKED + = u"application/vnd.stardivision.impress-packed"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_IMPRESS + = u"application/vnd.stardivision.impress"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_MAIL + = u"application/vnd.stardivision.mail"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_MATH + = u"application/vnd.stardivision.math"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_NEWS + = u"application/vnd.stardivision.news"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_OUTTRAY + = u"application/vnd.stardivision.outtray"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_TEMPLATE + = u"application/vnd.stardivision.template"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_WRITER_GLOBAL + = u"application/vnd.stardivision.writer-global"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_WRITER_WEB + = u"application/vnd.stardivision.writer-web"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_WRITER + = u"application/vnd.stardivision.writer"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_FRAMESET = u"application/x-frameset"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_GALLERY_THEME + = u"application/x-gallery-theme"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_GALLERY = u"application/x-gallery"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_JAR = u"application/x-jar"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MACRO = u"application/x-macro"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MSEXCEL_TEMPL + = u"application/x-msexcel-template"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MSEXCEL = u"application/x-msexcel"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MSPPOINT_TEMPL + = u"application/x-mspowerpoint-template"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MSPPOINT = u"application/x-mspowerpoint"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MSWORD_TEMPL + = u"application/x-msword-template"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_MSWORD = u"application/x-msword"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARCALC = u"application/x-starcalc"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARCHART = u"application/x-starchart;"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARDRAW = u"application/x-stardraw"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARHELP = u"application/x-starhelp"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARIMAGE = u"application/x-starimage"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARIMPRESS = u"application/x-starimpress"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARMAIL_SDM = u"application/x-starmail-sdm"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARMAIL_SMD = u"application/x-starmail-smd"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARMATH = u"application/x-starmath"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARWRITER_GLOB + = u"application/x-starwriter-global"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_STARWRITER = u"application/x-starwriter"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_CDE_CALENDAR_APP + = u"application/x-sun-ae-file"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_ZIP = u"application/x-zip-compressed"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_AUDIO_AIFF = u"audio/aiff"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_AUDIO_BASIC = u"audio/basic"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_AUDIO_MIDI = u"audio/midi"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_AUDIO_VORBIS = u"audio/vorbis"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_AUDIO_WAV = u"audio/wav"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_AUDIO_WEBM = u"audio/webm"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_X_CNT_FSYSBOX = u".chaos/fsys-box"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_X_CNT_FSYSFOLDER = u".chaos/fsys-folder"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_X_CNT_FSYSSPECIALFOLDER + = u".chaos/fsys-special-folder"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_GENERIC = u"image/generic"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_GIF = u"image/gif"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_JPEG = u"image/jpeg"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_PCX = u"image/pcx"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_PNG = u"image/png"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_TIFF = u"image/tiff"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_IMAGE_BMP = u"image/x-MS-bmp"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_INET_MSG_RFC822 = u"message/rfc822"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_INET_MULTI_ALTERNATIVE = u"multipart/alternative"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_INET_MULTI_DIGEST = u"multipart/digest"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_INET_MULTI_MIXED = u"multipart/mixed"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_INET_MULTI_PARALLEL = u"multipart/parallel"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_INET_MULTI_RELATED = u"multipart/related"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_ICALENDAR = u"text/calendar"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_HTML = u"text/html"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_PLAIN = u"text/plain"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_XMLICALENDAR = u"text/x-icalxml"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_URL = u"text/x-url"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_VCALENDAR = u"text/x-vCalendar"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_TEXT_VCARD = u"text/x-vCard"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_VIDEO_MSVIDEO = u"video/x-msvideo"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_VIDEO_THEORA = u"video/theora"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_VIDEO_VDO = u"video/vdo"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_VIDEO_WEBM = u"audio/webm"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_X_STARMAIL = u"x-starmail"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_X_VRML = u"x-world/x-vrml"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_WRITER + = u"application/vnd.sun.xml.writer"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_CALC + = u"application/vnd.sun.xml.calc"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_IMPRESS + = u"application/vnd.sun.xml.impress"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_DRAW + = u"application/vnd.sun.xml.draw"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_CHART + = u"application/vnd.sun.xml.chart"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_MATH + = u"application/vnd.sun.xml.math"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_WRITER_GLOBAL + = u"application/vnd.sun.xml.writer-global"; +inline constexpr OUStringLiteral CONTENT_TYPE_STR_APP_VND_SUN_XML_IMPRESSPACKED + = u"application/vnd.sun.xml.impress-packed"; /** Definitions for matching parts of URIs. */ diff --git a/include/svl/macitem.hxx b/include/svl/macitem.hxx index 19a49dde97c3..4d89510346c9 100644 --- a/include/svl/macitem.hxx +++ b/include/svl/macitem.hxx @@ -29,9 +29,9 @@ class SvStream; enum class SvMacroItemId : sal_uInt16; -#define SVX_MACRO_LANGUAGE_JAVASCRIPT "JavaScript" -#define SVX_MACRO_LANGUAGE_STARBASIC "StarBasic" -#define SVX_MACRO_LANGUAGE_SF "Script" +inline constexpr OUStringLiteral SVX_MACRO_LANGUAGE_JAVASCRIPT = u"JavaScript"; +inline constexpr OUStringLiteral SVX_MACRO_LANGUAGE_STARBASIC = u"StarBasic"; +inline constexpr OUStringLiteral SVX_MACRO_LANGUAGE_SF = u"Script"; enum ScriptType { diff --git a/svl/source/misc/inettype.cxx b/svl/source/misc/inettype.cxx index 471247b24987..c1d4e4b1ba6e 100644 --- a/svl/source/misc/inettype.cxx +++ b/svl/source/misc/inettype.cxx @@ -31,7 +31,7 @@ namespace struct MediaTypeEntry { - char const * m_pTypeName; + OUString m_pTypeName; INetContentType m_eTypeID; }; @@ -230,8 +230,7 @@ MediaTypeEntry const * seekEntry(OUString const & rTypeName, #if defined DBG_UTIL for (std::size_t i = 0; i < nSize - 1; ++i) DBG_ASSERT( - rtl_str_compare( - pMap[i].m_pTypeName, pMap[i + 1].m_pTypeName) < 0, + pMap[i].m_pTypeName < pMap[i + 1].m_pTypeName, "seekEntry(): Bad map"); #endif @@ -241,7 +240,7 @@ MediaTypeEntry const * seekEntry(OUString const & rTypeName, { std::size_t nMiddle = (nLow + nHigh) / 2; MediaTypeEntry const * pEntry = pMap + nMiddle; - sal_Int32 nCmp = rTypeName.compareToIgnoreAsciiCaseAscii(pEntry->m_pTypeName); + sal_Int32 nCmp = rTypeName.compareToIgnoreAsciiCase(pEntry->m_pTypeName); if (nCmp < 0) nHigh = nMiddle; else if (nCmp == 0) @@ -276,18 +275,18 @@ INetContentType INetContentTypes::GetContentType(OUString const & rTypeName) //static OUString INetContentTypes::GetContentType(INetContentType eTypeID) { - static std::array aMap = []() + static std::array aMap = []() { - std::array tmp; + std::array tmp; for (std::size_t i = 0; i <= CONTENT_TYPE_LAST; ++i) tmp[aStaticTypeNameMap[i].m_eTypeID] = aStaticTypeNameMap[i].m_pTypeName; tmp[CONTENT_TYPE_UNKNOWN] = CONTENT_TYPE_STR_APP_OCTSTREAM; - tmp[CONTENT_TYPE_TEXT_PLAIN] = CONTENT_TYPE_STR_TEXT_PLAIN + tmp[CONTENT_TYPE_TEXT_PLAIN] = CONTENT_TYPE_STR_TEXT_PLAIN + "; charset=iso-8859-1"; return tmp; }(); - OUString aTypeName = eTypeID <= CONTENT_TYPE_LAST ? OUString::createFromAscii(aMap[eTypeID]) + OUString aTypeName = eTypeID <= CONTENT_TYPE_LAST ? aMap[eTypeID] : OUString(); if (aTypeName.isEmpty()) { -- cgit