[Libreoffice-commits] core.git: basctl/source basegfx/test basic/source chart2/source comphelper/source compilerplugins/clang configmgr/source connectivity/source cui/source dbaccess/qa dbaccess/source desktop/source editeng/source extensions/source filter/qa filter/source forms/source framework/inc framework/qa framework/source i18npool/source include/editeng include/vcl lotuswordpro/qa lotuswordpro/source oox/qa oox/source reportdesign/source sal/qa sc/qa scripting/source sc/source sdext/source sd/qa sd/source sfx2/qa sfx2/source solenv/CompilerTest_compilerplugins_clang.mk starmath/source stoc/source svgio/source svl/source svtools/source svx/qa svx/source sw/qa sw/source testtools/source toolkit/source unotools/qa unotools/source vbahelper/source vcl/qa vcl/source writerfilter/qa writerfilter/source writerperfect/qa xmloff/qa xmloff/source xmlscript/source xmlsecurity/qa
Stephan Bergmann (via logerrit)
logerrit at kemper.freedesktop.org
Sat Dec 26 13:52:07 UTC 2020
basctl/source/basicide/baside2.cxx | 2
basctl/source/basicide/baside3.cxx | 2
basctl/source/basicide/basides1.cxx | 10
basctl/source/basicide/localizationmgr.cxx | 2
basctl/source/dlged/dlged.cxx | 4
basctl/source/dlged/propbrw.cxx | 2
basegfx/test/SvgPathImportExport.cxx | 16
basegfx/test/boxclipper.cxx | 2
basegfx/test/clipstate.cxx | 2
basic/source/basmgr/basmgr.cxx | 12
basic/source/classes/sbunoobj.cxx | 6
basic/source/runtime/runtime.cxx | 2
basic/source/uno/dlgcont.cxx | 4
chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx | 2
chart2/source/controller/main/ElementSelector.cxx | 3
chart2/source/model/filter/XMLFilter.cxx | 6
chart2/source/model/main/CartesianCoordinateSystem.cxx | 2
chart2/source/model/main/PolarCoordinateSystem.cxx | 3
chart2/source/tools/CachedDataSequence.cxx | 2
chart2/source/tools/ConfigColorScheme.cxx | 2
chart2/source/tools/ErrorBar.cxx | 2
chart2/source/tools/InternalDataProvider.cxx | 6
chart2/source/tools/ReferenceSizeProvider.cxx | 2
chart2/source/tools/Scaling.cxx | 8
chart2/source/tools/UncachedDataSequence.cxx | 2
chart2/source/view/axes/DateScaling.cxx | 5
comphelper/source/misc/numberedcollection.cxx | 2
compilerplugins/clang/stringliteralvar.cxx | 203 ++++++++++
compilerplugins/clang/test/stringliteralvar.cxx | 81 +++
configmgr/source/configurationprovider.cxx | 8
connectivity/source/commontools/conncleanup.cxx | 2
connectivity/source/commontools/dbtools2.cxx | 2
connectivity/source/cpool/ZConnectionPool.cxx | 2
connectivity/source/drivers/evoab2/NResultSetMetaData.cxx | 2
connectivity/source/drivers/file/FDatabaseMetaData.cxx | 2
connectivity/source/drivers/firebird/Driver.cxx | 6
connectivity/source/drivers/jdbc/JConnection.cxx | 3
connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx | 5
connectivity/source/parse/sqliterator.cxx | 2
cui/source/customize/acccfg.cxx | 4
cui/source/customize/cfgutil.cxx | 2
cui/source/dialogs/cuigaldlg.cxx | 2
cui/source/dialogs/hlinettp.cxx | 2
cui/source/inc/cfg.hxx | 8
cui/source/options/optasian.cxx | 4
cui/source/options/optgdlg.cxx | 10
cui/source/options/optinet2.cxx | 16
dbaccess/qa/unit/embeddeddb_performancetest.cxx | 5
dbaccess/source/core/api/FilteredContainer.cxx | 2
dbaccess/source/core/dataaccess/databasedocument.cxx | 2
dbaccess/source/core/dataaccess/datasource.cxx | 2
dbaccess/source/core/misc/DatabaseDataProvider.cxx | 2
dbaccess/source/core/recovery/dbdocrecovery.cxx | 4
dbaccess/source/core/recovery/storagetextstream.cxx | 2
dbaccess/source/core/recovery/subcomponentrecovery.cxx | 4
dbaccess/source/filter/hsqldb/hsqlimport.cxx | 2
dbaccess/source/filter/hsqldb/parseschema.cxx | 5
dbaccess/source/filter/hsqldb/utils.cxx | 7
dbaccess/source/ui/app/AppController.cxx | 2
dbaccess/source/ui/app/AppControllerGen.cxx | 2
dbaccess/source/ui/dlg/queryfilter.cxx | 4
dbaccess/source/ui/misc/indexcollection.cxx | 2
dbaccess/source/ui/querydesign/querycontroller.cxx | 4
desktop/source/app/app.cxx | 4
desktop/source/app/check_ext_deps.cxx | 2
desktop/source/app/cmdlinehelp.cxx | 8
desktop/source/deployment/misc/dp_dependencies.cxx | 8
desktop/source/migration/migration.cxx | 6
editeng/source/misc/svxacorr.cxx | 6
extensions/source/abpilot/admininvokationimpl.cxx | 2
extensions/source/abpilot/fieldmappingimpl.cxx | 2
extensions/source/bibliography/bibconfig.cxx | 2
extensions/source/dbpilots/gridwizard.cxx | 4
extensions/source/dbpilots/optiongrouplayouter.cxx | 2
filter/qa/unit/svg.cxx | 2
filter/qa/unit/textfilterdetect.cxx | 2
filter/source/svg/svgexport.cxx | 6
filter/source/svg/svgfilter.cxx | 4
forms/source/component/DatabaseForm.cxx | 2
forms/source/component/FormattedField.cxx | 4
framework/inc/taskcreatordefs.hxx | 17
framework/qa/cppunit/loadenv.cxx | 2
framework/source/accelerators/acceleratorconfiguration.cxx | 4
framework/source/fwe/xml/menudocumenthandler.cxx | 12
framework/source/fwe/xml/toolboxdocumenthandler.cxx | 10
framework/source/fwi/uielement/constitemcontainer.cxx | 2
framework/source/fwi/uielement/itemcontainer.cxx | 3
framework/source/fwi/uielement/rootitemcontainer.cxx | 5
framework/source/helper/statusindicatorfactory.cxx | 2
framework/source/helper/uiconfigelementwrapperbase.cxx | 16
framework/source/helper/uielementwrapperbase.cxx | 6
framework/source/inc/accelerators/acceleratorconfiguration.hxx | 6
framework/source/layoutmanager/layoutmanager.cxx | 2
framework/source/loadenv/loadenv.cxx | 4
framework/source/services/autorecovery.cxx | 52 +-
framework/source/uiconfiguration/imagemanagerimpl.cxx | 4
framework/source/uielement/recentfilesmenucontroller.cxx | 6
framework/source/uielement/toolbarsmenucontroller.cxx | 4
framework/source/uielement/uicommanddescription.cxx | 2
i18npool/source/collator/chaptercollator.cxx | 2
i18npool/source/collator/collator_unicode.cxx | 2
i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx | 2
i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx | 4
i18npool/source/nativenumber/nativenumbersupplier.cxx | 2
i18npool/source/ordinalsuffix/ordinalsuffix.cxx | 2
include/editeng/itemtype.hxx | 2
include/vcl/filter/PDFiumLibrary.hxx | 10
lotuswordpro/qa/cppunit/import_test.cxx | 2
lotuswordpro/source/filter/lwpsilverbullet.cxx | 6
oox/qa/unit/drawingml.cxx | 2
oox/qa/unit/mathml.cxx | 2
oox/qa/unit/shape.cxx | 2
oox/qa/unit/vml.cxx | 2
oox/source/ole/oleobjecthelper.cxx | 2
reportdesign/source/core/api/ReportDefinition.cxx | 2
reportdesign/source/core/api/ReportEngineJFree.cxx | 2
reportdesign/source/filter/xml/xmlExportDocumentHandler.cxx | 2
reportdesign/source/filter/xml/xmlImportDocumentHandler.cxx | 2
reportdesign/source/filter/xml/xmlfilter.cxx | 8
sal/qa/rtl/uri/rtl_testuri.cxx | 18
sc/qa/unit/helper/shared_test_impl.hxx | 4
sc/qa/unit/tiledrendering/tiledrendering.cxx | 2
sc/qa/unit/uicalc/uicalc.cxx | 2
sc/source/core/tool/autoform.cxx | 2
sc/source/ui/docshell/docsh.cxx | 14
sc/source/ui/docshell/impex.cxx | 2
sc/source/ui/sidebar/CellAppearancePropertyPanel.cxx | 4
sc/source/ui/vba/vbaborders.cxx | 2
sc/source/ui/vba/vbainterior.cxx | 6
sc/source/ui/vba/vbarange.cxx | 6
sc/source/ui/vba/vbastyle.cxx | 2
scripting/source/dlgprov/dlgprov.cxx | 2
sd/qa/filter/eppt/eppt.cxx | 2
sd/qa/unit/tiledrendering/LOKitSearchTest.cxx | 2
sd/qa/unit/tiledrendering/tiledrendering.cxx | 2
sd/source/filter/html/htmlex.cxx | 4
sd/source/ui/framework/factories/PresentationFactory.cxx | 2
sd/source/ui/inc/unokywds.hxx | 99 ++--
sd/source/ui/sidebar/MasterPagesSelector.cxx | 2
sd/source/ui/tools/EventMultiplexer.cxx | 4
sd/source/ui/unoidl/DrawController.cxx | 2
sd/source/ui/unoidl/unopage.cxx | 2
sdext/source/pdfimport/test/tests.cxx | 7
sfx2/qa/cppunit/view.cxx | 2
sfx2/source/control/emojicontrol.cxx | 18
sfx2/source/dialog/backingwindow.cxx | 2
sfx2/source/doc/DocumentMetadataAccess.cxx | 6
sfx2/source/doc/SfxDocumentMetaData.cxx | 10
sfx2/source/doc/docfac.cxx | 3
sfx2/source/doc/guisaveas.cxx | 6
sfx2/source/doc/templatedlg.cxx | 8
sfx2/source/sidebar/SidebarController.cxx | 2
solenv/CompilerTest_compilerplugins_clang.mk | 1
starmath/source/mathmlexport.cxx | 4
stoc/source/security/access_controller.cxx | 2
svgio/source/svgreader/svgtoken.cxx | 4
svl/source/numbers/zformat.cxx | 2
svtools/source/config/fontsubstconfig.cxx | 12
svtools/source/misc/sampletext.cxx | 4
svtools/source/uno/toolboxcontroller.cxx | 2
svtools/source/uno/unoevent.cxx | 8
svx/qa/unit/unodraw.cxx | 2
svx/source/accessibility/AccessibleShape.cxx | 4
svx/source/fmcomp/fmgridcl.cxx | 2
svx/source/fmcomp/gridcell.cxx | 4
svx/source/form/fmobj.cxx | 2
svx/source/form/fmundo.cxx | 2
svx/source/form/formcontroller.cxx | 2
svx/source/gallery2/gallery1.cxx | 4
svx/source/sidebar/area/AreaPropertyPanelBase.cxx | 2
svx/source/sidebar/line/LinePropertyPanelBase.cxx | 2
svx/source/sidebar/possize/PosSizePropertyPanel.cxx | 2
svx/source/svdraw/svdoole2.cxx | 2
svx/source/tbxctrls/extrusioncontrols.cxx | 10
svx/source/tbxctrls/tbunosearchcontrollers.cxx | 12
svx/source/toolbars/extrusionbar.cxx | 20
svx/source/toolbars/fontworkbar.cxx | 2
svx/source/unodraw/unoshape.cxx | 86 ++--
sw/qa/core/crsr/crsr.cxx | 2
sw/qa/core/doc/doc.cxx | 2
sw/qa/core/docnode/docnode.cxx | 2
sw/qa/core/draw/draw.cxx | 2
sw/qa/core/frmedt/frmedt.cxx | 2
sw/qa/core/layout/layout.cxx | 2
sw/qa/core/objectpositioning/objectpositioning.cxx | 2
sw/qa/core/text/text.cxx | 2
sw/qa/core/txtnode/txtnode.cxx | 2
sw/qa/core/undo/undo.cxx | 2
sw/qa/core/unocore/unocore.cxx | 2
sw/qa/core/uwriter.cxx | 2
sw/qa/extras/htmlexport/htmlexport.cxx | 2
sw/qa/extras/htmlimport/htmlimport.cxx | 2
sw/qa/extras/layout/layout.cxx | 2
sw/qa/extras/layout/layout2.cxx | 2
sw/qa/extras/ooxmlexport/ooxmlexport14.cxx | 2
sw/qa/extras/ooxmlexport/ooxmlexport15.cxx | 2
sw/qa/extras/ooxmlexport/ooxmlexport16.cxx | 2
sw/qa/extras/ooxmlexport/ooxmlexport9.cxx | 2
sw/qa/extras/tiledrendering/tiledrendering.cxx | 2
sw/qa/extras/uiwriter/uiwriter.cxx | 2
sw/qa/extras/uiwriter/uiwriter2.cxx | 5
sw/qa/extras/uiwriter/uiwriter3.cxx | 2
sw/qa/extras/unowriter/unowriter.cxx | 2
sw/qa/extras/ww8export/ww8export.cxx | 2
sw/qa/uibase/frmdlg/frmdlg.cxx | 2
sw/qa/uibase/shells/shells.cxx | 2
sw/qa/uibase/uiview/uiview.cxx | 2
sw/qa/uibase/uno/uno.cxx | 2
sw/source/core/access/acccell.cxx | 2
sw/source/core/access/acccontext.hxx | 2
sw/source/core/access/accdoc.cxx | 4
sw/source/core/access/accembedded.cxx | 2
sw/source/core/access/accfootnote.cxx | 6
sw/source/core/access/accheaderfooter.cxx | 6
sw/source/core/access/accpage.cxx | 2
sw/source/core/access/accpara.cxx | 4
sw/source/core/access/accpreview.cxx | 3
sw/source/core/access/acctable.cxx | 3
sw/source/core/crsr/crossrefbookmark.cxx | 2
sw/source/core/swg/SwXMLTextBlocks1.cxx | 2
sw/source/core/text/EnhancedPDFExportHelper.cxx | 8
sw/source/filter/ww8/wrtww8.cxx | 4
sw/source/filter/ww8/ww8glsy.cxx | 3
sw/source/filter/ww8/ww8par.cxx | 4
sw/source/filter/ww8/ww8scan.hxx | 16
sw/source/filter/ww8/ww8struc.hxx | 4
sw/source/filter/xml/XMLRedlineImportHelper.cxx | 6
sw/source/ui/vba/vbalisthelper.cxx | 12
sw/source/uibase/app/applab.cxx | 2
sw/source/uibase/dbui/mmconfigitem.cxx | 2
sw/source/uibase/utlui/unotools.cxx | 2
testtools/source/bridgetest/currentcontextchecker.cxx | 4
toolkit/source/controls/stdtabcontroller.cxx | 2
toolkit/source/controls/tabpagemodel.cxx | 2
toolkit/source/helper/formpdfexport.cxx | 28 -
unotools/qa/unit/testGetEnglishSearchName.cxx | 11
unotools/source/config/historyoptions.cxx | 14
unotools/source/config/lingucfg.cxx | 2
unotools/source/config/saveopt.cxx | 2
vbahelper/source/vbahelper/vbacommandbarhelper.hxx | 10
vbahelper/source/vbahelper/vbahelper.cxx | 8
vcl/qa/cppunit/GraphicTest.cxx | 4
vcl/qa/cppunit/PDFDocumentTest.cxx | 2
vcl/qa/cppunit/TypeSerializerTest.cxx | 2
vcl/qa/cppunit/filter/igif/igif.cxx | 2
vcl/qa/cppunit/filter/ipdf/ipdf.cxx | 2
vcl/qa/cppunit/pdfexport/pdfexport.cxx | 2
vcl/source/gdi/gdimtf.cxx | 2
writerfilter/qa/cppunittests/dmapper/CellColorHandler.cxx | 2
writerfilter/qa/cppunittests/dmapper/DomainMapper.cxx | 2
writerfilter/qa/cppunittests/dmapper/DomainMapperTableHandler.cxx | 2
writerfilter/qa/cppunittests/dmapper/DomainMapper_Impl.cxx | 2
writerfilter/qa/cppunittests/dmapper/GraphicImport.cxx | 2
writerfilter/qa/cppunittests/dmapper/PropertyMap.cxx | 2
writerfilter/qa/cppunittests/dmapper/TextEffectsHandler.cxx | 2
writerfilter/qa/cppunittests/rtftok/rtfsdrimport.cxx | 2
writerfilter/qa/cppunittests/rtftok/rtfsprm.cxx | 2
writerfilter/source/dmapper/FormControlHelper.cxx | 2
writerfilter/source/dmapper/TextEffectsHandler.cxx | 2
writerperfect/qa/unit/DirectoryStreamTest.cxx | 6
writerperfect/qa/unit/EPUBExportTest.cxx | 2
writerperfect/qa/unit/WPXSvStreamTest.cxx | 4
xmloff/qa/unit/draw.cxx | 2
xmloff/qa/unit/style.cxx | 2
xmloff/qa/unit/text.cxx | 2
xmloff/source/chart/SchXMLTableContext.cxx | 2
xmloff/source/draw/sdxmlexp.cxx | 18
xmloff/source/forms/elementimport.cxx | 2
xmloff/source/meta/xmlversion.cxx | 2
xmloff/source/text/XMLTextFrameContext.cxx | 8
xmloff/source/text/XMLTextListBlockContext.cxx | 2
xmloff/source/text/XMLTextMarkImportContext.cxx | 2
xmloff/source/text/txtfldi.cxx | 57 +-
xmloff/source/text/txtimp.cxx | 32 -
xmloff/source/text/txtvfldi.cxx | 22 -
xmlscript/source/xmllib_imexp/xmllib_export.cxx | 4
xmlsecurity/qa/unit/pdfsigning/pdfsigning.cxx | 2
xmlsecurity/qa/unit/signing/signing.cxx | 2
xmlsecurity/qa/unit/signing/signing2.cxx | 2
279 files changed, 1018 insertions(+), 707 deletions(-)
New commits:
commit a3d0091d185f39eddabf4d372ebe0ac3061dbb89
Author: Stephan Bergmann <sbergman at redhat.com>
AuthorDate: Wed Dec 23 13:16:31 2020 +0100
Commit: Stephan Bergmann <sbergman at redhat.com>
CommitDate: Sat Dec 26 14:51:15 2020 +0100
New loplugin:stringliteralvar
See the comment at the top of compilerplugins/clang/stringliteralvar.cxx for
details.
(Turned some affected variables in included files into inline variables, to
avoid GCC warnings about unused variables.)
Change-Id: Ie77219e6adfdaaceaa8b4e590b08971f2f04c83a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108239
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman at redhat.com>
diff --git a/basctl/source/basicide/baside2.cxx b/basctl/source/basicide/baside2.cxx
index 41c0ff4413f3..95768b0cfe54 100644
--- a/basctl/source/basicide/baside2.cxx
+++ b/basctl/source/basicide/baside2.cxx
@@ -93,7 +93,7 @@ short const ValidWindow = 0x1234;
#if defined(OW) || defined(MTF)
char const FilterMask_All[] = "*";
#else
-char const FilterMask_All[] = "*.*";
+OUStringLiteral const FilterMask_All = u"*.*";
#endif
} // end anonymous namespace
diff --git a/basctl/source/basicide/baside3.cxx b/basctl/source/basicide/baside3.cxx
index 063828689a0f..32dfa80c2baf 100644
--- a/basctl/source/basicide/baside3.cxx
+++ b/basctl/source/basicide/baside3.cxx
@@ -71,7 +71,7 @@ using namespace ::com::sun::star::ui::dialogs;
#ifdef _WIN32
char const FilterMask_All[] = "*.*";
#else
-char const FilterMask_All[] = "*";
+OUStringLiteral const FilterMask_All = u"*";
#endif
DialogWindow::DialogWindow(DialogWindowLayout* pParent, ScriptDocument const& rDocument,
diff --git a/basctl/source/basicide/basides1.cxx b/basctl/source/basicide/basides1.cxx
index d49060c0719d..7d931a70bad4 100644
--- a/basctl/source/basicide/basides1.cxx
+++ b/basctl/source/basicide/basides1.cxx
@@ -1209,10 +1209,12 @@ void Shell::SetCurWindow( BaseWindow* pNewWin, bool bUpdateTabBar, bool bRemembe
void Shell::ManageToolbars()
{
- static const char aMacroBarResName[] = "private:resource/toolbar/macrobar";
- static const char aDialogBarResName[] = "private:resource/toolbar/dialogbar";
- static const char aInsertControlsBarResName[] = "private:resource/toolbar/insertcontrolsbar";
- static const char aFormControlsBarResName[] = "private:resource/toolbar/formcontrolsbar";
+ static const OUStringLiteral aMacroBarResName = u"private:resource/toolbar/macrobar";
+ static const OUStringLiteral aDialogBarResName = u"private:resource/toolbar/dialogbar";
+ static const OUStringLiteral aInsertControlsBarResName
+ = u"private:resource/toolbar/insertcontrolsbar";
+ static const OUStringLiteral aFormControlsBarResName
+ = u"private:resource/toolbar/formcontrolsbar";
if( !pCurWin )
return;
diff --git a/basctl/source/basicide/localizationmgr.cxx b/basctl/source/basicide/localizationmgr.cxx
index 45c6239bc5c7..1e31f8a47d0f 100644
--- a/basctl/source/basicide/localizationmgr.cxx
+++ b/basctl/source/basicide/localizationmgr.cxx
@@ -74,7 +74,7 @@ bool LocalizationMgr::isLibraryLocalized ()
void LocalizationMgr::handleTranslationbar ()
{
- static const char aToolBarResName[] = "private:resource/toolbar/translationbar";
+ static const OUStringLiteral aToolBarResName = u"private:resource/toolbar/translationbar";
Reference< beans::XPropertySet > xFrameProps
( m_pShell->GetViewFrame()->GetFrame().GetFrameInterface(), uno::UNO_QUERY );
diff --git a/basctl/source/dlged/dlged.cxx b/basctl/source/dlged/dlged.cxx
index 533e2381f3e7..ced23c5474bc 100644
--- a/basctl/source/dlged/dlged.cxx
+++ b/basctl/source/dlged/dlged.cxx
@@ -57,8 +57,8 @@ using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::beans;
using namespace ::com::sun::star::io;
-const char aResourceResolverPropName[] = "ResourceResolver";
-const char aDecorationPropName[] = "Decoration";
+const OUStringLiteral aResourceResolverPropName = u"ResourceResolver";
+const OUStringLiteral aDecorationPropName = u"Decoration";
// DlgEdHint
diff --git a/basctl/source/dlged/propbrw.cxx b/basctl/source/dlged/propbrw.cxx
index 5ddf9ec154b1..73e90e2827ac 100644
--- a/basctl/source/dlged/propbrw.cxx
+++ b/basctl/source/dlged/propbrw.cxx
@@ -141,7 +141,7 @@ void PropBrw::ImplReCreateController()
// create a property browser controller
Reference< XMultiComponentFactory > xFactory( xInspectorContext->getServiceManager(), UNO_SET_THROW );
- static const char16_t s_sControllerServiceName[] = u"com.sun.star.awt.PropertyBrowserController";
+ static const OUStringLiteral s_sControllerServiceName = u"com.sun.star.awt.PropertyBrowserController";
m_xBrowserController.set( xFactory->createInstanceWithContext( s_sControllerServiceName, xInspectorContext ), UNO_QUERY );
if ( !m_xBrowserController.is() )
{
diff --git a/basegfx/test/SvgPathImportExport.cxx b/basegfx/test/SvgPathImportExport.cxx
index 59f87e735815..7fa0468e7042 100644
--- a/basegfx/test/SvgPathImportExport.cxx
+++ b/basegfx/test/SvgPathImportExport.cxx
@@ -116,7 +116,7 @@ public:
CPPUNIT_ASSERT_MESSAGE("importing simple rectangle from SVG-D",
utils::importFromSvgD( aPoly, aPath0, false, nullptr ));
aExport = utils::exportToSvgD( aPoly, true, true, false );
- const char sExportString[] = "m10 10h-20v-20h20z";
+ static const OUStringLiteral sExportString = u"m10 10h-20v-20h20z";
CPPUNIT_ASSERT_EQUAL_MESSAGE("exporting rectangle to SVG-D",
OUString(sExportString), aExport );
CPPUNIT_ASSERT_MESSAGE("importing simple rectangle from SVG-D (round-trip",
@@ -143,8 +143,8 @@ public:
// so for correct unit test i add the new exported string here as sExportStringSimpleBezier
// and compare to it.
- const char sExportStringSimpleBezier[] =
- "m11430 0c-8890 3810 5715 6985 5715 6985"
+ static const OUStringLiteral sExportStringSimpleBezier =
+ u"m11430 0c-8890 3810 5715 6985 5715 6985"
"l-17145-1905c0 0 22860-10160 16510 6350"
"s-3810-11430-3810-11430z";
CPPUNIT_ASSERT_EQUAL_MESSAGE("exporting bezier polygon to SVG-D", OUString(sExportStringSimpleBezier), aExport);
@@ -164,8 +164,8 @@ public:
// same here, the corrected export with the corrected B2DPolygon is simply more efficient,
// so i needed to change the compare string. Also adding the re-import comparison below.
- const char sExportString1[] =
- "m1917 1114c-89-189-233-284-430-284-167 0-306 91-419 273s-170 370-17"
+ static const OUStringLiteral sExportString1 =
+ u"m1917 1114c-89-189-233-284-430-284-167 0-306 91-419 273s-170 370-17"
"0 564c0 145 33 259 98 342 65 84 150 126 257 126q115.5 0 231-57s147-97 210-176 99-143 109-190c38-199 76-398 114"
"-598zm840 1646c-133 73-312 139-537 197-225 57-440 86-644 87-483-1-866-132-1150-392-284-261-426-619-426-1076 0-"
"292 67-560 200-803s321-433 562-569 514-204 821-204c405 0 739 125 1003 374 264 250 396 550 396 899 0 313-88 576"
@@ -187,8 +187,8 @@ public:
CPPUNIT_ASSERT_MESSAGE("importing complex polygon from SVG-D",
utils::importFromSvgD( aPoly, aPath3, false, nullptr ));
aExport = utils::exportToSvgD( aPoly, true, true, false );
- const char sExportString2[] =
- "m1598 125h306v2334h-306v-1105h-1293v1105h-305v-2334h305v973h1293"
+ static const OUStringLiteral sExportString2 =
+ u"m1598 125h306v2334h-306v-1105h-1293v1105h-305v-2334h305v973h1293"
"zm2159 1015 78-44 85 235-91 47-91 40-90 34-90 29-89 21-88 16-88 10-88 3-102-4-97"
"-12-91-19-85-26-40-16-39-18-38-20-36-22-34-24-33-26-32-27-30-30-29-31-27-33-25-3"
"3-23-36-21-36-19-38-18-40-16-40-26-86-18-91-11-97-4-103 3-98 11-94 17-89 24-84 3"
@@ -220,7 +220,7 @@ public:
utils::createPolygonFromRect( B2DRange(0.0,0.0,4000.0,4000.0) ));
aExport = utils::exportToSvgD( B2DPolyPolygon(aRect), false, false, false );
- const char sExportStringRect[] = "M0 0H4000V4000H0Z";
+ static const OUStringLiteral sExportStringRect = u"M0 0H4000V4000H0Z";
CPPUNIT_ASSERT_EQUAL_MESSAGE("exporting to rectangle svg-d string",
OUString(sExportStringRect), aExport);
}
diff --git a/basegfx/test/boxclipper.cxx b/basegfx/test/boxclipper.cxx
index 47d3584df06e..cca5cabf3766 100644
--- a/basegfx/test/boxclipper.cxx
+++ b/basegfx/test/boxclipper.cxx
@@ -155,7 +155,7 @@ public:
aRandomIntersections.appendElement( aRandomRange, B2VectorOrientation::Negative );
}
#else
- const char randomSvg[]="m394 783h404v57h-404zm-197-505h571v576h-571zm356-634h75v200h-75zm-40-113h403v588h-403zm93-811h111v494h-111zm-364-619h562v121h-562zm-134-8h292v27h-292zm110 356h621v486h-621zm78-386h228v25h-228zm475-345h201v201h-201zm-2-93h122v126h-122zm-417-243h567v524h-567zm-266-738h863v456h-863zm262-333h315v698h-315zm-328-826h43v393h-43zm830-219h120v664h-120zm-311-636h221v109h-221zm-500 137h628v19h-628zm681-94h211v493h-211zm-366-646h384v355h-384zm-189-199h715v247h-715zm165-459h563v601h-563zm258-479h98v606h-98zm270-517h65v218h-65zm-44-259h96v286h-96zm-599-202h705v468h-705zm216-803h450v494h-450zm-150-22h26v167h-26zm-55-599h50v260h-50zm190-278h490v387h-490zm-290-453h634v392h-634zm257 189h552v300h-552zm-151-690h136v455h-136zm12-597h488v432h-488zm501-459h48v39h-48zm-224-112h429v22h-429zm-281 102h492v621h-492zm519-158h208v17h-208zm-681-563h56v427h-56zm126-451h615v392h-615zm-47-410h598v522h-598zm-32 316h79v110h-79zm-71-129h18v127h-18zm126-993h743v589h-743zm211-430h428v750h-
428zm61-554h100v220h-100zm-353-49h658v157h-658zm778-383h115v272h-115zm-249-541h119v712h-119zm203 86h94v40h-94z";
+ static const OUStringLiteral randomSvg=u"m394 783h404v57h-404zm-197-505h571v576h-571zm356-634h75v200h-75zm-40-113h403v588h-403zm93-811h111v494h-111zm-364-619h562v121h-562zm-134-8h292v27h-292zm110 356h621v486h-621zm78-386h228v25h-228zm475-345h201v201h-201zm-2-93h122v126h-122zm-417-243h567v524h-567zm-266-738h863v456h-863zm262-333h315v698h-315zm-328-826h43v393h-43zm830-219h120v664h-120zm-311-636h221v109h-221zm-500 137h628v19h-628zm681-94h211v493h-211zm-366-646h384v355h-384zm-189-199h715v247h-715zm165-459h563v601h-563zm258-479h98v606h-98zm270-517h65v218h-65zm-44-259h96v286h-96zm-599-202h705v468h-705zm216-803h450v494h-450zm-150-22h26v167h-26zm-55-599h50v260h-50zm190-278h490v387h-490zm-290-453h634v392h-634zm257 189h552v300h-552zm-151-690h136v455h-136zm12-597h488v432h-488zm501-459h48v39h-48zm-224-112h429v22h-429zm-281 102h492v621h-492zm519-158h208v17h-208zm-681-563h56v427h-56zm126-451h615v392h-615zm-47-410h598v522h-598zm-32 316h79v110h-79zm-71-129h18v127h-18zm126-993h743v589h-743zm
211-430h428v750h-428zm61-554h100v220h-100zm-353-49h658v157h-658zm778-383h115v272h-115zm-249-541h119v712h-119zm203 86h94v40h-94z";
B2DPolyPolygon randomPoly;
CPPUNIT_ASSERT(utils::importFromSvgD(randomPoly, randomSvg, false, nullptr));
for (auto const& aPolygon : randomPoly)
diff --git a/basegfx/test/clipstate.cxx b/basegfx/test/clipstate.cxx
index 44e64b8c23d8..94c0246d8312 100644
--- a/basegfx/test/clipstate.cxx
+++ b/basegfx/test/clipstate.cxx
@@ -127,7 +127,7 @@ public:
{
utils::B2DClipState aMixedClip;
- const char unionSvg[]="m100 10v90h-90v10h-20v-10h-90v-90h-10v-20h10v-90h90v-10h20v10h90v90h10v20z";
+ static const OUStringLiteral unionSvg=u"m100 10v90h-90v10h-20v-10h-90v-90h-10v-20h10v-90h90v-10h20v10h90v90h10v20z";
B2DPolyPolygon aTmp1;
CPPUNIT_ASSERT(utils::importFromSvgD(aTmp1, unionSvg, false, nullptr));
diff --git a/basic/source/basmgr/basmgr.cxx b/basic/source/basmgr/basmgr.cxx
index 77f5939cd9d0..a3cf5b9e3ccf 100644
--- a/basic/source/basmgr/basmgr.cxx
+++ b/basic/source/basmgr/basmgr.cxx
@@ -84,12 +84,12 @@ typedef WeakImplHelper< script::XStarBasicAccess > StarBasicAccessHelper;
// Version 2
// + bool bReference
-const char szStdLibName[] = "Standard";
-const char szBasicStorage[] = "StarBASIC";
-const char szOldManagerStream[] = "BasicManager";
-const char szManagerStream[] = "BasicManager2";
-const char szImbedded[] = "LIBIMBEDDED";
-const char szCryptingKey[] = "CryptedBasic";
+const OUStringLiteral szStdLibName = u"Standard";
+const OUStringLiteral szBasicStorage = u"StarBASIC";
+const OUStringLiteral szOldManagerStream = u"BasicManager";
+const OUStringLiteral szManagerStream = u"BasicManager2";
+const OUStringLiteral szImbedded = u"LIBIMBEDDED";
+const OStringLiteral szCryptingKey = "CryptedBasic";
const StreamMode eStreamReadMode = StreamMode::READ | StreamMode::NOCREATE | StreamMode::SHARE_DENYALL;
diff --git a/basic/source/classes/sbunoobj.cxx b/basic/source/classes/sbunoobj.cxx
index 3816d351302c..82ffb8c11699 100644
--- a/basic/source/classes/sbunoobj.cxx
+++ b/basic/source/classes/sbunoobj.cxx
@@ -99,9 +99,9 @@ using namespace cppu;
// Identifiers for creating the strings for dbg_Properties
-char16_t constexpr ID_DBG_SUPPORTEDINTERFACES[] = u"Dbg_SupportedInterfaces";
-char const ID_DBG_PROPERTIES[] = "Dbg_Properties";
-char const ID_DBG_METHODS[] = "Dbg_Methods";
+OUStringLiteral constexpr ID_DBG_SUPPORTEDINTERFACES = u"Dbg_SupportedInterfaces";
+OUStringLiteral const ID_DBG_PROPERTIES = u"Dbg_Properties";
+OUStringLiteral const ID_DBG_METHODS = u"Dbg_Methods";
char const aSeqLevelStr[] = "[]";
diff --git a/basic/source/runtime/runtime.cxx b/basic/source/runtime/runtime.cxx
index 5a64166b63a1..3ceaf38cafc7 100644
--- a/basic/source/runtime/runtime.cxx
+++ b/basic/source/runtime/runtime.cxx
@@ -1786,7 +1786,7 @@ void removeDimAsNewRecoverItem( SbxVariable* pVar )
// saving object variable
// not-object variables will cause errors
-const char pCollectionStr[] = "Collection";
+const OUStringLiteral pCollectionStr = u"Collection";
void SbiRuntime::StepSET_Impl( SbxVariableRef& refVal, SbxVariableRef& refVar, bool bHandleDefaultProp )
{
diff --git a/basic/source/uno/dlgcont.cxx b/basic/source/uno/dlgcont.cxx
index b303349fa009..a8e124616910 100644
--- a/basic/source/uno/dlgcont.cxx
+++ b/basic/source/uno/dlgcont.cxx
@@ -342,8 +342,8 @@ SfxLibraryContainer* SfxDialogLibraryContainer::createInstanceImpl()
return new SfxDialogLibraryContainer();
}
-const char aResourceFileNameBase[] = "DialogStrings";
-const char aResourceFileCommentBase[] = "# Strings for Dialog Library ";
+const OUStringLiteral aResourceFileNameBase = u"DialogStrings";
+const OUStringLiteral aResourceFileCommentBase = u"# Strings for Dialog Library ";
// Resource handling
Reference< css::resource::XStringResourcePersistence >
diff --git a/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx b/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx
index 373fec6c8344..3b48c7907a4c 100644
--- a/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx
+++ b/chart2/source/controller/chartapiwrapper/WrappedScaleTextProperties.cxx
@@ -60,7 +60,7 @@ WrappedScaleTextProperty::WrappedScaleTextProperty(const std::shared_ptr<Chart2M
void WrappedScaleTextProperty::setPropertyValue( const Any& rOuterValue, const Reference< beans::XPropertySet >& xInnerPropertySet ) const
{
- static const char aRefSizeName[] = "ReferencePageSize";
+ static const OUStringLiteral aRefSizeName = u"ReferencePageSize";
if( !xInnerPropertySet.is() )
return;
diff --git a/chart2/source/controller/main/ElementSelector.cxx b/chart2/source/controller/main/ElementSelector.cxx
index 2fa6fa360616..91e299d4906d 100644
--- a/chart2/source/controller/main/ElementSelector.cxx
+++ b/chart2/source/controller/main/ElementSelector.cxx
@@ -48,7 +48,8 @@ using ::com::sun::star::uno::Sequence;
namespace
{
-const char lcl_aServiceName[] = "com.sun.star.comp.chart.ElementSelectorToolbarController";
+const OUStringLiteral lcl_aServiceName
+ = u"com.sun.star.comp.chart.ElementSelectorToolbarController";
}
SelectorListBox::SelectorListBox(vcl::Window* pParent)
diff --git a/chart2/source/model/filter/XMLFilter.cxx b/chart2/source/model/filter/XMLFilter.cxx
index ec1bf1f8b3a3..96b66e95e338 100644
--- a/chart2/source/model/filter/XMLFilter.cxx
+++ b/chart2/source/model/filter/XMLFilter.cxx
@@ -58,9 +58,9 @@ using ::osl::MutexGuard;
namespace
{
-char const sXML_metaStreamName[] = "meta.xml";
-char const sXML_styleStreamName[] = "styles.xml";
-char const sXML_contentStreamName[] = "content.xml";
+OUStringLiteral const sXML_metaStreamName = u"meta.xml";
+OUStringLiteral const sXML_styleStreamName = u"styles.xml";
+OUStringLiteral const sXML_contentStreamName = u"content.xml";
uno::Reference< embed::XStorage > lcl_getWriteStorage(
diff --git a/chart2/source/model/main/CartesianCoordinateSystem.cxx b/chart2/source/model/main/CartesianCoordinateSystem.cxx
index dd0f77b40e58..f8cc8f17ad88 100644
--- a/chart2/source/model/main/CartesianCoordinateSystem.cxx
+++ b/chart2/source/model/main/CartesianCoordinateSystem.cxx
@@ -31,7 +31,7 @@ namespace com::sun::star::uno { class XComponentContext; }
namespace
{
-const char CHART2_COOSYSTEM_CARTESIAN_SERVICE_NAME[] = "com.sun.star.chart2.CoordinateSystems.Cartesian";
+const OUStringLiteral CHART2_COOSYSTEM_CARTESIAN_SERVICE_NAME = u"com.sun.star.chart2.CoordinateSystems.Cartesian";
}
diff --git a/chart2/source/model/main/PolarCoordinateSystem.cxx b/chart2/source/model/main/PolarCoordinateSystem.cxx
index 5ec3252ae582..2d2497bc23c9 100644
--- a/chart2/source/model/main/PolarCoordinateSystem.cxx
+++ b/chart2/source/model/main/PolarCoordinateSystem.cxx
@@ -31,7 +31,8 @@ using ::com::sun::star::uno::Sequence;
namespace
{
-const char CHART2_COOSYSTEM_POLAR_SERVICE_NAME[] = "com.sun.star.chart2.CoordinateSystems.Polar";
+const OUStringLiteral CHART2_COOSYSTEM_POLAR_SERVICE_NAME
+ = u"com.sun.star.chart2.CoordinateSystems.Polar";
}
diff --git a/chart2/source/tools/CachedDataSequence.cxx b/chart2/source/tools/CachedDataSequence.cxx
index 4eaf5d8f2743..dc44985589cc 100644
--- a/chart2/source/tools/CachedDataSequence.cxx
+++ b/chart2/source/tools/CachedDataSequence.cxx
@@ -42,7 +42,7 @@ using ::chart::impl::CachedDataSequence_Base;
namespace
{
-const char lcl_aServiceName[] = "com.sun.star.comp.chart.CachedDataSequence";
+const OUStringLiteral lcl_aServiceName = u"com.sun.star.comp.chart.CachedDataSequence";
enum
{
diff --git a/chart2/source/tools/ConfigColorScheme.cxx b/chart2/source/tools/ConfigColorScheme.cxx
index 5645fb22b68f..2aaf672800ac 100644
--- a/chart2/source/tools/ConfigColorScheme.cxx
+++ b/chart2/source/tools/ConfigColorScheme.cxx
@@ -34,7 +34,7 @@ using ::com::sun::star::uno::Sequence;
namespace
{
-const char aSeriesPropName[] = "Series";
+const OUStringLiteral aSeriesPropName = u"Series";
} // anonymous namespace
diff --git a/chart2/source/tools/ErrorBar.cxx b/chart2/source/tools/ErrorBar.cxx
index 91d6c003a067..6dd803093365 100644
--- a/chart2/source/tools/ErrorBar.cxx
+++ b/chart2/source/tools/ErrorBar.cxx
@@ -41,7 +41,7 @@ using namespace ::com::sun::star;
namespace
{
-const char lcl_aServiceName[] = "com.sun.star.comp.chart2.ErrorBar";
+const OUStringLiteral lcl_aServiceName = u"com.sun.star.comp.chart2.ErrorBar";
bool lcl_isInternalData( const uno::Reference< chart2::data::XLabeledDataSequence > & xLSeq )
{
diff --git a/chart2/source/tools/InternalDataProvider.cxx b/chart2/source/tools/InternalDataProvider.cxx
index 94481ce9e5f8..abc3aea59d8f 100644
--- a/chart2/source/tools/InternalDataProvider.cxx
+++ b/chart2/source/tools/InternalDataProvider.cxx
@@ -57,12 +57,12 @@ namespace chart
namespace
{
-const char lcl_aCategoriesRangeName[] = "categories";
+const OUStringLiteral lcl_aCategoriesRangeName = u"categories";
const char lcl_aCategoriesLevelRangeNamePrefix[] = "categoriesL "; //L <-> level
const char lcl_aCategoriesPointRangeNamePrefix[] = "categoriesP "; //P <-> point
-const char lcl_aCategoriesRoleName[] = "categories";
+const OUStringLiteral lcl_aCategoriesRoleName = u"categories";
const char lcl_aLabelRangePrefix[] = "label ";
-const char lcl_aCompleteRange[] = "all";
+const OUStringLiteral lcl_aCompleteRange = u"all";
typedef std::multimap< OUString, uno::WeakReference< chart2::data::XDataSequence > >
lcl_tSequenceMap;
diff --git a/chart2/source/tools/ReferenceSizeProvider.cxx b/chart2/source/tools/ReferenceSizeProvider.cxx
index 44109500552a..8e254903929e 100644
--- a/chart2/source/tools/ReferenceSizeProvider.cxx
+++ b/chart2/source/tools/ReferenceSizeProvider.cxx
@@ -131,7 +131,7 @@ void ReferenceSizeProvider::setValuesAtPropertySet(
if( ! xProp.is())
return;
- static const char aRefSizeName[] = "ReferencePageSize";
+ static const OUStringLiteral aRefSizeName = u"ReferencePageSize";
try
{
diff --git a/chart2/source/tools/Scaling.cxx b/chart2/source/tools/Scaling.cxx
index 27a9c51a7a44..212eadba54ee 100644
--- a/chart2/source/tools/Scaling.cxx
+++ b/chart2/source/tools/Scaling.cxx
@@ -27,10 +27,10 @@ namespace com::sun::star::uno { class XComponentContext; }
namespace
{
-const char lcl_aServiceName_Logarithmic[] = "com.sun.star.chart2.LogarithmicScaling";
-const char lcl_aServiceName_Exponential[] = "com.sun.star.chart2.ExponentialScaling";
-const char lcl_aServiceName_Linear[] = "com.sun.star.chart2.LinearScaling";
-const char lcl_aServiceName_Power[] = "com.sun.star.chart2.PowerScaling";
+const OUStringLiteral lcl_aServiceName_Logarithmic = u"com.sun.star.chart2.LogarithmicScaling";
+const OUStringLiteral lcl_aServiceName_Exponential = u"com.sun.star.chart2.ExponentialScaling";
+const OUStringLiteral lcl_aServiceName_Linear = u"com.sun.star.chart2.LinearScaling";
+const OUStringLiteral lcl_aServiceName_Power = u"com.sun.star.chart2.PowerScaling";
}
diff --git a/chart2/source/tools/UncachedDataSequence.cxx b/chart2/source/tools/UncachedDataSequence.cxx
index 8851988b6d85..bdffa24a458d 100644
--- a/chart2/source/tools/UncachedDataSequence.cxx
+++ b/chart2/source/tools/UncachedDataSequence.cxx
@@ -41,7 +41,7 @@ using ::chart::impl::UncachedDataSequence_Base;
namespace
{
-const char lcl_aServiceName[] = "com.sun.star.comp.chart.UncachedDataSequence";
+const OUStringLiteral lcl_aServiceName = u"com.sun.star.comp.chart.UncachedDataSequence";
enum
{
diff --git a/chart2/source/view/axes/DateScaling.cxx b/chart2/source/view/axes/DateScaling.cxx
index 60ffc14bbfae..b5a690e203aa 100644
--- a/chart2/source/view/axes/DateScaling.cxx
+++ b/chart2/source/view/axes/DateScaling.cxx
@@ -25,8 +25,9 @@
namespace
{
-const char lcl_aServiceName_DateScaling[] = "com.sun.star.chart2.DateScaling";
-const char lcl_aServiceName_InverseDateScaling[] = "com.sun.star.chart2.InverseDateScaling";
+const OUStringLiteral lcl_aServiceName_DateScaling = u"com.sun.star.chart2.DateScaling";
+const OUStringLiteral lcl_aServiceName_InverseDateScaling
+ = u"com.sun.star.chart2.InverseDateScaling";
const double lcl_fNumberOfMonths = 12.0;//todo: this needs to be offered by basic tools Date class if it should be more generic
}
diff --git a/comphelper/source/misc/numberedcollection.cxx b/comphelper/source/misc/numberedcollection.cxx
index 8252a306330b..20ed2cc43d9d 100644
--- a/comphelper/source/misc/numberedcollection.cxx
+++ b/comphelper/source/misc/numberedcollection.cxx
@@ -24,7 +24,7 @@
namespace comphelper{
-const char ERRMSG_INVALID_COMPONENT_PARAM[] = "NULL as component reference not allowed.";
+const OUStringLiteral ERRMSG_INVALID_COMPONENT_PARAM = u"NULL as component reference not allowed.";
NumberedCollection::NumberedCollection()
diff --git a/compilerplugins/clang/stringliteralvar.cxx b/compilerplugins/clang/stringliteralvar.cxx
new file mode 100644
index 000000000000..348193421a61
--- /dev/null
+++ b/compilerplugins/clang/stringliteralvar.cxx
@@ -0,0 +1,203 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+// Find constant character array variables that are passed into O[U]String constructors and should
+// thus be turned into O[U]StringLiteral variables.
+//
+// Such a variable may have been used in multiple places, not all of which would be compatible with
+// changing the variable's type to O[U]StringLiteral. However, this plugin is aggressive and
+// ignores all but the first use of such a variable. In all cases of incompatible uses so far, it
+// was possible to change to surrounding code (for the better) to make the changes work.
+//
+// The plugin also flags O[U]StringLiteral variables of automatic storage duration, and uses of such
+// variables with sizeof---two likely errors that can occur once a variable has been changed from a
+// character array to O[U]StringLiteral.
+//
+//TODO: In theory, we should not only look for variables, but also for non-static data members. In
+// practice, those should be rare, though, as they should arguably have been static data members to
+// begin with.
+
+#include <cassert>
+
+#include "check.hxx"
+#include "plugin.hxx"
+
+namespace
+{
+bool isAutomaticVariable(VarDecl const* decl)
+{
+ switch (cast<VarDecl>(decl)->getStorageDuration())
+ {
+ case SD_Automatic:
+ return true;
+ case SD_Thread:
+ case SD_Static:
+ return false;
+ case SD_FullExpression:
+ case SD_Dynamic:
+ assert(false);
+ default:
+ llvm_unreachable("unknown StorageDuration");
+ }
+}
+
+class StringLiteralVar final : public loplugin::FilteringPlugin<StringLiteralVar>
+{
+public:
+ explicit StringLiteralVar(loplugin::InstantiationData const& data)
+ : FilteringPlugin(data)
+ {
+ }
+
+ bool TraverseInitListExpr(InitListExpr* expr, DataRecursionQueue* queue = nullptr)
+ {
+ return WalkUpFromInitListExpr(expr)
+ && TraverseSynOrSemInitListExpr(
+ expr->isSemanticForm() ? expr : expr->getSemanticForm(), queue);
+ }
+
+ bool VisitCXXConstructExpr(CXXConstructExpr const* expr)
+ {
+ if (ignoreLocation(expr))
+ {
+ return true;
+ }
+ loplugin::TypeCheck const tc(expr->getType());
+ if (!(tc.Class("OString").Namespace("rtl").GlobalNamespace()
+ || tc.Class("OUString").Namespace("rtl").GlobalNamespace()))
+ {
+ return true;
+ }
+ switch (expr->getConstructor()->getNumParams())
+ {
+ case 1:
+ {
+ auto const e = dyn_cast<DeclRefExpr>(expr->getArg(0)->IgnoreParenImpCasts());
+ if (e == nullptr)
+ {
+ return true;
+ }
+ auto const tc = loplugin::TypeCheck(e->getType());
+ if (!(tc.Class("OStringLiteral").Namespace("rtl").GlobalNamespace()
+ || tc.Class("OUStringLiteral").Namespace("rtl").GlobalNamespace()))
+ {
+ return true;
+ }
+ auto const d = e->getDecl();
+ if (!isAutomaticVariable(cast<VarDecl>(d)))
+ {
+ return true;
+ }
+ if (!reportedAutomatic_.insert(d).second)
+ {
+ return true;
+ }
+ report(DiagnosticsEngine::Warning,
+ "variable %0 of type %1 with automatic storage duration most likely needs "
+ "to be static",
+ d->getLocation())
+ << d << d->getType() << d->getSourceRange();
+ report(DiagnosticsEngine::Note, "first converted to %0 here", expr->getLocation())
+ << expr->getType() << expr->getSourceRange();
+ }
+ break;
+ case 2:
+ {
+ auto const e1 = dyn_cast<DeclRefExpr>(expr->getArg(0)->IgnoreParenImpCasts());
+ if (e1 == nullptr)
+ {
+ return true;
+ }
+ auto const t = e1->getType();
+ if (!(t.isConstQualified() && t->isConstantArrayType()))
+ {
+ return true;
+ }
+ auto const e2 = expr->getArg(1);
+ if (!(isa<CXXDefaultArgExpr>(e2)
+ && loplugin::TypeCheck(e2->getType())
+ .Struct("Dummy")
+ .Namespace("libreoffice_internal")
+ .Namespace("rtl")
+ .GlobalNamespace()))
+ {
+ return true;
+ }
+ auto const d = e1->getDecl();
+ if (!reportedArray_.insert(d).second)
+ {
+ return true;
+ }
+ report(DiagnosticsEngine::Warning,
+ "change type of variable %0 from constant character array (%1) to "
+ "%select{OStringLiteral|OUStringLiteral}2%select{|, and make it static}3",
+ d->getLocation())
+ << d << d->getType()
+ << (tc.Class("OString").Namespace("rtl").GlobalNamespace() ? 0 : 1)
+ << isAutomaticVariable(cast<VarDecl>(d)) << d->getSourceRange();
+ report(DiagnosticsEngine::Note, "first passed into a %0 constructor here",
+ expr->getLocation())
+ << expr->getType().getUnqualifiedType() << expr->getSourceRange();
+ }
+ break;
+ }
+ return true;
+ }
+
+ bool VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr const* expr)
+ {
+ if (ignoreLocation(expr))
+ {
+ return true;
+ }
+ if (expr->getKind() != UETT_SizeOf)
+ {
+ return true;
+ }
+ if (expr->isArgumentType())
+ {
+ return true;
+ }
+ auto const e = dyn_cast<DeclRefExpr>(expr->getArgumentExpr()->IgnoreParenImpCasts());
+ if (e == nullptr)
+ {
+ return true;
+ }
+ auto const tc = loplugin::TypeCheck(e->getType());
+ if (!(tc.Class("OStringLiteral").Namespace("rtl").GlobalNamespace()
+ || tc.Class("OUStringLiteral").Namespace("rtl").GlobalNamespace()))
+ {
+ return true;
+ }
+ auto const d = e->getDecl();
+ report(DiagnosticsEngine::Warning,
+ "variable %0 of type %1 suspiciously used in a sizeof expression", e->getLocation())
+ << d << d->getType() << expr->getSourceRange();
+ return true;
+ }
+
+ bool preRun() override { return compiler.getLangOpts().CPlusPlus; }
+
+private:
+ void run() override
+ {
+ if (preRun())
+ {
+ TraverseDecl(compiler.getASTContext().getTranslationUnitDecl());
+ }
+ }
+
+ std::set<Decl const*> reportedAutomatic_;
+ std::set<Decl const*> reportedArray_;
+};
+
+static loplugin::Plugin::Registration<StringLiteralVar> reg("stringliteralvar");
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/compilerplugins/clang/test/stringliteralvar.cxx b/compilerplugins/clang/test/stringliteralvar.cxx
new file mode 100644
index 000000000000..25a85f90a5a3
--- /dev/null
+++ b/compilerplugins/clang/test/stringliteralvar.cxx
@@ -0,0 +1,81 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ */
+
+#include <sal/config.h>
+
+#include <vector>
+
+#include <rtl/ustring.hxx>
+
+// expected-error at +1 {{change type of variable 'literal1' from constant character array ('const char [4]') to OStringLiteral [loplugin:stringliteralvar]}}
+char const literal1[] = "foo";
+OString f1()
+{
+ // expected-note at +1 {{first passed into a 'rtl::OString' constructor here [loplugin:stringliteralvar]}}
+ return literal1;
+}
+
+void f(OUString const&);
+void f2()
+{
+ // expected-error at +1 {{change type of variable 'literal' from constant character array ('const char [4]') to OUStringLiteral, and make it static [loplugin:stringliteralvar]}}
+ char const literal[] = "foo";
+ // expected-note at +1 {{first passed into a 'rtl::OUString' constructor here [loplugin:stringliteralvar]}}
+ f(literal);
+}
+
+struct S3
+{
+ // expected-error at +1 {{change type of variable 'literal' from constant character array ('const char16_t [4]') to OUStringLiteral [loplugin:stringliteralvar]}}
+ static constexpr char16_t literal[] = u"foo";
+};
+void f3()
+{
+ // expected-note at +1 {{first passed into a 'rtl::OUString' constructor here [loplugin:stringliteralvar]}}
+ f(S3::literal);
+}
+
+std::vector<OUString> f4()
+{
+ // expected-error at +1 {{change type of variable 'literal' from constant character array ('const char16_t [4]') to OUStringLiteral [loplugin:stringliteralvar]}}
+ static constexpr char16_t literal[] = u"foo";
+ // expected-note at +1 {{first passed into a 'rtl::OUString' constructor here [loplugin:stringliteralvar]}}
+ return { literal };
+}
+
+void f5()
+{
+ // expected-error at +1 {{variable 'literal' of type 'const rtl::OUStringLiteral<4>' with automatic storage duration most likely needs to be static [loplugin:stringliteralvar]}}
+ OUStringLiteral const literal = u"foo";
+ // expected-note at +1 {{first converted to 'rtl::OUString' here [loplugin:stringliteralvar]}}
+ f(literal);
+}
+
+void f6()
+{
+ // expected-error at +1 {{variable 'literal' of type 'const rtl::OUStringLiteral<4>' with automatic storage duration most likely needs to be static [loplugin:stringliteralvar]}}
+ constexpr OUStringLiteral literal = u"foo";
+ // expected-note at +1 {{first converted to 'rtl::OUString' here [loplugin:stringliteralvar]}}
+ f(literal);
+}
+
+void f7()
+{
+ static constexpr OUStringLiteral const literal = u"foo";
+ f(literal);
+}
+
+void f8()
+{
+ static constexpr OUStringLiteral const literal = u"foo";
+ // expected-error at +1 {{variable 'literal' of type 'const rtl::OUStringLiteral<4>' suspiciously used in a sizeof expression [loplugin:stringliteralvar]}}
+ (void)sizeof literal;
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
diff --git a/configmgr/source/configurationprovider.cxx b/configmgr/source/configurationprovider.cxx
index d74019e6b05c..294791516862 100644
--- a/configmgr/source/configurationprovider.cxx
+++ b/configmgr/source/configurationprovider.cxx
@@ -60,10 +60,10 @@ namespace configmgr::configuration_provider {
namespace {
-char const accessServiceName[] =
- "com.sun.star.configuration.ConfigurationAccess";
-char const updateAccessServiceName[] =
- "com.sun.star.configuration.ConfigurationUpdateAccess";
+OUStringLiteral const accessServiceName =
+ u"com.sun.star.configuration.ConfigurationAccess";
+OUStringLiteral const updateAccessServiceName =
+ u"com.sun.star.configuration.ConfigurationUpdateAccess";
void badNodePath() {
throw css::uno::Exception(
diff --git a/connectivity/source/commontools/conncleanup.cxx b/connectivity/source/commontools/conncleanup.cxx
index c33cc7289a65..f1d80581ff5a 100644
--- a/connectivity/source/commontools/conncleanup.cxx
+++ b/connectivity/source/commontools/conncleanup.cxx
@@ -35,7 +35,7 @@ namespace dbtools
using namespace css::sdbc;
using namespace css::lang;
- const char ACTIVE_CONNECTION_PROPERTY_NAME[] = "ActiveConnection";
+ const OUStringLiteral ACTIVE_CONNECTION_PROPERTY_NAME = u"ActiveConnection";
OAutoConnectionDisposer::OAutoConnectionDisposer(const Reference< XRowSet >& _rxRowSet, const Reference< XConnection >& _rxConnection)
:m_xRowSet( _rxRowSet )
diff --git a/connectivity/source/commontools/dbtools2.cxx b/connectivity/source/commontools/dbtools2.cxx
index 59f7dd50136e..db6e81a7400a 100644
--- a/connectivity/source/commontools/dbtools2.cxx
+++ b/connectivity/source/commontools/dbtools2.cxx
@@ -1014,7 +1014,7 @@ bool isAggregateColumn( const Reference< XPropertySet > &_xColumn )
{
bool bAgg(false);
- static const char sAgg[] = "AggregateFunction";
+ static const OUStringLiteral sAgg = u"AggregateFunction";
if ( _xColumn->getPropertySetInfo()->hasPropertyByName(sAgg) )
_xColumn->getPropertyValue(sAgg) >>= bAgg;
diff --git a/connectivity/source/cpool/ZConnectionPool.cxx b/connectivity/source/cpool/ZConnectionPool.cxx
index 7d05b6e0236b..c0b034814deb 100644
--- a/connectivity/source/cpool/ZConnectionPool.cxx
+++ b/connectivity/source/cpool/ZConnectionPool.cxx
@@ -41,7 +41,7 @@ void SAL_CALL OPoolTimer::onShot()
m_pPool->invalidatePooledConnections();
}
-const char TIMEOUT_NODENAME[] = "Timeout";
+const OUStringLiteral TIMEOUT_NODENAME = u"Timeout";
OConnectionPool::OConnectionPool(const Reference< XDriver >& _xDriver,
const Reference< XInterface >& _xDriverNode,
diff --git a/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx b/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx
index 4982cc455665..4c9446348681 100644
--- a/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx
+++ b/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx
@@ -40,7 +40,7 @@ OEvoabResultSetMetaData::~OEvoabResultSetMetaData()
void OEvoabResultSetMetaData::setEvoabFields(const ::rtl::Reference<connectivity::OSQLColumns> &xColumns)
{
- static const char aName[] = "Name";
+ static const OUStringLiteral aName = u"Name";
for (const auto& rxColumn : *xColumns)
{
diff --git a/connectivity/source/drivers/file/FDatabaseMetaData.cxx b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
index c965367dab0e..6a247ee8f41e 100644
--- a/connectivity/source/drivers/file/FDatabaseMetaData.cxx
+++ b/connectivity/source/drivers/file/FDatabaseMetaData.cxx
@@ -165,7 +165,7 @@ Reference< XResultSet > SAL_CALL ODatabaseMetaData::getTables(
// check if any type is given
// when no types are given then we have to return all tables e.g. TABLE
- static const char aTable[] = "TABLE";
+ static const OUStringLiteral aTable = u"TABLE";
bool bTableFound = true;
sal_Int32 nLength = types.getLength();
diff --git a/connectivity/source/drivers/firebird/Driver.cxx b/connectivity/source/drivers/firebird/Driver.cxx
index 3ad9576c11fb..04c65ba06860 100644
--- a/connectivity/source/drivers/firebird/Driver.cxx
+++ b/connectivity/source/drivers/firebird/Driver.cxx
@@ -45,9 +45,9 @@ using namespace connectivity::firebird;
// Static const variables
namespace {
-const char our_sFirebirdTmpVar[] = "FIREBIRD_TMP";
-const char our_sFirebirdLockVar[] = "FIREBIRD_LOCK";
-const char our_sFirebirdMsgVar[] = "FIREBIRD_MSG";
+const OUStringLiteral our_sFirebirdTmpVar = u"FIREBIRD_TMP";
+const OUStringLiteral our_sFirebirdLockVar = u"FIREBIRD_LOCK";
+const OUStringLiteral our_sFirebirdMsgVar = u"FIREBIRD_MSG";
#ifdef MACOSX
const char our_sFirebirdLibVar[] = "LIBREOFFICE_FIREBIRD_LIB";
#endif
diff --git a/connectivity/source/drivers/jdbc/JConnection.cxx b/connectivity/source/drivers/jdbc/JConnection.cxx
index 1d33f2941316..cf0b549b11aa 100644
--- a/connectivity/source/drivers/jdbc/JConnection.cxx
+++ b/connectivity/source/drivers/jdbc/JConnection.cxx
@@ -699,7 +699,8 @@ void java_sql_Connection::loadDriverFromProperties( const OUString& _sDriverClas
OUString java_sql_Connection::impl_getJavaDriverClassPath_nothrow(const OUString& _sDriverClass)
{
- static const char s_sNodeName[] = "org.openoffice.Office.DataAccess/JDBC/DriverClassPaths";
+ static const OUStringLiteral s_sNodeName
+ = u"org.openoffice.Office.DataAccess/JDBC/DriverClassPaths";
::utl::OConfigurationTreeRoot aNamesRoot = ::utl::OConfigurationTreeRoot::createWithComponentContext(
m_pDriver->getContext(), s_sNodeName, -1, ::utl::OConfigurationTreeRoot::CM_READONLY);
OUString sURL;
diff --git a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
index a47758f31a5d..28cb14faa981 100644
--- a/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/drivers/odbc/ODatabaseMetaDataResultSet.cxx
@@ -1090,8 +1090,9 @@ void ODatabaseMetaDataResultSet::openSpecialColumns(bool _bRowVer,const Any& cat
// E.g. psqlodbc up to at least version 09.01.0100 segfaults
if (table.empty())
{
- const char errMsg[] = "ODBC: Trying to get special columns of empty table name";
- const char SQLState[] = "HY009";
+ static const OUStringLiteral errMsg
+ = u"ODBC: Trying to get special columns of empty table name";
+ static const OUStringLiteral SQLState = u"HY009";
throw SQLException( errMsg, *this, SQLState, -1, Any() );
}
diff --git a/connectivity/source/parse/sqliterator.cxx b/connectivity/source/parse/sqliterator.cxx
index d7d7512b7acd..9f860327757c 100644
--- a/connectivity/source/parse/sqliterator.cxx
+++ b/connectivity/source/parse/sqliterator.cxx
@@ -264,7 +264,7 @@ namespace
{
OUString sComposedName;
- static const char s_sWildcard[] = "%" ;
+ static const OUStringLiteral s_sWildcard = u"%" ;
// we want all catalogues, all schemas, all tables
Sequence< OUString > sTableTypes(3);
diff --git a/cui/source/customize/acccfg.cxx b/cui/source/customize/acccfg.cxx
index 014c8b09f328..e7aa9c83f29d 100644
--- a/cui/source/customize/acccfg.cxx
+++ b/cui/source/customize/acccfg.cxx
@@ -65,9 +65,9 @@
using namespace css;
-const char FOLDERNAME_UICONFIG[] = "Configurations2";
+const OUStringLiteral FOLDERNAME_UICONFIG = u"Configurations2";
-const char MEDIATYPE_PROPNAME[] = "MediaType";
+const OUStringLiteral MEDIATYPE_PROPNAME = u"MediaType";
const sal_uInt16 KEYCODE_ARRAY[] = { KEY_F1,
KEY_F2,
diff --git a/cui/source/customize/cfgutil.cxx b/cui/source/customize/cfgutil.cxx
index f694f26fd6bc..e538bc25bcee 100644
--- a/cui/source/customize/cfgutil.cxx
+++ b/cui/source/customize/cfgutil.cxx
@@ -74,7 +74,7 @@ const char CMDURL_STYLEPROT_ONLY[] = ".uno:StyleApply?";
const char CMDURL_SPART_ONLY [] = "Style:string=";
const char CMDURL_FPART_ONLY [] = "FamilyName:string=";
-const char STYLEPROP_UINAME[] = "DisplayName";
+const OUStringLiteral STYLEPROP_UINAME = u"DisplayName";
OUString SfxStylesInfo_Impl::generateCommand(const OUString& sFamily, const OUString& sStyle)
{
diff --git a/cui/source/dialogs/cuigaldlg.cxx b/cui/source/dialogs/cuigaldlg.cxx
index 116dac39f0a6..76abb324b583 100644
--- a/cui/source/dialogs/cuigaldlg.cxx
+++ b/cui/source/dialogs/cuigaldlg.cxx
@@ -709,7 +709,7 @@ void TPGalleryThemeProperties::FillFilterList()
#if HAVE_FEATURE_AVMEDIA
// media filters
- static const char aWildcard[] = "*.";
+ static const OUStringLiteral aWildcard = u"*.";
::avmedia::FilterNameVector aFilters= ::avmedia::MediaWindow::getMediaFilters();
for(const std::pair<OUString,OUString> & aFilter : aFilters)
diff --git a/cui/source/dialogs/hlinettp.cxx b/cui/source/dialogs/hlinettp.cxx
index 140d2a59da3b..9c938e40ae66 100644
--- a/cui/source/dialogs/hlinettp.cxx
+++ b/cui/source/dialogs/hlinettp.cxx
@@ -23,7 +23,7 @@
#include <hlinettp.hxx>
#include <hlmarkwn_def.hxx>
-char const sAnonymous[] = "anonymous";
+OUStringLiteral const sAnonymous = u"anonymous";
char const sFTPScheme[] = INET_FTP_SCHEME;
/*************************************************************************
diff --git a/cui/source/inc/cfg.hxx b/cui/source/inc/cfg.hxx
index 0bc2085178d2..4fd7fb801ebc 100644
--- a/cui/source/inc/cfg.hxx
+++ b/cui/source/inc/cfg.hxx
@@ -42,18 +42,18 @@
#define notebookbarTabScope "notebookbarTabScope"
const char ITEM_DESCRIPTOR_COMMANDURL[] = "CommandURL";
-const char ITEM_DESCRIPTOR_CONTAINER[] = "ItemDescriptorContainer";
+inline const OUStringLiteral ITEM_DESCRIPTOR_CONTAINER = u"ItemDescriptorContainer";
const char ITEM_DESCRIPTOR_LABEL[] = "Label";
const char ITEM_DESCRIPTOR_TYPE[] = "Type";
const char ITEM_DESCRIPTOR_STYLE[] = "Style";
const char ITEM_DESCRIPTOR_ISVISIBLE[] = "IsVisible";
const char ITEM_DESCRIPTOR_RESOURCEURL[] = "ResourceURL";
-const char ITEM_DESCRIPTOR_UINAME[] = "UIName";
+inline const OUStringLiteral ITEM_DESCRIPTOR_UINAME = u"UIName";
-const char ITEM_MENUBAR_URL[] = "private:resource/menubar/menubar";
+inline const OUStringLiteral ITEM_MENUBAR_URL = u"private:resource/menubar/menubar";
constexpr char16_t ITEM_TOOLBAR_URL[] = u"private:resource/toolbar/";
-const char CUSTOM_TOOLBAR_STR[] = "custom_toolbar_";
+inline const OUStringLiteral CUSTOM_TOOLBAR_STR = u"custom_toolbar_";
const char aMenuSeparatorStr[] = " | ";
diff --git a/cui/source/options/optasian.cxx b/cui/source/options/optasian.cxx
index 1daf56dbb64b..c16a533bbf9e 100644
--- a/cui/source/options/optasian.cxx
+++ b/cui/source/options/optasian.cxx
@@ -43,8 +43,8 @@ using namespace com::sun::star::i18n;
using namespace com::sun::star::frame;
using namespace com::sun::star::beans;
-const char cIsKernAsianPunctuation[] = "IsKernAsianPunctuation";
-const char cCharacterCompressionType[] = "CharacterCompressionType";
+const OUStringLiteral cIsKernAsianPunctuation = u"IsKernAsianPunctuation";
+const OUStringLiteral cCharacterCompressionType = u"CharacterCompressionType";
namespace {
diff --git a/cui/source/options/optgdlg.cxx b/cui/source/options/optgdlg.cxx
index a1b820b93585..21d46a879e36 100644
--- a/cui/source/options/optgdlg.cxx
+++ b/cui/source/options/optgdlg.cxx
@@ -1019,11 +1019,11 @@ struct LanguageConfig_Impl
static bool bLanguageCurrentDoc_Impl = false;
// some things we'll need...
-const char sAccessSrvc[] = "com.sun.star.configuration.ConfigurationAccess";
-const char sAccessUpdSrvc[] = "com.sun.star.configuration.ConfigurationUpdateAccess";
-const char sInstalledLocalesPath[] = "org.openoffice.Setup/Office/InstalledLocales";
-const char sUserLocalePath[] = "org.openoffice.Office.Linguistic/General";
-const char sUserLocaleKey[] = "UILocale";
+const OUStringLiteral sAccessSrvc = u"com.sun.star.configuration.ConfigurationAccess";
+const OUStringLiteral sAccessUpdSrvc = u"com.sun.star.configuration.ConfigurationUpdateAccess";
+const OUStringLiteral sInstalledLocalesPath = u"org.openoffice.Setup/Office/InstalledLocales";
+const OUStringLiteral sUserLocalePath = u"org.openoffice.Office.Linguistic/General";
+const OUStringLiteral sUserLocaleKey = u"UILocale";
static Sequence< OUString > seqInstalledLanguages;
static OUString lcl_getDatePatternsConfigString( const LocaleDataWrapper& rLocaleWrapper )
diff --git a/cui/source/options/optinet2.cxx b/cui/source/options/optinet2.cxx
index 3f7bad1d804a..5e2df9189d7a 100644
--- a/cui/source/options/optinet2.cxx
+++ b/cui/source/options/optinet2.cxx
@@ -93,14 +93,14 @@ IMPL_LINK(SvxProxyTabPage, PortChangedHdl, weld::Entry&, rEdit, void)
}
}
-const char g_aProxyModePN[] = "ooInetProxyType";
-const char g_aHttpProxyPN[] = "ooInetHTTPProxyName";
-const char g_aHttpPortPN[] = "ooInetHTTPProxyPort";
-const char g_aHttpsProxyPN[] = "ooInetHTTPSProxyName";
-const char g_aHttpsPortPN[] = "ooInetHTTPSProxyPort";
-const char g_aFtpProxyPN[] = "ooInetFTPProxyName";
-const char g_aFtpPortPN[] = "ooInetFTPProxyPort";
-const char g_aNoProxyDescPN[] = "ooInetNoProxy";
+const OUStringLiteral g_aProxyModePN = u"ooInetProxyType";
+const OUStringLiteral g_aHttpProxyPN = u"ooInetHTTPProxyName";
+const OUStringLiteral g_aHttpPortPN = u"ooInetHTTPProxyPort";
+const OUStringLiteral g_aHttpsProxyPN = u"ooInetHTTPSProxyName";
+const OUStringLiteral g_aHttpsPortPN = u"ooInetHTTPSProxyPort";
+const OUStringLiteral g_aFtpProxyPN = u"ooInetFTPProxyName";
+const OUStringLiteral g_aFtpPortPN = u"ooInetFTPProxyPort";
+const OUStringLiteral g_aNoProxyDescPN = u"ooInetNoProxy";
IMPL_STATIC_LINK(SvxProxyTabPage, NumberOnlyTextFilterHdl, OUString&, rTest, bool)
{
diff --git a/dbaccess/qa/unit/embeddeddb_performancetest.cxx b/dbaccess/qa/unit/embeddeddb_performancetest.cxx
index 0517a9fd170c..abd72db66fe4 100644
--- a/dbaccess/qa/unit/embeddeddb_performancetest.cxx
+++ b/dbaccess/qa/unit/embeddeddb_performancetest.cxx
@@ -82,7 +82,8 @@ class EmbeddedDBPerformanceTest
: public DBTestBase
{
private:
- static const char our_sEnableTestEnvVar[];
+ static constexpr OUStringLiteral our_sEnableTestEnvVar = u"DBA_PERFTEST";
+
// We store the results and print them at the end due to the amount of warning
// noise present which otherwise obscures the results.
@@ -140,8 +141,6 @@ void EmbeddedDBPerformanceTest::printTimes(
.append("\n");
}
-const char EmbeddedDBPerformanceTest::our_sEnableTestEnvVar[] = "DBA_PERFTEST";
-
// TODO: we probably should create a document from scratch instead?
void EmbeddedDBPerformanceTest::testPerformance()
diff --git a/dbaccess/source/core/api/FilteredContainer.cxx b/dbaccess/source/core/api/FilteredContainer.cxx
index 0e8b2926c37e..74b522a4b459 100644
--- a/dbaccess/source/core/api/FilteredContainer.cxx
+++ b/dbaccess/source/core/api/FilteredContainer.cxx
@@ -343,7 +343,7 @@ static sal_Int32 createWildCardVector(Sequence< OUString >& _rTableFilter, std::
}
}
- static const char sAll[] = "%";
+ static const OUStringLiteral sAll = u"%";
Reference< XResultSet > xTables = m_xMetaData->getTables( Any(), sAll, sAll, aTableTypeFilter );
Reference< XRow > xCurrentRow( xTables, UNO_QUERY_THROW );
diff --git a/dbaccess/source/core/dataaccess/databasedocument.cxx b/dbaccess/source/core/dataaccess/databasedocument.cxx
index cf6753794800..b5a789fad212 100644
--- a/dbaccess/source/core/dataaccess/databasedocument.cxx
+++ b/dbaccess/source/core/dataaccess/databasedocument.cxx
@@ -311,7 +311,7 @@ namespace
}
}
-const char sPictures[] = "Pictures";
+const OUStringLiteral sPictures = u"Pictures";
// base documents seem to have a different behaviour to other documents, the
// root storage contents at least seem to be re-used over different saves, thus if there is a
diff --git a/dbaccess/source/core/dataaccess/datasource.cxx b/dbaccess/source/core/dataaccess/datasource.cxx
index 891df4de9dc8..206b8e490e6e 100644
--- a/dbaccess/source/core/dataaccess/datasource.cxx
+++ b/dbaccess/source/core/dataaccess/datasource.cxx
@@ -644,7 +644,7 @@ Reference< XConnection > ODatabaseSource::buildLowLevelConnection(const OUString
if (bNeedMigration)
{
// back up content xml file if migration was successful
- constexpr char BACKUP_XML_NAME[] = "content_before_migration.xml";
+ static constexpr OUStringLiteral BACKUP_XML_NAME = u"content_before_migration.xml";
try
{
if(xRootStorage->isStreamElement(BACKUP_XML_NAME))
diff --git a/dbaccess/source/core/misc/DatabaseDataProvider.cxx b/dbaccess/source/core/misc/DatabaseDataProvider.cxx
index b6366e4482fb..f317bd474c38 100644
--- a/dbaccess/source/core/misc/DatabaseDataProvider.cxx
+++ b/dbaccess/source/core/misc/DatabaseDataProvider.cxx
@@ -266,7 +266,7 @@ uno::Reference< chart2::data::XDataSequence > SAL_CALL DatabaseDataProvider::cre
osl::MutexGuard g(m_aMutex);
uno::Reference< chart2::data::XDataSequence > xData = m_xInternal->createDataSequenceByRangeRepresentation(_sRangeRepresentation);
uno::Reference<beans::XPropertySet> xProp(xData,uno::UNO_QUERY);
- static const char s_sNumberFormatKey[] = "NumberFormatKey";
+ static const OUStringLiteral s_sNumberFormatKey = u"NumberFormatKey";
if ( xProp.is() && xProp->getPropertySetInfo()->hasPropertyByName(s_sNumberFormatKey) )
{
xProp->setPropertyValue(s_sNumberFormatKey,impl_getNumberFormatKey_nothrow(_sRangeRepresentation));
diff --git a/dbaccess/source/core/recovery/dbdocrecovery.cxx b/dbaccess/source/core/recovery/dbdocrecovery.cxx
index ab5947d91261..d111aa86b6cf 100644
--- a/dbaccess/source/core/recovery/dbdocrecovery.cxx
+++ b/dbaccess/source/core/recovery/dbdocrecovery.cxx
@@ -86,9 +86,9 @@ namespace dbaccess
return true;
}
- const char sRecoveryDataSubStorageName[] = "recovery";
+ const OUStringLiteral sRecoveryDataSubStorageName = u"recovery";
- const char sObjectMapStreamName[] = "storage-component-map.ini";
+ const OUStringLiteral sObjectMapStreamName = u"storage-component-map.ini";
void lcl_writeObjectMap_throw( const Reference<XComponentContext> & i_rContext, const Reference< XStorage >& i_rStorage,
const MapStringToCompDesc& i_mapStorageToCompDesc )
diff --git a/dbaccess/source/core/recovery/storagetextstream.cxx b/dbaccess/source/core/recovery/storagetextstream.cxx
index 6ea4ef005320..1dd774bc8a31 100644
--- a/dbaccess/source/core/recovery/storagetextstream.cxx
+++ b/dbaccess/source/core/recovery/storagetextstream.cxx
@@ -36,7 +36,7 @@ namespace dbaccess
Reference< XTextOutputStream2 > xTextOutput;
};
- const char sLineFeed[] = "\n";
+ const OUStringLiteral sLineFeed = u"\n";
// StorageTextOutputStream
StorageTextOutputStream::StorageTextOutputStream( const Reference<XComponentContext>& i_rContext,
diff --git a/dbaccess/source/core/recovery/subcomponentrecovery.cxx b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
index ab16ee9e2c04..11dfa49d17ad 100644
--- a/dbaccess/source/core/recovery/subcomponentrecovery.cxx
+++ b/dbaccess/source/core/recovery/subcomponentrecovery.cxx
@@ -160,8 +160,8 @@ namespace dbaccess
return xCommandProcessor;
}
- const char sSettingsStreamName[] = "settings.xml";
- const char sCurrentQueryDesignName[] = "ooo:current-query-design";
+ const OUStringLiteral sSettingsStreamName = u"settings.xml";
+ const OUStringLiteral sCurrentQueryDesignName = u"ooo:current-query-design";
}
namespace {
diff --git a/dbaccess/source/filter/hsqldb/hsqlimport.cxx b/dbaccess/source/filter/hsqldb/hsqlimport.cxx
index a017d8dfa12e..f24ceb6f2ff0 100644
--- a/dbaccess/source/filter/hsqldb/hsqlimport.cxx
+++ b/dbaccess/source/filter/hsqldb/hsqlimport.cxx
@@ -266,7 +266,7 @@ void HsqlImporter::parseTableRows(const std::vector<sal_Int32>& rIndexes,
const std::vector<ColumnDefinition>& rColTypes,
const OUString& sTableName)
{
- constexpr char BINARY_FILENAME[] = "data";
+ static constexpr OUStringLiteral BINARY_FILENAME = u"data";
if (!m_xStorage->hasByName(BINARY_FILENAME))
{
diff --git a/dbaccess/source/filter/hsqldb/parseschema.cxx b/dbaccess/source/filter/hsqldb/parseschema.cxx
index 6dfc59778bf0..e1d794cdca8b 100644
--- a/dbaccess/source/filter/hsqldb/parseschema.cxx
+++ b/dbaccess/source/filter/hsqldb/parseschema.cxx
@@ -111,7 +111,7 @@ void SchemaParser::parseSchema()
{
assert(m_rStorage);
- constexpr char SCHEMA_FILENAME[] = "script";
+ static constexpr OUStringLiteral SCHEMA_FILENAME = u"script";
if (!m_rStorage->hasByName(SCHEMA_FILENAME))
{
SAL_WARN("dbaccess", "script file does not exist in storage during hsqldb import");
@@ -175,7 +175,8 @@ std::vector<ColumnDefinition> SchemaParser::getTableColumnTypes(const OUString&
{
if (m_ColumnTypes.count(sTableName) < 1)
{
- constexpr char NOT_EXIST[] = "Internal error while getting column information of table";
+ static constexpr OUStringLiteral NOT_EXIST
+ = u"Internal error while getting column information of table";
SAL_WARN("dbaccess", NOT_EXIST << ". Table name is: " << sTableName);
dbtools::throwGenericSQLException(NOT_EXIST, ::comphelper::getProcessComponentContext());
}
diff --git a/dbaccess/source/filter/hsqldb/utils.cxx b/dbaccess/source/filter/hsqldb/utils.cxx
index f2b2b517b8fc..041df17a700a 100644
--- a/dbaccess/source/filter/hsqldb/utils.cxx
+++ b/dbaccess/source/filter/hsqldb/utils.cxx
@@ -129,9 +129,10 @@ void utils::ensureFirebirdTableLength(const OUString& sName)
{
if (sName.getLength() > 30) // Firebird limitation
{
- constexpr char NAME_TOO_LONG[] = "Firebird 3 doesn't support object (table, field) names "
- "of more than 30 characters; please shorten your object "
- "names in the original file and try again.";
+ static constexpr OUStringLiteral NAME_TOO_LONG
+ = u"Firebird 3 doesn't support object (table, field) names "
+ "of more than 30 characters; please shorten your object "
+ "names in the original file and try again.";
dbtools::throwGenericSQLException(NAME_TOO_LONG,
::comphelper::getProcessComponentContext());
}
diff --git a/dbaccess/source/ui/app/AppController.cxx b/dbaccess/source/ui/app/AppController.cxx
index 987536261316..d75d557615a2 100644
--- a/dbaccess/source/ui/app/AppController.cxx
+++ b/dbaccess/source/ui/app/AppController.cxx
@@ -674,7 +674,7 @@ FeatureState OApplicationController::GetState(sal_uInt16 _nId) const
aReturn.bEnabled = xEnumAccess.is();
if ( aReturn.bEnabled )
{
- static const char s_sReportDesign[] = "org.libreoffice.report.pentaho.SOReportJobFactory";
+ static const OUStringLiteral s_sReportDesign = u"org.libreoffice.report.pentaho.SOReportJobFactory";
Reference< XEnumeration > xEnumDrivers = xEnumAccess->createContentEnumeration(s_sReportDesign);
aReturn.bEnabled = xEnumDrivers.is() && xEnumDrivers->hasMoreElements();
}
diff --git a/dbaccess/source/ui/app/AppControllerGen.cxx b/dbaccess/source/ui/app/AppControllerGen.cxx
index 1d7019a81b29..0ce728d7fa2a 100644
--- a/dbaccess/source/ui/app/AppControllerGen.cxx
+++ b/dbaccess/source/ui/app/AppControllerGen.cxx
@@ -639,7 +639,7 @@ void OApplicationController::onLoadedMenu(const Reference< css::frame::XLayoutMa
if ( !_xLayoutManager.is() )
return;
- static const char s_sStatusbar[] = "private:resource/statusbar/statusbar";
+ static const OUStringLiteral s_sStatusbar = u"private:resource/statusbar/statusbar";
_xLayoutManager->createElement( s_sStatusbar );
_xLayoutManager->requestElement( s_sStatusbar );
diff --git a/dbaccess/source/ui/dlg/queryfilter.cxx b/dbaccess/source/ui/dlg/queryfilter.cxx
index 67df2db8ccdf..da4d61641936 100644
--- a/dbaccess/source/ui/dlg/queryfilter.cxx
+++ b/dbaccess/source/ui/dlg/queryfilter.cxx
@@ -304,10 +304,10 @@ bool DlgFilterCrit::getCondition(const weld::ComboBox& _rField,const weld::Combo
}
}
xColumn->getPropertyValue(PROPERTY_REALNAME) >>= _rFilter.Name;
- static const char sAgg[] = "AggregateFunction";
+ static const OUStringLiteral sAgg = u"AggregateFunction";
if ( xInfo->hasPropertyByName(sAgg) )
xColumn->getPropertyValue(sAgg) >>= bHaving;
- static const char sFunction[] = "Function";
+ static const OUStringLiteral sFunction = u"Function";
if ( xInfo->hasPropertyByName(sFunction) )
xColumn->getPropertyValue(sFunction) >>= bFunction;
}
diff --git a/dbaccess/source/ui/misc/indexcollection.cxx b/dbaccess/source/ui/misc/indexcollection.cxx
index fb83377f1740..046a41a000ea 100644
--- a/dbaccess/source/ui/misc/indexcollection.cxx
+++ b/dbaccess/source/ui/misc/indexcollection.cxx
@@ -122,7 +122,7 @@ namespace dbaui
}
// set the properties
- static const char s_sNamePropertyName[] = "Name";
+ static const OUStringLiteral s_sNamePropertyName = u"Name";
// the index' own props
xIndexDescriptor->setPropertyValue("IsUnique", css::uno::makeAny(_rPos->bUnique));
xIndexDescriptor->setPropertyValue(s_sNamePropertyName, makeAny(_rPos->sName));
diff --git a/dbaccess/source/ui/querydesign/querycontroller.cxx b/dbaccess/source/ui/querydesign/querycontroller.cxx
index 6a77aa548855..5bab3d26f30b 100644
--- a/dbaccess/source/ui/querydesign/querycontroller.cxx
+++ b/dbaccess/source/ui/querydesign/querycontroller.cxx
@@ -149,8 +149,8 @@ namespace
return;
xLayoutManager->lock();
- static const char s_sDesignToolbar[] = "private:resource/toolbar/designobjectbar";
- static const char s_sSqlToolbar[] = "private:resource/toolbar/sqlobjectbar";
+ static const OUStringLiteral s_sDesignToolbar = u"private:resource/toolbar/designobjectbar";
+ static const OUStringLiteral s_sSqlToolbar = u"private:resource/toolbar/sqlobjectbar";
if ( _bDesign )
{
xLayoutManager->destroyElement( s_sSqlToolbar );
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index 112be4caf94d..596e83b14ebf 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -560,7 +560,7 @@ bool Desktop::QueryExit()
{
}
- const char SUSPEND_QUICKSTARTVETO[] = "SuspendQuickstartVeto";
+ static const OUStringLiteral SUSPEND_QUICKSTARTVETO = u"SuspendQuickstartVeto";
Reference< XDesktop2 > xDesktop = css::frame::Desktop::create( ::comphelper::getProcessComponentContext() );
Reference< XPropertySet > xPropertySet(xDesktop, UNO_QUERY_THROW);
@@ -872,7 +872,7 @@ namespace {
#if HAVE_FEATURE_BREAKPAD
void handleCrashReport()
{
- static const char SERVICENAME_CRASHREPORT[] = "com.sun.star.comp.svx.CrashReportUI";
+ static const OUStringLiteral SERVICENAME_CRASHREPORT = u"com.sun.star.comp.svx.CrashReportUI";
css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
diff --git a/desktop/source/app/check_ext_deps.cxx b/desktop/source/app/check_ext_deps.cxx
index 8af149f1f93b..2e667e0ad64c 100644
--- a/desktop/source/app/check_ext_deps.cxx
+++ b/desktop/source/app/check_ext_deps.cxx
@@ -207,7 +207,7 @@ void SilentCommandEnv::pop()
} // end namespace
-const char aAccessSrvc[] = "com.sun.star.configuration.ConfigurationUpdateAccess";
+const OUStringLiteral aAccessSrvc = u"com.sun.star.configuration.ConfigurationUpdateAccess";
static sal_Int16 impl_showExtensionDialog( uno::Reference< uno::XComponentContext > const &xContext )
{
diff --git a/desktop/source/app/cmdlinehelp.cxx b/desktop/source/app/cmdlinehelp.cxx
index 1d7fe7613be7..03e45b7278c0 100644
--- a/desktop/source/app/cmdlinehelp.cxx
+++ b/desktop/source/app/cmdlinehelp.cxx
@@ -35,11 +35,11 @@
namespace desktop
{
- const char aCmdLineHelp_version[] =
- "%PRODUCTNAME %PRODUCTVERSION%PRODUCTEXTENSION %BUILDID\n"
+ const OUStringLiteral aCmdLineHelp_version =
+ u"%PRODUCTNAME %PRODUCTVERSION%PRODUCTEXTENSION %BUILDID\n"
"\n";
- const char aCmdLineHelp[] =
- "Usage: %CMDNAME [argument...]\n"
+ const OUStringLiteral aCmdLineHelp =
+ u"Usage: %CMDNAME [argument...]\n"
" argument - switches, switch parameters and document URIs (filenames). \n\n"
"Using without special arguments: \n"
"Opens the start center, if it is used without any arguments. \n"
diff --git a/desktop/source/deployment/misc/dp_dependencies.cxx b/desktop/source/deployment/misc/dp_dependencies.cxx
index eae5ca5cb7d8..732778e2bbd1 100644
--- a/desktop/source/deployment/misc/dp_dependencies.cxx
+++ b/desktop/source/deployment/misc/dp_dependencies.cxx
@@ -43,14 +43,14 @@ namespace {
char const namespaceLibreOffice[] =
"http://libreoffice.org/extensions/description/2011";
-char const namespaceOpenOfficeOrg[] =
- "http://openoffice.org/extensions/description/2006";
+OUStringLiteral const namespaceOpenOfficeOrg =
+ u"http://openoffice.org/extensions/description/2006";
char const minimalVersionLibreOffice[] = "LibreOffice-minimal-version";
char const maximalVersionLibreOffice[] = "LibreOffice-maximal-version";
-char const minimalVersionOpenOfficeOrg[] =
- "OpenOffice.org-minimal-version";
+OUStringLiteral const minimalVersionOpenOfficeOrg =
+ u"OpenOffice.org-minimal-version";
char const maximalVersionOpenOfficeOrg[] =
"OpenOffice.org-maximal-version";
diff --git a/desktop/source/migration/migration.cxx b/desktop/source/migration/migration.cxx
index 1637a9d63ade..4955c279ec32 100644
--- a/desktop/source/migration/migration.cxx
+++ b/desktop/source/migration/migration.cxx
@@ -69,9 +69,9 @@ using namespace com::sun::star;
namespace desktop
{
-const char ITEM_DESCRIPTOR_COMMANDURL[] = "CommandURL";
-const char ITEM_DESCRIPTOR_CONTAINER[] = "ItemDescriptorContainer";
-const char ITEM_DESCRIPTOR_LABEL[] = "Label";
+const OUStringLiteral ITEM_DESCRIPTOR_COMMANDURL = u"CommandURL";
+const OUStringLiteral ITEM_DESCRIPTOR_CONTAINER = u"ItemDescriptorContainer";
+const OUStringLiteral ITEM_DESCRIPTOR_LABEL = u"Label";
static OUString mapModuleShortNameToIdentifier(std::u16string_view sShortName)
{
diff --git a/editeng/source/misc/svxacorr.cxx b/editeng/source/misc/svxacorr.cxx
index 3b9da426dc64..d04247c397f2 100644
--- a/editeng/source/misc/svxacorr.cxx
+++ b/editeng/source/misc/svxacorr.cxx
@@ -95,9 +95,9 @@ namespace o3tl {
}
const sal_Unicode cNonBreakingSpace = 0xA0; // UNICODE code for no break space
-const char pXMLImplWrdStt_ExcptLstStr[] = "WordExceptList.xml";
-const char pXMLImplCplStt_ExcptLstStr[] = "SentenceExceptList.xml";
-const char pXMLImplAutocorr_ListStr[] = "DocumentList.xml";
+const OUStringLiteral pXMLImplWrdStt_ExcptLstStr = u"WordExceptList.xml";
+const OUStringLiteral pXMLImplCplStt_ExcptLstStr = u"SentenceExceptList.xml";
+const OUStringLiteral pXMLImplAutocorr_ListStr = u"DocumentList.xml";
const char
/* also at these beginnings - Brackets and all kinds of begin characters */
diff --git a/extensions/source/abpilot/admininvokationimpl.cxx b/extensions/source/abpilot/admininvokationimpl.cxx
index fe208e85b3ec..720ef26fb90c 100644
--- a/extensions/source/abpilot/admininvokationimpl.cxx
+++ b/extensions/source/abpilot/admininvokationimpl.cxx
@@ -62,7 +62,7 @@ namespace abp
{
// the service name of the administration dialog
static const char16_t s_sAdministrationServiceName[] = u"com.sun.star.sdb.DatasourceAdministrationDialog";
- static const char s_sDataSourceTypeChangeDialog[] = "com.sun.star.sdb.DataSourceTypeChangeDialog";
+ static const OUStringLiteral s_sDataSourceTypeChangeDialog = u"com.sun.star.sdb.DataSourceTypeChangeDialog";
// the parameters for the call
Sequence<Any> aArguments(comphelper::InitAnyPropertySequence(
diff --git a/extensions/source/abpilot/fieldmappingimpl.cxx b/extensions/source/abpilot/fieldmappingimpl.cxx
index 7a72f8475c4b..34d860cf3f49 100644
--- a/extensions/source/abpilot/fieldmappingimpl.cxx
+++ b/extensions/source/abpilot/fieldmappingimpl.cxx
@@ -50,7 +50,7 @@ namespace abp
const char16_t sDriverSettingsNodeName[] = u"/org.openoffice.Office.DataAccess/DriverSettings/com.sun.star.comp.sdbc.MozabDriver";
- const char sAddressBookNodeName[] = "/org.openoffice.Office.DataAccess/AddressBook";
+ const OUStringLiteral sAddressBookNodeName = u"/org.openoffice.Office.DataAccess/AddressBook";
namespace fieldmapping
{
diff --git a/extensions/source/bibliography/bibconfig.cxx b/extensions/source/bibliography/bibconfig.cxx
index ee271f4cc898..f5a68212922d 100644
--- a/extensions/source/bibliography/bibconfig.cxx
+++ b/extensions/source/bibliography/bibconfig.cxx
@@ -33,7 +33,7 @@ using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::sdb;
-constexpr char16_t cDataSourceHistory[] = u"DataSourceHistory";
+constexpr OUStringLiteral cDataSourceHistory = u"DataSourceHistory";
Sequence<OUString> const & BibConfig::GetPropertyNames()
{
diff --git a/extensions/source/dbpilots/gridwizard.cxx b/extensions/source/dbpilots/gridwizard.cxx
index 478a7b34ab51..43d6054cdfa3 100644
--- a/extensions/source/dbpilots/gridwizard.cxx
+++ b/extensions/source/dbpilots/gridwizard.cxx
@@ -93,8 +93,8 @@ namespace dbp
if (!xColumnFactory.is() || !xColumnContainer.is())
return;
- static const char s_sMouseWheelBehavior[] = "MouseWheelBehavior";
- static const char s_sEmptyString[] = "";
+ static const OUStringLiteral s_sMouseWheelBehavior = u"MouseWheelBehavior";
+ static const OUStringLiteral s_sEmptyString = u"";
// collect "descriptors" for the to-be-created (grid)columns
std::vector< OUString > aColumnServiceNames; // service names to be used with the XGridColumnFactory
diff --git a/extensions/source/dbpilots/optiongrouplayouter.cxx b/extensions/source/dbpilots/optiongrouplayouter.cxx
index 546fa9ca7a7d..bfd14727cfb1 100644
--- a/extensions/source/dbpilots/optiongrouplayouter.cxx
+++ b/extensions/source/dbpilots/optiongrouplayouter.cxx
@@ -189,7 +189,7 @@ namespace dbp
void OOptionGroupLayouter::implAnchorShape(const Reference< XPropertySet >& _rxShapeProps)
{
- static const char s_sAnchorPropertyName[] = "AnchorType";
+ static const OUStringLiteral s_sAnchorPropertyName = u"AnchorType";
Reference< XPropertySetInfo > xPropertyInfo;
if (_rxShapeProps.is())
xPropertyInfo = _rxShapeProps->getPropertySetInfo();
diff --git a/filter/qa/unit/svg.cxx b/filter/qa/unit/svg.cxx
index 792964cb00d9..d870307a1c4d 100644
--- a/filter/qa/unit/svg.cxx
+++ b/filter/qa/unit/svg.cxx
@@ -20,7 +20,7 @@
using namespace ::com::sun::star;
-char const DATA_DIRECTORY[] = "/filter/qa/unit/data/";
+OUStringLiteral const DATA_DIRECTORY = u"/filter/qa/unit/data/";
/// SVG filter tests.
class SvgFilterTest : public test::BootstrapFixture, public unotest::MacrosTest, public XmlTestTools
diff --git a/filter/qa/unit/textfilterdetect.cxx b/filter/qa/unit/textfilterdetect.cxx
index fb1ff1d2ac7e..1efbebc47b93 100644
--- a/filter/qa/unit/textfilterdetect.cxx
+++ b/filter/qa/unit/textfilterdetect.cxx
@@ -54,7 +54,7 @@ void TextFilterDetectTest::tearDown()
test::BootstrapFixture::tearDown();
}
-char const DATA_DIRECTORY[] = "/filter/qa/unit/data/";
+OUStringLiteral const DATA_DIRECTORY = u"/filter/qa/unit/data/";
CPPUNIT_TEST_FIXTURE(TextFilterDetectTest, testTdf114428)
{
diff --git a/filter/source/svg/svgexport.cxx b/filter/source/svg/svgexport.cxx
index bcf97a8b0678..a77457687076 100644
--- a/filter/source/svg/svgexport.cxx
+++ b/filter/source/svg/svgexport.cxx
@@ -83,7 +83,7 @@ using namespace ::xmloff::token;
#define SVG_PROP_POSITIONED_CHARACTERS "UsePositionedCharacters"
// ooo xml elements
-constexpr char16_t aOOOElemTextField[] = u"" NSPREFIX "text_field";
+constexpr OUStringLiteral aOOOElemTextField = u"" NSPREFIX "text_field";
// ooo xml attributes for meta_slide
@@ -93,13 +93,13 @@ const char aOOOAttrBackgroundVisibility[] = NSPREFIX "background-visibility";
const char aOOOAttrMasterObjectsVisibility[] = NSPREFIX "master-objects-visibility";
const char aOOOAttrSlideDuration[] = NSPREFIX "slide-duration";
const OUString aOOOAttrDateTimeField = NSPREFIX "date-time-field";
-const char aOOOAttrFooterField[] = NSPREFIX "footer-field";
+const OUStringLiteral aOOOAttrFooterField = u"" NSPREFIX "footer-field";
const char aOOOAttrHasTransition[] = NSPREFIX "has-transition";
// ooo xml attributes for pages and shapes
const char aOOOAttrName[] = NSPREFIX "name";
-const char constSvgNamespace[] = "http://www.w3.org/2000/svg";
+const OUStringLiteral constSvgNamespace = u"http://www.w3.org/2000/svg";
/** Text Field Class Hierarchy
diff --git a/filter/source/svg/svgfilter.cxx b/filter/source/svg/svgfilter.cxx
index 8025550b5837..a15dc12f53e6 100644
--- a/filter/source/svg/svgfilter.cxx
+++ b/filter/source/svg/svgfilter.cxx
@@ -63,8 +63,8 @@ using namespace ::com::sun::star;
namespace
{
- const char constFilterNameDraw[] = "svg_Scalable_Vector_Graphics_Draw";
- const char constFilterName[] = "svg_Scalable_Vector_Graphics";
+ const OUStringLiteral constFilterNameDraw = u"svg_Scalable_Vector_Graphics_Draw";
+ const OUStringLiteral constFilterName = u"svg_Scalable_Vector_Graphics";
}
SVGFilter::SVGFilter( const Reference< XComponentContext >& rxCtx ) :
diff --git a/forms/source/component/DatabaseForm.cxx b/forms/source/component/DatabaseForm.cxx
index 97c76efb5eff..11b8bd14d352 100644
--- a/forms/source/component/DatabaseForm.cxx
+++ b/forms/source/component/DatabaseForm.cxx
@@ -1943,7 +1943,7 @@ void ODatabaseForm::reset_impl(bool _bApproveByListeners)
if ( xColProps.is() )
xPSI = xColProps->getPropertySetInfo( );
- static const char PROPERTY_CONTROLDEFAULT[] = "ControlDefault";
+ static const OUStringLiteral PROPERTY_CONTROLDEFAULT = u"ControlDefault";
if ( xPSI.is() && xPSI->hasPropertyByName( PROPERTY_CONTROLDEFAULT ) )
{
Any aDefault = xColProps->getPropertyValue( PROPERTY_CONTROLDEFAULT );
diff --git a/forms/source/component/FormattedField.cxx b/forms/source/component/FormattedField.cxx
index 18cb21882d6a..1e201c7b3858 100644
--- a/forms/source/component/FormattedField.cxx
+++ b/forms/source/component/FormattedField.cxx
@@ -649,7 +649,7 @@ void OFormattedModel::write(const Reference<XObjectOutputStream>& _rxOutStream)
Reference<XNumberFormats> xFormats = xSupplier->getNumberFormats();
OUString sFormatDescription;
LanguageType eFormatLanguage = LANGUAGE_DONTKNOW;
- static const char s_aLocaleProp[] = "Locale";
+ static const OUStringLiteral s_aLocaleProp = u"Locale";
Reference<css::beans::XPropertySet> xFormat = xFormats->getByKey(nKey);
if (hasProperty(s_aLocaleProp, xFormat))
{
@@ -660,7 +660,7 @@ void OFormattedModel::write(const Reference<XObjectOutputStream>& _rxOutStream)
eFormatLanguage = LanguageTag::convertToLanguageType( *pLocale, false);
}
}
- static const char s_aFormatStringProp[] = "FormatString";
+ static const OUStringLiteral s_aFormatStringProp = u"FormatString";
if (hasProperty(s_aFormatStringProp, xFormat))
xFormat->getPropertyValue(s_aFormatStringProp) >>= sFormatDescription;
_rxOutStream->writeUTF(sFormatDescription);
diff --git a/framework/inc/taskcreatordefs.hxx b/framework/inc/taskcreatordefs.hxx
index 1b63cd28105b..02b85221c801 100644
--- a/framework/inc/taskcreatordefs.hxx
+++ b/framework/inc/taskcreatordefs.hxx
@@ -21,37 +21,38 @@
#define INCLUDED_FRAMEWORK_INC_TASKCREATORDEFS_HXX
/// [XFrame] if it's set, it will be used as parent frame for the new created frame.
-const char ARGUMENT_PARENTFRAME[] = "ParentFrame"; // XFrame
+const OUStringLiteral ARGUMENT_PARENTFRAME = u"ParentFrame"; // XFrame
/** [OUString] if it's not a special name (beginning with "_" ... which are not allowed here!)
it will be set as the API name of the new created frame.
*/
-const char ARGUMENT_FRAMENAME[] = "FrameName"; // OUString
+const OUStringLiteral ARGUMENT_FRAMENAME = u"FrameName"; // OUString
/// [sal_Bool] If it's set to sal_True we will make the new created frame visible.
-const char ARGUMENT_MAKEVISIBLE[] = "MakeVisible"; // sal_Bool
+const OUStringLiteral ARGUMENT_MAKEVISIBLE = u"MakeVisible"; // sal_Bool
/** [sal_Bool] If not "ContainerWindow" property is set it force creation of a
top level window as new container window.
*/
-const char ARGUMENT_CREATETOPWINDOW[] = "CreateTopWindow"; // sal_Bool
+const OUStringLiteral ARGUMENT_CREATETOPWINDOW = u"CreateTopWindow"; // sal_Bool
/// [Rectangle] Place the new created frame on this place and resize the container window.
-const char ARGUMENT_POSSIZE[] = "PosSize"; // Rectangle
+inline const OUStringLiteral ARGUMENT_POSSIZE = u"PosSize"; // Rectangle
/// [XWindow] an outside created window, used as container window of the new created frame.
-const char ARGUMENT_CONTAINERWINDOW[] = "ContainerWindow"; // XWindow
+inline const OUStringLiteral ARGUMENT_CONTAINERWINDOW = u"ContainerWindow"; // XWindow
/** [sal_Bool] enable/disable special mode, where this frame will be part of
the persistent window state feature suitable for any office module window
*/
-const char ARGUMENT_SUPPORTPERSISTENTWINDOWSTATE[] = "SupportPersistentWindowState"; // sal_Bool
+const OUStringLiteral ARGUMENT_SUPPORTPERSISTENTWINDOWSTATE
+ = u"SupportPersistentWindowState"; // sal_Bool
/** [sal_Bool] enable/disable special mode, where the title bar of our
the new created frame will be updated automatically.
Default = ON !
*/
-const char ARGUMENT_ENABLE_TITLEBARUPDATE[] = "EnableTitleBarUpdate"; // sal_Bool
+inline const OUStringLiteral ARGUMENT_ENABLE_TITLEBARUPDATE = u"EnableTitleBarUpdate"; // sal_Bool
#endif // INCLUDED_FRAMEWORK_INC_TASKCREATORDEFS_HXX
diff --git a/framework/qa/cppunit/loadenv.cxx b/framework/qa/cppunit/loadenv.cxx
index 96d28cd47396..5ce6826060d0 100644
--- a/framework/qa/cppunit/loadenv.cxx
+++ b/framework/qa/cppunit/loadenv.cxx
@@ -35,7 +35,7 @@ void Test::setUp()
mxDesktop.set(frame::Desktop::create(mxComponentContext));
}
-char const DATA_DIRECTORY[] = "/framework/qa/cppunit/data/";
+OUStringLiteral const DATA_DIRECTORY = u"/framework/qa/cppunit/data/";
class DocumentOpener
{
diff --git a/framework/source/accelerators/acceleratorconfiguration.cxx b/framework/source/accelerators/acceleratorconfiguration.cxx
index d2df6e582c8f..e813213a92a0 100644
--- a/framework/source/accelerators/acceleratorconfiguration.cxx
+++ b/framework/source/accelerators/acceleratorconfiguration.cxx
@@ -57,8 +57,8 @@
namespace framework
{
- const char CFG_ENTRY_SECONDARY[] = "SecondaryKeys";
- const char CFG_PROP_COMMAND[] = "Command";
+ const OUStringLiteral CFG_ENTRY_SECONDARY = u"SecondaryKeys";
+ const OUStringLiteral CFG_PROP_COMMAND = u"Command";
static OUString lcl_getKeyString(const css::awt::KeyEvent& aKeyEvent)
{
diff --git a/framework/source/fwe/xml/menudocumenthandler.cxx b/framework/source/fwe/xml/menudocumenthandler.cxx
index 4b5a7ff06f10..ad55be6dd213 100644
--- a/framework/source/fwe/xml/menudocumenthandler.cxx
+++ b/framework/source/fwe/xml/menudocumenthandler.cxx
@@ -72,12 +72,12 @@
#define ATTRIBUTE_ITEMSTYLE_RADIO "radio"
// Property names of a menu/menu item ItemDescriptor
-const char ITEM_DESCRIPTOR_COMMANDURL[] = "CommandURL";
-const char ITEM_DESCRIPTOR_HELPURL[] = "HelpURL";
-const char ITEM_DESCRIPTOR_CONTAINER[] = "ItemDescriptorContainer";
-const char ITEM_DESCRIPTOR_LABEL[] = "Label";
-const char ITEM_DESCRIPTOR_TYPE[] = "Type";
-const char ITEM_DESCRIPTOR_STYLE[] = "Style";
+const OUStringLiteral ITEM_DESCRIPTOR_COMMANDURL = u"CommandURL";
+const OUStringLiteral ITEM_DESCRIPTOR_HELPURL = u"HelpURL";
+const OUStringLiteral ITEM_DESCRIPTOR_CONTAINER = u"ItemDescriptorContainer";
+const OUStringLiteral ITEM_DESCRIPTOR_LABEL = u"Label";
+const OUStringLiteral ITEM_DESCRIPTOR_TYPE = u"Type";
+const OUStringLiteral ITEM_DESCRIPTOR_STYLE = u"Style";
// using namespaces
diff --git a/framework/source/fwe/xml/toolboxdocumenthandler.cxx b/framework/source/fwe/xml/toolboxdocumenthandler.cxx
index 5ed0ee665405..a829e03ad20d 100644
--- a/framework/source/fwe/xml/toolboxdocumenthandler.cxx
+++ b/framework/source/fwe/xml/toolboxdocumenthandler.cxx
@@ -48,11 +48,11 @@ namespace framework
{
// Property names of a menu/menu item ItemDescriptor
-const char ITEM_DESCRIPTOR_COMMANDURL[] = "CommandURL";
-const char ITEM_DESCRIPTOR_LABEL[] = "Label";
-const char ITEM_DESCRIPTOR_TYPE[] = "Type";
-const char ITEM_DESCRIPTOR_STYLE[] = "Style";
-const char ITEM_DESCRIPTOR_VISIBLE[] = "IsVisible";
+const OUStringLiteral ITEM_DESCRIPTOR_COMMANDURL = u"CommandURL";
+const OUStringLiteral ITEM_DESCRIPTOR_LABEL = u"Label";
+const OUStringLiteral ITEM_DESCRIPTOR_TYPE = u"Type";
+const OUStringLiteral ITEM_DESCRIPTOR_STYLE = u"Style";
+const OUStringLiteral ITEM_DESCRIPTOR_VISIBLE = u"IsVisible";
static void ExtractToolbarParameters( const Sequence< PropertyValue >& rProp,
OUString& rCommandURL,
diff --git a/framework/source/fwi/uielement/constitemcontainer.cxx b/framework/source/fwi/uielement/constitemcontainer.cxx
index d0a621babcd5..212f0a80e24b 100644
--- a/framework/source/fwi/uielement/constitemcontainer.cxx
+++ b/framework/source/fwi/uielement/constitemcontainer.cxx
@@ -33,7 +33,7 @@ using namespace com::sun::star::beans;
using namespace com::sun::star::container;
const int PROPHANDLE_UINAME = 1;
-const char PROPNAME_UINAME[] = "UIName";
+const OUStringLiteral PROPNAME_UINAME = u"UIName";
namespace framework
{
diff --git a/framework/source/fwi/uielement/itemcontainer.cxx b/framework/source/fwi/uielement/itemcontainer.cxx
index 79e5104e933f..55f6ccecfd50 100644
--- a/framework/source/fwi/uielement/itemcontainer.cxx
+++ b/framework/source/fwi/uielement/itemcontainer.cxx
@@ -30,7 +30,8 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::beans;
using namespace com::sun::star::container;
-const char WRONG_TYPE_EXCEPTION[] = "Type must be css::uno::Sequence< css::beans::PropertyValue >";
+const OUStringLiteral WRONG_TYPE_EXCEPTION
+ = u"Type must be css::uno::Sequence< css::beans::PropertyValue >";
namespace framework
{
diff --git a/framework/source/fwi/uielement/rootitemcontainer.cxx b/framework/source/fwi/uielement/rootitemcontainer.cxx
index edf695135d1d..0016789d2da6 100644
--- a/framework/source/fwi/uielement/rootitemcontainer.cxx
+++ b/framework/source/fwi/uielement/rootitemcontainer.cxx
@@ -33,10 +33,11 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::beans;
using namespace com::sun::star::container;
-const char WRONG_TYPE_EXCEPTION[] = "Type must be css::uno::Sequence< css::beans::PropertyValue >";
+const OUStringLiteral WRONG_TYPE_EXCEPTION
+ = u"Type must be css::uno::Sequence< css::beans::PropertyValue >";
const int PROPHANDLE_UINAME = 1;
-const char PROPNAME_UINAME[] = "UIName";
+const OUStringLiteral PROPNAME_UINAME = u"UIName";
namespace framework
{
diff --git a/framework/source/helper/statusindicatorfactory.cxx b/framework/source/helper/statusindicatorfactory.cxx
index f525a1d2c1dd..ce923b2f9e55 100644
--- a/framework/source/helper/statusindicatorfactory.cxx
+++ b/framework/source/helper/statusindicatorfactory.cxx
@@ -48,7 +48,7 @@ struct RescheduleLock: public rtl::Static<osl::Mutex, RescheduleLock> {}; ///< m
}
-const char PROGRESS_RESOURCE[] = "private:resource/progressbar/progressbar";
+const OUStringLiteral PROGRESS_RESOURCE = u"private:resource/progressbar/progressbar";
StatusIndicatorFactory::StatusIndicatorFactory(const css::uno::Reference< css::uno::XComponentContext >& xContext)
: m_xContext (xContext )
diff --git a/framework/source/helper/uiconfigelementwrapperbase.cxx b/framework/source/helper/uiconfigelementwrapperbase.cxx
index b0138d04a77c..f27c51186f30 100644
--- a/framework/source/helper/uiconfigelementwrapperbase.cxx
+++ b/framework/source/helper/uiconfigelementwrapperbase.cxx
@@ -37,14 +37,14 @@ const int UIELEMENT_PROPHANDLE_TYPE = 5;
const int UIELEMENT_PROPHANDLE_XMENUBAR = 6;
const int UIELEMENT_PROPHANDLE_CONFIGLISTENER = 7;
const int UIELEMENT_PROPHANDLE_NOCLOSE = 8;
-const char UIELEMENT_PROPNAME_CONFIGLISTENER[] = "ConfigListener";
-const char UIELEMENT_PROPNAME_CONFIGSOURCE[] = "ConfigurationSource";
-const char UIELEMENT_PROPNAME_FRAME[] = "Frame";
-const char UIELEMENT_PROPNAME_PERSISTENT[] = "Persistent";
-const char UIELEMENT_PROPNAME_RESOURCEURL[] = "ResourceURL";
-const char UIELEMENT_PROPNAME_TYPE[] = "Type";
-const char UIELEMENT_PROPNAME_XMENUBAR[] = "XMenuBar";
-const char UIELEMENT_PROPNAME_NOCLOSE[] = "NoClose";
+const OUStringLiteral UIELEMENT_PROPNAME_CONFIGLISTENER = u"ConfigListener";
+const OUStringLiteral UIELEMENT_PROPNAME_CONFIGSOURCE = u"ConfigurationSource";
+const OUStringLiteral UIELEMENT_PROPNAME_FRAME = u"Frame";
+const OUStringLiteral UIELEMENT_PROPNAME_PERSISTENT = u"Persistent";
+const OUStringLiteral UIELEMENT_PROPNAME_RESOURCEURL = u"ResourceURL";
+const OUStringLiteral UIELEMENT_PROPNAME_TYPE = u"Type";
+const OUStringLiteral UIELEMENT_PROPNAME_XMENUBAR = u"XMenuBar";
+const OUStringLiteral UIELEMENT_PROPNAME_NOCLOSE = u"NoClose";
using namespace com::sun::star::beans;
using namespace com::sun::star::uno;
using namespace com::sun::star::frame;
diff --git a/framework/source/helper/uielementwrapperbase.cxx b/framework/source/helper/uielementwrapperbase.cxx
index 76cf234ff94f..06db2788beac 100644
--- a/framework/source/helper/uielementwrapperbase.cxx
+++ b/framework/source/helper/uielementwrapperbase.cxx
@@ -28,9 +28,9 @@
const int UIELEMENT_PROPHANDLE_RESOURCEURL = 1;
const int UIELEMENT_PROPHANDLE_TYPE = 2;
const int UIELEMENT_PROPHANDLE_FRAME = 3;
-const char UIELEMENT_PROPNAME_RESOURCEURL[] = "ResourceURL";
-const char UIELEMENT_PROPNAME_TYPE[] = "Type";
-const char UIELEMENT_PROPNAME_FRAME[] = "Frame";
+const OUStringLiteral UIELEMENT_PROPNAME_RESOURCEURL = u"ResourceURL";
+const OUStringLiteral UIELEMENT_PROPNAME_TYPE = u"Type";
+const OUStringLiteral UIELEMENT_PROPNAME_FRAME = u"Frame";
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::beans;
diff --git a/framework/source/inc/accelerators/acceleratorconfiguration.hxx b/framework/source/inc/accelerators/acceleratorconfiguration.hxx
index 8066a63ff760..6f9daa38b14b 100644
--- a/framework/source/inc/accelerators/acceleratorconfiguration.hxx
+++ b/framework/source/inc/accelerators/acceleratorconfiguration.hxx
@@ -40,9 +40,9 @@
namespace framework
{
-const char CFG_ENTRY_PRIMARY[] = "PrimaryKeys";
-const char CFG_ENTRY_GLOBAL[] = "Global";
-const char CFG_ENTRY_MODULES[] = "Modules";
+inline const OUStringLiteral CFG_ENTRY_PRIMARY = u"PrimaryKeys";
+inline const OUStringLiteral CFG_ENTRY_GLOBAL = u"Global";
+inline const OUStringLiteral CFG_ENTRY_MODULES = u"Modules";
/**
implements a read/write access to the accelerator configuration.
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index 67a40b89738c..6090cb0f9646 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -76,7 +76,7 @@ using namespace ::com::sun::star::container;
using namespace ::com::sun::star::ui;
using namespace ::com::sun::star::frame;
-const char STATUS_BAR_ALIAS[] = "private:resource/statusbar/statusbar";
+const OUStringLiteral STATUS_BAR_ALIAS = u"private:resource/statusbar/statusbar";
namespace framework
{
diff --git a/framework/source/loadenv/loadenv.cxx b/framework/source/loadenv/loadenv.cxx
index 59687abbeefb..c24e65959cfb 100644
--- a/framework/source/loadenv/loadenv.cxx
+++ b/framework/source/loadenv/loadenv.cxx
@@ -91,8 +91,8 @@
#include <classes/taskcreator.hxx>
#include <tools/fileutil.hxx>
-const char PROP_TYPES[] = "Types";
-const char PROP_NAME[] = "Name";
+const OUStringLiteral PROP_TYPES = u"Types";
+const OUStringLiteral PROP_NAME = u"Name";
namespace framework {
diff --git a/framework/source/services/autorecovery.cxx b/framework/source/services/autorecovery.cxx
index c7cdabb4e365..10b8574d6155 100644
--- a/framework/source/services/autorecovery.cxx
+++ b/framework/source/services/autorecovery.cxx
@@ -995,30 +995,30 @@ private:
};
// recovery.xcu
-const char CFG_PACKAGE_RECOVERY[] = "org.openoffice.Office.Recovery/";
+const OUStringLiteral CFG_PACKAGE_RECOVERY = u"org.openoffice.Office.Recovery/";
const char CFG_ENTRY_AUTOSAVE_ENABLED[] = "AutoSave/Enabled";
const char CFG_ENTRY_AUTOSAVE_TIMEINTERVALL[] = "AutoSave/TimeIntervall"; //sic!
-const char CFG_ENTRY_REALDEFAULTFILTER[] = "ooSetupFactoryActualFilter";
+const OUStringLiteral CFG_ENTRY_REALDEFAULTFILTER = u"ooSetupFactoryActualFilter";
-const char CFG_ENTRY_PROP_TEMPURL[] = "TempURL";
-const char CFG_ENTRY_PROP_ORIGINALURL[] = "OriginalURL";
-const char CFG_ENTRY_PROP_TEMPLATEURL[] = "TemplateURL";
-const char CFG_ENTRY_PROP_FACTORYURL[] = "FactoryURL";
-const char CFG_ENTRY_PROP_MODULE[] = "Module";
-const char CFG_ENTRY_PROP_DOCUMENTSTATE[] = "DocumentState";
-const char CFG_ENTRY_PROP_FILTER[] = "Filter";
-const char CFG_ENTRY_PROP_TITLE[] = "Title";
-const char CFG_ENTRY_PROP_ID[] = "ID";
-const char CFG_ENTRY_PROP_VIEWNAMES[] = "ViewNames";
+const OUStringLiteral CFG_ENTRY_PROP_TEMPURL = u"TempURL";
+const OUStringLiteral CFG_ENTRY_PROP_ORIGINALURL = u"OriginalURL";
+const OUStringLiteral CFG_ENTRY_PROP_TEMPLATEURL = u"TemplateURL";
+const OUStringLiteral CFG_ENTRY_PROP_FACTORYURL = u"FactoryURL";
+const OUStringLiteral CFG_ENTRY_PROP_MODULE = u"Module";
+const OUStringLiteral CFG_ENTRY_PROP_DOCUMENTSTATE = u"DocumentState";
+const OUStringLiteral CFG_ENTRY_PROP_FILTER = u"Filter";
+const OUStringLiteral CFG_ENTRY_PROP_TITLE = u"Title";
+const OUStringLiteral CFG_ENTRY_PROP_ID = u"ID";
+const OUStringLiteral CFG_ENTRY_PROP_VIEWNAMES = u"ViewNames";
-const char FILTER_PROP_TYPE[] = "Type";
-const char TYPE_PROP_EXTENSIONS[] = "Extensions";
+const OUStringLiteral FILTER_PROP_TYPE = u"Type";
+const OUStringLiteral TYPE_PROP_EXTENSIONS = u"Extensions";
// setup.xcu
-const char CFG_ENTRY_PROP_EMPTYDOCUMENTURL[] = "ooSetupFactoryEmptyDocumentURL";
-const char CFG_ENTRY_PROP_FACTORYSERVICE[] = "ooSetupFactoryDocumentService";
+const OUStringLiteral CFG_ENTRY_PROP_EMPTYDOCUMENTURL = u"ooSetupFactoryEmptyDocumentURL";
+const OUStringLiteral CFG_ENTRY_PROP_FACTORYSERVICE = u"ooSetupFactoryDocumentService";
const char EVENT_ON_NEW[] = "OnNew";
const char EVENT_ON_LOAD[] = "OnLoad";
@@ -1034,7 +1034,7 @@ const char EVENT_ON_SAVEFAILED[] = "OnSaveFailed";
const char EVENT_ON_SAVEASFAILED[] = "OnSaveAsFailed";
const char EVENT_ON_SAVETOFAILED[] = "OnCopyToFailed";
-const char RECOVERY_ITEM_BASE_IDENTIFIER[] = "recovery_item_";
+const OUStringLiteral RECOVERY_ITEM_BASE_IDENTIFIER = u"recovery_item_";
const char CMD_PROTOCOL[] = "vnd.sun.star.autorecovery:";
@@ -1050,17 +1050,17 @@ const char CMD_DO_SESSION_RESTORE[] = "/doSessionRestore"; // restore a saved
const char CMD_DO_DISABLE_RECOVERY[] = "/disableRecovery"; // disable recovery and auto save (!) temp. for this office session
const char CMD_DO_SET_AUTOSAVE_STATE[] = "/setAutoSaveState"; // disable/enable auto save (not crash save) for this office session
-const char REFERRER_USER[] = "private:user";
+const OUStringLiteral REFERRER_USER = u"private:user";
-const char PROP_DISPATCH_ASYNCHRON[] = "DispatchAsynchron";
-const char PROP_PROGRESS[] = "StatusIndicator";
-const char PROP_SAVEPATH[] = "SavePath";
-const char PROP_ENTRY_ID[] = "EntryID";
-const char PROP_AUTOSAVE_STATE[] = "AutoSaveState";
+const OUStringLiteral PROP_DISPATCH_ASYNCHRON = u"DispatchAsynchron";
+const OUStringLiteral PROP_PROGRESS = u"StatusIndicator";
+const OUStringLiteral PROP_SAVEPATH = u"SavePath";
+const OUStringLiteral PROP_ENTRY_ID = u"EntryID";
+const OUStringLiteral PROP_AUTOSAVE_STATE = u"AutoSaveState";
-const char OPERATION_START[] = "start";
-const char OPERATION_STOP[] = "stop";
-const char OPERATION_UPDATE[] = "update";
+const OUStringLiteral OPERATION_START = u"start";
+const OUStringLiteral OPERATION_STOP = u"stop";
+const OUStringLiteral OPERATION_UPDATE = u"update";
const sal_Int32 MIN_DISCSPACE_DOCSAVE = 5; // [MB]
const sal_Int32 MIN_DISCSPACE_CONFIGSAVE = 1; // [MB]
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx b/framework/source/uiconfiguration/imagemanagerimpl.cxx
index 681ce8a4a7ba..6206aa3864f5 100644
--- a/framework/source/uiconfiguration/imagemanagerimpl.cxx
+++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx
@@ -64,8 +64,8 @@ using namespace ::cppu;
const sal_Int16 MAX_IMAGETYPE_VALUE = css::ui::ImageType::SIZE_32;
-const char IMAGE_FOLDER[] = "images";
-const char BITMAPS_FOLDER[] = "Bitmaps";
+const OUStringLiteral IMAGE_FOLDER = u"images";
+const OUStringLiteral BITMAPS_FOLDER = u"Bitmaps";
const o3tl::enumarray<vcl::ImageType, const char*> IMAGELIST_XML_FILE =
{
diff --git a/framework/source/uielement/recentfilesmenucontroller.cxx b/framework/source/uielement/recentfilesmenucontroller.cxx
index 3d79087be85d..e0fd3d07f4d2 100644
--- a/framework/source/uielement/recentfilesmenucontroller.cxx
+++ b/framework/source/uielement/recentfilesmenucontroller.cxx
@@ -40,9 +40,9 @@ using namespace com::sun::star::util;
namespace {
-const char CMD_CLEAR_LIST[] = ".uno:ClearRecentFileList";
-const char CMD_OPEN_AS_TEMPLATE[] = ".uno:OpenTemplate";
-const char CMD_OPEN_REMOTE[] = ".uno:OpenRemote";
+const OUStringLiteral CMD_CLEAR_LIST = u".uno:ClearRecentFileList";
+const OUStringLiteral CMD_OPEN_AS_TEMPLATE = u".uno:OpenTemplate";
+const OUStringLiteral CMD_OPEN_REMOTE = u".uno:OpenRemote";
class RecentFilesMenuController : public svt::PopupMenuControllerBase
{
diff --git a/framework/source/uielement/toolbarsmenucontroller.cxx b/framework/source/uielement/toolbarsmenucontroller.cxx
index 7cce1b37d29c..0689cd39aff2 100644
--- a/framework/source/uielement/toolbarsmenucontroller.cxx
+++ b/framework/source/uielement/toolbarsmenucontroller.cxx
@@ -68,9 +68,9 @@ using namespace ::com::sun::star::util;
using namespace ::com::sun::star::container;
using namespace ::com::sun::star::ui;
-const char CMD_RESTOREVISIBILITY[] = ".cmd:RestoreVisibility";
+const OUStringLiteral CMD_RESTOREVISIBILITY = u".cmd:RestoreVisibility";
-const char STATIC_CMD_PART[] = ".uno:AvailableToolbars?Toolbar:string=";
+const OUStringLiteral STATIC_CMD_PART = u".uno:AvailableToolbars?Toolbar:string=";
const char STATIC_INTERNAL_CMD_PART[] = ".cmd:";
namespace framework
diff --git a/framework/source/uielement/uicommanddescription.cxx b/framework/source/uielement/uicommanddescription.cxx
index 28c606ea96a4..23ef0b8654f4 100644
--- a/framework/source/uielement/uicommanddescription.cxx
+++ b/framework/source/uielement/uicommanddescription.cxx
@@ -50,7 +50,7 @@ using namespace ::com::sun::star::frame;
const char CONFIGURATION_ROOT_ACCESS[] = "/org.openoffice.Office.UI.";
// Special resource URLs to retrieve additional information
-const char PRIVATE_RESOURCE_URL[] = "private:";
+const OUStringLiteral PRIVATE_RESOURCE_URL = u"private:";
const sal_Int32 COMMAND_PROPERTY_IMAGE = 1;
const sal_Int32 COMMAND_PROPERTY_ROTATE = 2;
diff --git a/i18npool/source/collator/chaptercollator.cxx b/i18npool/source/collator/chaptercollator.cxx
index fb4128a6c7c3..153f5ff3d38d 100644
--- a/i18npool/source/collator/chaptercollator.cxx
+++ b/i18npool/source/collator/chaptercollator.cxx
@@ -72,7 +72,7 @@ ChapterCollator::compareSubstring( const OUString& str1, sal_Int32 off1, sal_Int
return res1.Value == res2.Value ? 0 : res1.Value > res2.Value ? 1 : -1;
}
-const char cChapCollator[] = "com.sun.star.i18n.ChapterCollator";
+const OUStringLiteral cChapCollator = u"com.sun.star.i18n.ChapterCollator";
OUString SAL_CALL
ChapterCollator::getImplementationName()
diff --git a/i18npool/source/collator/collator_unicode.cxx b/i18npool/source/collator/collator_unicode.cxx
index dd273e687f21..f3ba3c062050 100644
--- a/i18npool/source/collator/collator_unicode.cxx
+++ b/i18npool/source/collator/collator_unicode.cxx
@@ -38,7 +38,7 @@ using namespace ::com::sun::star::uno;
namespace i18npool {
-const char implementationName[] = "com.sun.star.i18n.Collator_Unicode";
+const OUStringLiteral implementationName = u"com.sun.star.i18n.Collator_Unicode";
Collator_Unicode::Collator_Unicode()
{
diff --git a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
index d352aec6f9de..fd98a6bc32e3 100644
--- a/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
+++ b/i18npool/source/defaultnumberingprovider/defaultnumberingprovider.cxx
@@ -419,7 +419,7 @@ static
void lcl_formatPersianWord( sal_Int32 nNumber, OUString& rsResult )
{
OUStringBuffer aTemp(64);
- static const sal_Unicode asPersianWord_conjunction_data[] = u" \u0648 ";
+ static const OUStringLiteral asPersianWord_conjunction_data = u" \u0648 ";
OUString asPersianWord_conjunction( asPersianWord_conjunction_data );
unsigned char nSection = 0;
diff --git a/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx b/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
index 214893a901d4..b4a9f3e0cda6 100644
--- a/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
+++ b/i18npool/source/indexentry/indexentrysupplier_ja_phonetic.cxx
@@ -63,7 +63,7 @@ sal_Int16 SAL_CALL IndexEntrySupplier_ja_phonetic::compareIndexEntry(
return result;
}
-const char first[] = "phonetic (alphanumeric first)";
+const OUStringLiteral first = u"phonetic (alphanumeric first)";
sal_Bool SAL_CALL IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_syllable::loadAlgorithm(
const css::lang::Locale& rLocale, const OUString& /*SortAlgorithm*/,
sal_Int32 collatorOptions )
@@ -77,7 +77,7 @@ sal_Bool SAL_CALL IndexEntrySupplier_ja_phonetic_alphanumeric_first_by_consonant
return collator->loadCollatorAlgorithm(first, rLocale, collatorOptions) == 0;
}
-const char last[] = "phonetic (alphanumeric last)";
+const OUStringLiteral last = u"phonetic (alphanumeric last)";
sal_Bool SAL_CALL IndexEntrySupplier_ja_phonetic_alphanumeric_last_by_syllable::loadAlgorithm(
const css::lang::Locale& rLocale, const OUString& /*SortAlgorithm*/,
sal_Int32 collatorOptions )
diff --git a/i18npool/source/nativenumber/nativenumbersupplier.cxx b/i18npool/source/nativenumber/nativenumbersupplier.cxx
index dbd3f77b7b4c..a745396782df 100644
--- a/i18npool/source/nativenumber/nativenumbersupplier.cxx
+++ b/i18npool/source/nativenumber/nativenumbersupplier.cxx
@@ -1220,7 +1220,7 @@ OUString getCyrillicNativeNumberString(const OUString& aNumberString)
return aNumberString;
}
-const char implementationName[] = "com.sun.star.i18n.NativeNumberSupplier";
+const OUStringLiteral implementationName = u"com.sun.star.i18n.NativeNumberSupplier";
OUString SAL_CALL NativeNumberSupplierService::getImplementationName()
{
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list