summaryrefslogtreecommitdiff
path: root/basic
AgeCommit message (Collapse)Author
2022-05-25elide some OUString allocationNoel Grandin
Change-Id: Ia21421731dadc1d0e65da182471eb2b8d799782b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134918 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-24Use o3tl::make_unsigned in some placesStephan Bergmann
...where a signed and an unsigned value are compared, and the signed value has just been proven to be non-negative here Change-Id: I20600d61a5d59d739bc1bee838c0038e4611aec2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134875 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-24elide some OUString allocationNoel Grandin
Change-Id: Iacbf1da6cdc77466d9f9da399b5cc17f5a87f0ed Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134833 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-24elide OUString allocationNoel Grandin
Change-Id: I92d487b657c7d67a4301a499ba05b4b285cfed3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134837 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-18Extend loplugin:redundantcast to trivial reinterpret_cast from T to itselfStephan Bergmann
Change-Id: I7c0be7b435d6b5f97bdd40484023584146638d70 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134506 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-11in SbUnoObject constructor, only query for XTypeProviderNoel Grandin
if we're going to use the result Change-Id: I49ad11e287f58c1021e509f56d934aa3ce745b0d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134201 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-11in SetGlobalUNOConstant, only retrieve old value if we need itNoel Grandin
removes some unnecessary Find() work Change-Id: I6af9c4d9a043d4361fcca1a034b2025fe7c10c28 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134200 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-10tdf#121740 dont bother checking for VBA librariesNoel Grandin
speeds up loading by 2% Change-Id: I63bf7ea2ab8087d6bb60b655fdf7718532050b89 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134114 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-10move creation of xParser to where it is usedNoel Grandin
Change-Id: I03511a8c7b01b0abb69b276b900bf712549e5873 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134113 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-10fix --disable-scripting buildCaolán McNamara
Change-Id: I41e0da3d379d54ec59f9eba46978cfe7f9e09d33 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134105 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-05-10More usual 1899-12-30 base Date in BasicMike Kaganski
Omissions from commit 8189d815641c583b5506d482f0b4f1ab47924f6a Change-Id: I6b205f7bcc9ff9c30e55b03d39d02b9be15a01c4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134064 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09Unify and simplify SbRtl_Hex and SbRtl_OctMike Kaganski
OUStringNumber::toAsciiUpperCase is cheaper than OUString::toAsciiUpperCase. Let SbRtl_Oct use OUString::number as well. Change-Id: I3a97ec5d3a7b0005fc300310198bae47c62dfbc6 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134061 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macroPragat Pandya
Change-Id: I54257e87da0cd66da59d820c7960c3e4b020fda3 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134027 Reviewed-by: Bartosz Kosiorek <gang65@poczta.onet.pl> Tested-by: Jenkins
2022-05-09Use usual 1899-12-30 base Date in BasicMike Kaganski
It matches VBA, has an optimization in the code, and doesn't need any additional "-2" hackery. Change-Id: I4b90674ae643788eda5ce618b4c42e2cc045ec04 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134060 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-09basic: remove commented out lineXisco Fauli
Introduced in 90d33f5945336fa46b7c02f425100af794768b15 "tdf#148358 - Compare Non-ASCII variable names case-insensitive" Change-Id: I5bccb3f2f54ac61f2fbf960e78e3d4e4a0893f85 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134081 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-05-09sal_Int32 cast to tools::Long to pass to a function taking sal_Int32Mike Kaganski
Change-Id: I81bb794e6a154dd3d022b34ce1348f32c854f52b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/134059 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-05-07tdf#148358 - Compare Non-ASCII variable names case-insensitiveAndreas Heinisch
Change-Id: I761eb27b16c92d58df1be8e6011fc9b94db2a59c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133774 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-05-05use more o3tl::getTokenNoel Grandin
found by inspecting call sites of OUString::getToken Change-Id: I4269c7476c7aa46fac39528227e350568f0eb34a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132644 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-05-05Just use Any ctor instead of makeAny in basicStephan Bergmann
Change-Id: I21d9679064c4e68a1492d3550f083c3c91b5b43b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133848 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-05-01use more string_view in variousNoel Grandin
found by examining uses of OUString::copy() for likely places Change-Id: I6ff20e7b273ad6005410b82719183c1122f8c018 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133617 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-29use more string_view in INetURLObjectNoel Grandin
Change-Id: I4462f7cf4740fa4d1b129d76a0775f4250f41bbd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133555 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-27cid#738565 Uninitialized scalar fieldCaolán McNamara
Change-Id: I17a675d3b7468e528faef89de7ea862de37a57db Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133504 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-04-27add string_view wrappers for rtl::math::stringToDoubleNoel Grandin
Change-Id: I114bec72cb933238675e539a8388a607226827cd Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133455 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-25tdf#75263 - Export VBA-Project using detected charset on importAndreas Heinisch
Change-Id: Ia1f1bb31e077dcb4293c1106ac324a25a975a656 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133064 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-04-21tdf#148651: basic_macros: Add unittestXisco Fauli
Change-Id: Iadbe470de5a33dc633fe8f53083520988e497df0 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133255 Tested-by: Jenkins Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2022-04-21tdf#148651: implement VBA.FormatPercentJulien Nabet
I started from a copy/paste of FormatNumber. Then I deduplicated the code (it saved about 99% of it). Change-Id: Ibcb9ffbf8cebf45d5ffac4713e3d220b8499ba11 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133133 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2022-04-17loplugin:stringviewparam convert methods using copy()Noel Grandin
which converts to std::string_view::substr() Change-Id: I3f42213b41a97e77ddcc79d84d512f49d68ca559 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132729 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-17Test StarBasic's native non-ASCII name syntaxMike Kaganski
Change-Id: Ie9f0cd21e59ffc1e3fbe2616e2ae7abbd0169424 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133103 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-15loplugin:stringviewparamStephan Bergmann
Change-Id: Id3bd8576b134728140dc68b00eebf78a8f3fd4ca Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133056 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-04-13loplugin:stringviewparam whitelist some more functionsNoel Grandin
for which we have o3tl:: equivalents Change-Id: I4670fd8b703ac47214be213f41e88d1c6ede7032 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132913 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-10loplugin:stringview check for getToken and trimNoel Grandin
since we now have o3tl versions of those that work on string_view. Also improve those o3tl functions to support both string_view and u16string_view Change-Id: Iacab2996becec62aa78a5597c52d983bb784749a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132755 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08move comphelper::string::toInt32 to o3tlNoel Grandin
so we can use it in places where we cannot include comphelper Change-Id: Iba0ba3e4c0dcf0f9d1f09092a77c3b2010ec4f6d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132732 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08Fix buildMike Kaganski
... after commit 36e0e88b28e818faf25b8e32cc8c4dc444b8a0be Change-Id: I540d19f7146651035cd5fafe077c0ccdfcee11ee Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132733 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-08use more subView when converting to Int32Noel Grandin
Change-Id: I54e3ddf79ba793fd4328bf8bda7f949b65349651 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132693 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-08loplugin:stringviewparam convert methods using trimNoel Grandin
for which we add a new o3tl::trim method Change-Id: I9d37b6264eea106aa2f3502bd24b8cccf7850938 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132658 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-04-05Move creation of case-insensitive variable name to a central placeMike Kaganski
SbxVariable::NameToCaseInsensitiveName might then be used wherever such names may be needed (see e.g. tdf#148358). Change-Id: I7749a12a05225398848cbf72700c6f0bc119bc22 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132561 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-04Fix --disable-scripting build (WASM)Jan-Marek Glogowski
Simply include the global transliterator in all builds. Regression from commit de81c2545aec06a1b269218b7d00656e97d8b66c ("Related: tdf#144245 Optimize case-insensitive handling"). Change-Id: Ica1c6e5d67c8458f9977f2ff87d9594a43b4cff2 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132517 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
2022-04-04Related: tdf#144245 Optimize case-insensitive handlingMike Kaganski
1. Make BasicCollection::implGetIndexForName take OUString again, after commit f7de7de1189ae4e63f73468076da47b37fe61ede made it take std::u16string_view. All call sites pass OUStrings, and commit ef32c3b4f9b80918d6018e14297fa41245afd381 made it create OUString from the argument. 2. Have SbxVariable cache a case-insensitive variant of the name. It is currently only used in the Collection implementation, but may be used in other places; Tthe names are case-insensitive in Basic, and VBA allows non-ASCII characters in names, so this caching might be useful elsewhere. 3. Skip non-ASCII characters when calculating name hash, to allow non-ASCII-containing strings still have some hash variance, when at least some of the first 6 characters are ASCII. Change-Id: If90ccea2c4b44c34967e6b764b6fab45b2976c40 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132493 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-03tdf#147132 Flatten Basic function implementationsofftkp
Change-Id: I21b0ec23de99aaf9b4398d59a5cc56d7d386ad58 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132444 Tested-by: Jenkins Reviewed-by: Arkadiy Illarionov <qarkai@gmail.com> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-04-02loplugin:stringviewparam convert methods using indexOfNoel Grandin
.. and lastIndexOf, which convert to find and rfind Change-Id: I6c4156cf904774c0d867f85a4c2785dba7593f62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132445 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-31Basic Collection class unit testAlain Romedenne
Change-Id: I7b67727ab8c3f7f67c2038500434ab44fa7d1949 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/128544 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-03-31Adapt test to even slower buildsStephan Bergmann
...like my local ASan+UBSan build, which now happened to fail once with > Failed: TestReplacePerformance (t = 60 s) > Tests passed: 0 > Tests failed: 1 when the machine was under load during a parallelizing `make check`, following up on 3564b5c6e93b2bf5881b359015efae351dbe8342 "Adapt test to slow builds" Change-Id: I8f0c8f7e6e145b6d5009f48d2af865ea5caab375 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132335 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-30tdf#114263 tdf#147262 CallByName() function LibO Basic test unitAlain Romedenne
Change-Id: Ia9bd38c0da4d3f94b824ebb1f98ac912758e8d38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129610 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-03-28-Werror,-Wunused-but-set-variableStephan Bergmann
...since 8e73111faeb9620117801fee89a838a407f0b7e5 "CWS-TOOLING: integrate CWS ab72" Change-Id: Ib2fdccc36090d366ca2288b31bd1948832366c95 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132210 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2022-03-22Move BSTR wrapper to systools, and fix some wrong BSTR usesMike Kaganski
BSTR is documented [1] to be prefixed by a 32-bit integer specifying its length *in bytes* (not characters), so passing wchar_t* as BSTR is wrong, and the length member of rtl_uString can't substitute the proper BSTR length, since rtl_uString::length specifies length in characters. Any code taking BSTR and using SysStringLen to get its length would only get half of the passed OUString data. In dbaccess/source/ui/dlg/adodatalinks.cxx, the abovementioned error was implemented. OTOH, OLEVariant::getByteSequence() in connectivity/source/drivers/ado/Aolevariant.cxx passed BSTR from tagVARIANT to ctor of OLEString, which resulted in the BSTR being freed in both dtors of OLEString and OLEVariant (the latter calls VariantClear, which itself clears string when vtfield is VT_BSTR). [1] https://docs.microsoft.com/en-us/previous-versions/windows/desktop/automat/bstr Change-Id: Iedbd62b20133644258af3660616add7b63cac258 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131950 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
2022-03-14new loplugin:trivialconstructorNoel Grandin
Change-Id: Iaaf63c49ce94987ab9c4ebc68e963cc3054a3c34 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131342 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-11new loplugin:trivialdestructorNoel Grandin
look for potentially trivial destructors that can then be elided Change-Id: I435c251bd4291b5864c20d68f88676faac7c43fb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131318 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2022-03-07tdf#42982: improve UNO API error reportingDeep17
Change-Id: I82adf31db09d2157ee8f1c776f33e8a0107c3b51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/131090 Tested-by: Jenkins Reviewed-by: Ilmari Lauhakangas <ilmari.lauhakangas@libreoffice.org>
2022-03-02Change the comment of the test cases to clarify the textual representation ↵Andreas Heinisch
of the calculated string Change-Id: I98478297a577f723864b37514bbd432a6224350d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/129844 Tested-by: Jenkins Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2022-02-28cid#707501 Uninitialized scalar variableCaolán McNamara
Change-Id: I89f08a858b7a820fce1dd3bc2b914c3e5eb3d656 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130703 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>