Commit Graph

982 Commits

Author SHA1 Message Date
a2b77b4368 loplugin:singlevalfields in basic..idl
Also fix obvious bug in the initialisation of the
connectivity::odbc::OConnection::m_bClosed field.
Probably closes some kind of connection leak there.

Change-Id: I04579cf91bcd6d6c51c697d83971da4142743a82
Reviewed-on: https://gerrit.libreoffice.org/28932
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-09-16 08:30:26 +00:00
b647996a9b replace sal_Size with std::size_t (or sal_uInt64 for SvStream pos)
... except in include/rtl, include/sal, include/uno, where sal_Size is
retained for compatibility, and where callers of rtl functions pass in
pointers that are incompatible on MSVC.

Change-Id: I8344453780689f5120ba0870e44965b6d292450c
2016-09-15 12:01:11 +02:00
91dd2db17b loplugin:override: No more need for the "MSVC dtor override" workaround
The issue of 362d4f0cd4e50111edfae9d30c90602c37ed65a2 "Explicitly mark
overriding destructors as 'virtual'" appears to no longer be a problem with
MSVC 2013.

(The little change in the rewriting code of compilerplugins/clang/override.cxx
was necessary to prevent an endless loop when adding "override" to

  OOO_DLLPUBLIC_CHARTTOOLS    virtual ~CloseableLifeTimeManager();

in chart2/source/inc/LifeTime.hxx, getting stuck in the leading
OOO_DLLPUBLIC_CHARTTOOLS macro.  Can't remember what that
isAtEndOfImmediateMacroExpansion thing was originally necessary for, anyway.)

Change-Id: I534c634504d7216b9bb632c2775c04eaf27e927e
2016-09-13 13:19:22 +02:00
f352ee156c boost::intrusive_ptr->tools::SvRef
Change-Id: I4c913dc62efe3f3747e78670f4efb0216d95c4ad
Reviewed-on: https://gerrit.libreoffice.org/28585
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-09-02 08:09:19 +00:00
057ae1cfca tdf#96505 get rid of "long" integer literals 'L'
Remove L from integer literals in module basic all 0L, 1L, 2L and 3L

Change-Id: Ia46ce3d206020e16fc17e95731244a557941528c
Reviewed-on: https://gerrit.libreoffice.org/27816
Reviewed-by: Tor Lillqvist <tml@collabora.com>
Tested-by: Tor Lillqvist <tml@collabora.com>
2016-08-24 12:19:57 +00:00
4a647a04a7 Resolves: tdf#88953 byref args incorrectly passed in basic->c++
partial revert

of

commit 22b094f5d8e1e82375b135abd3a6f99a9a555244
Date:   Tue Jul 14 14:50:07 2015 +0200

    loplugin:unusedmethods basic

and partial revert of...

commit e2080e70fe8b085f18e868e46340454720fa94ca
Date:   Wed Jun 18 12:14:29 2014 +0200

    new compilerplugin returnbyref

and revert of...

commit 536051f8862203e0e115a5394a6379acd83cc8fe
Date:   Wed Jul 15 14:04:01 2015 +0200

    fix Windows build

    after commit 22b094f5d8e1e82375b135abd3a6f99a9a555244
    "loplugin:unusedmethods basic"

Change-Id: I612937334fdb75365080c98a9d4da5ed7ae647e3
2016-08-19 16:55:56 +01:00
8f30da6386 Some clang-tidy misc-move-constructor-init
...by turning the relevant ctor parameters into "const &".

Change-Id: Ia8d0aba5da10ad6b25f8689e2281e45b3d71c1fc
2016-08-19 16:55:06 +02:00
cb3a00514a BASIC: Use more often std::unique_ptr
Change-Id: I37f3b35afcf3b4dba30a6ba841a59e0d851f1ebb
Reviewed-on: https://gerrit.libreoffice.org/27930
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-13 11:47:50 +00:00
c85a3ac70d tdf#100726: Improve readability of OUString concatenation
all most all of the places in the basic basctl modules this bug fixed

Change-Id: I1a4a03e207c1b520449c31a05265585120da07f6
Reviewed-on: https://gerrit.libreoffice.org/27662
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-04 05:53:34 +00:00
e5e7475feb loplugin:countusersofdefaultparams in basctl..basic
Change-Id: I16fac3317ebf55581cb9aaef676a9759de51d695
Reviewed-on: https://gerrit.libreoffice.org/27793
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-08-04 05:46:22 +00:00
508c95f1b6 improve passstuffbyref return analysis
Change-Id: I4258bcc97273d8bb7a8c4879fac02a427f76e18c
Reviewed-on: https://gerrit.libreoffice.org/27317
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-27 06:48:25 +00:00
a860df25dd masses of MessBoxes not being disposed promptly
since...

commit ba81e5c6bd420b41a84ade6ccd774011a8089f7f
Date:   Thu May 28 21:35:43 2015 +0100

    tdf#91702 - fix stack-based MessBox allocation.

There is no special ScopedVclPtr<X>::Create or
ScopedVclPtrInstance<X>::Create just
VclPtr<X>::Create and a raw VclPtr<X>::Create()->foo
doesn't call dispose on the owned X

Change-Id: Ifacc8d5e742820701307c3c37b9b86487667d84f
2016-07-26 11:26:52 +01:00
ee2ad513de BASIC: Remove useless overrides
Change-Id: I49eb680bb0945a65a98978e98750fd62669fd820
Reviewed-on: https://gerrit.libreoffice.org/27255
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-07-18 07:03:43 +00:00
6d4f2dcc7c Resolves: tdf#100452 class Date full (BCE,CE) proleptic Gregorian calendar
... implementing signed years with year 0 gap.
Date(31,12,-1) last day BCE
Date(1,1,1) first day CE

New class Date member functions:
* AddYears(sal_Int16) to be used instead of
  aDate.SetYear(aDate.GetYear()+sal_Int16) to handle year 0 gap.
* convenience GetNextYear() to be used insted of GetYear()+1
* convenience GetPrevYear() to be used insted of GetYear()-1
* AddMonths(sal_Int32)
* operator=(const css::util::Date&)

New class DateTime member functions:
* operator=(const css::util::DateTime&)

Made some conversion ctors explicit, specifically Date(sal_Int32)

Adapted hopefully all places that used a sal_uInt16 year to use
sal_Int16 where appropriate.

Eliminated some quirks in date handling found on the fly.

Added era handling to i18npool icu calendar setting interface, which
missing was responsible for 0001-01-01 entered in Calc being set as
-0001-01-01, hence subtracting one day resulted in -0002-12-31.

Change-Id: I77b39fba9599ebd5067d7864f6c9ebe01f6f578f
Reviewed-on: https://gerrit.libreoffice.org/27049
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
2016-07-08 20:41:02 +00:00
7fdbdc5367 loplugin:redundantcast: redundant static_casts in basic
Change-Id: I6504cb70518f8770a0d44b1fb4d8ad91e43dc2b6
2016-07-08 16:47:31 +02:00
e4b3323587 tdf#96505 Get rid of cargo cult long integer literals
Cleanup in basic/source/runtime/runtime.cxx

Change-Id: I1176251af9c4ca56c29dfafab20caccd7a28d60f
Reviewed-on: https://gerrit.libreoffice.org/26627
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-27 06:20:18 +00:00
9f0997eb16 Resolves: tdf#59222 Crash in Basic with an array of values...
from a range address

trying to make all SbxVariables reference count their parents
is ludiciously hard, so just reference count this one known
crashing case

Change-Id: Ie1fa6624e8184146dd00d766cdbacef674153ef6
Reviewed-on: https://gerrit.libreoffice.org/26272
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-14 19:54:26 +00:00
4e596d1cb1 drop dramatic distracting comment
Change-Id: Ic4b5537075e7ea9a713409982bb21e12f6b53e3f
Reviewed-on: https://gerrit.libreoffice.org/26271
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2016-06-14 14:53:44 +00:00
9c6a58f8c4 Clean up uses of Any::getValue() in basic
Change-Id: Ice269eae6b0278d5e089d973aae72b3f871c1272
2016-06-14 16:02:55 +02:00
62d270116b tools: rename SvStream::Read/Write to ReadBytes/WriteBytes
Change-Id: Ib788a30d413436aa03f813aa2fddcbc4d6cd2f9a
Reviewed-on: https://gerrit.libreoffice.org/25972
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-06-06 18:09:11 +00:00
850a8d27ca Convert GRAPHIC to scoped enum
Change-Id: I1fd09a729cbda00f99841532e0dd3fa66bce7bea
Reviewed-on: https://gerrit.libreoffice.org/25534
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-27 12:59:23 +00:00
f107d45381 Convert SbxClassType to scoped enum
Change-Id: I48afcdd9924d22b52a8db21aa253061e4d38c85b
Reviewed-on: https://gerrit.libreoffice.org/25259
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-05-23 11:49:32 +00:00
8762aa986d clang-tidy modernize-loop-convert in b*
Change-Id: I8ac6eb59e213eafa78e3dc4578738b53e8adef5b
2016-04-21 10:27:17 +02:00
d29c682259 Avoid reserved identifiers
Change-Id: If64f146fd9c6417ed16d459cef39b3a2d47bfb4d
2016-04-12 15:50:19 +02:00
f678b82f0e clang-tidy performance-unnecessary-value-param in basic
Change-Id: I997213ca28efc2df04d454ffaf3c81c9cbad09ac
2016-04-11 11:38:57 +02:00
43109b751b tdf#99089: avoid some crashes in Basic
First stacktrace:

soffice.bin: /home/julien/compile-libreoffice/libreoffice/include/rtl/ustring.hxx:577:
sal_Unicode rtl::OUString::operator[](sal_Int32) const:
Assertion `index >= 0 && static_cast<sal_uInt32>(index) < static_cast<sal_uInt32>(getLength())' failed.
...
3  0x00002aaaab327452 in __GI___assert_fail (assertion=0x2aaaaeea62a8 "index >= 0 && static_cast<sal_uInt32>(index) < static_cast<sal_uInt32>(getLength())", file=0x2aaaaeea6260 "/home/julien/compile-libreoffice/libreoffice/include/rtl/ustring.hxx", line=577, function=0x2aaaaeea6860 <rtl::OUString::operator[](int) const::__PRETTY_FUNCTION__> "sal_Unicode rtl::OUString::operator[](sal_Int32) const") at assert.c:101
4  0x00002aaaaed91e89 in rtl::OUString::operator[](int) const (this=0x7fffffff2770, index=0) at /home/julien/compile-libreoffice/libreoffice/include/rtl/ustring.hxx:577
5  0x00002aaaaee1c66f in SbRtl_Val(StarBASIC*, SbxArray&, bool) (pBasic=0xa2a7ec0, rPar=..., bWrite=false)
    at /home/julien/compile-libreoffice/libreoffice/basic/source/runtime/methods.cxx:1792

Second stacktrace:

0x00002aaaaee6054d in printfmtstr (rStr="", rRes="", rFmt="\£0.##") at /home/julien/compile-libreoffice/libreoffice/basic/source/sbx/sbxscan.cxx:534
534             while( *pFmt != '\' );
(gdb) bt
0  0x00002aaaaee6054d in printfmtstr(rtl::OUString const&, rtl::OUString&, rtl::OUString const&) (rStr="", rRes="", rFmt="\£0.##")
    at /home/julien/compile-libreoffice/libreoffice/basic/source/sbx/sbxscan.cxx:534
1  0x00002aaaaee617ce in SbxValue::Format(rtl::OUString&, rtl::OUString const*) const (this=0xb12dd60, rRes="", pFmt=0x7fffffff20e0)
    at /home/julien/compile-libreoffice/libreoffice/basic/source/sbx/sbxscan.cxx:883
2  0x00002aaaaee217af in SbRtl_Format(StarBASIC*, SbxArray&, bool) (pBasic=0xa2cffa0, rPar=..., bWrite=false)
    at /home/julien/compile-libreoffice/libreoffice/basic/source/runtime/methods.cxx:3519

Change-Id: I1798a1545ce08efa9d6fc39f4696195f9dc96c67
Reviewed-on: https://gerrit.libreoffice.org/23956
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2016-04-10 08:17:56 +00:00
f7a3bdf623 Turn SbiOpcode into scoped enum
Change-Id: I75d808dd3a42e57e7f55bad97e24fef65bb62dc6
2016-04-06 08:31:46 +02:00
c1e4d402c6 BASIC : Use a vector to store the argv stack
Change-Id: I29c93aec598b7f784f549ce05f6b32dfabbfc3ad
Reviewed-on: https://gerrit.libreoffice.org/23815
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-04-04 19:44:19 +00:00
8c2f2e1dd7 tdf#94306 replace boost::noncopyable in ..
.. accessibility, avmedia, basctl, basic and bridges
remove boost from module if not needed anymore

Change-Id: I6177f8276766a0a7df1703e81bf1b448912df6e2
Reviewed-on: https://gerrit.libreoffice.org/23744
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2016-04-04 06:54:36 +00:00
917e3656e9 BASIC : Use a vector to store the go sub stack.
Change-Id: I80987f3f7c036279a8292a7fbbd2dcd232196226
Reviewed-on: https://gerrit.libreoffice.org/23753
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-04-03 17:34:04 +00:00
402572e25c loplugin:constantparam in basic
Change-Id: I6831cb8628eed76db35070934f62dccb1345ba12
2016-03-23 11:22:34 +02:00
bb3930bb91 BASIC : Use std::vector in SbiRuntime to save references
Change-Id: Ica819538b39e58416825e651d057620a66f731cd
Reviewed-on: https://gerrit.libreoffice.org/23193
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Arnaud Versini <arnaud.versini@libreoffice.org>
2016-03-20 12:56:04 +00:00
5819268ad7 tdf#94306 Replace boost::noncopyable with plain C++11 deleted copy ctors
Replaced boost::noncopyable with plain C++11 deleted copy ctors
in /basic/* files.

Change-Id: I9c0eb0a51ec5cb25c88c72b55f42864e73006e6b
Reviewed-on: https://gerrit.libreoffice.org/22969
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-03-08 16:10:46 +00:00
29cb1f1923 Remove ancient StarPortal leftovers
No UNO bridge has a "user" token in its description anyway, so
needsSecurityRestrictions always returned false.

Change-Id: Ibc3aa25212a2e8b245c13578fa29582be42791e6
2016-03-08 15:06:39 +01:00
472d900e81 tdf84938 Replaced Sb_Attr_ defined constants with enum class in runtime.hxx
Replaced the #define Sb_Attr_* constants with SbAttributes enum class in runtime.hxx and adjusted uses in methods.cxx.

Change-Id: Ic7f6f6452849ffc9675ffd697ffc130276082318
Reviewed-on: https://gerrit.libreoffice.org/22948
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-07 09:06:12 +00:00
37a6bafea8 loplugin:unuseddefaultparam in various
Change-Id: I03d7381aad055cbe9bd905e4082586073f4112e0
Reviewed-on: https://gerrit.libreoffice.org/22900
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-07 05:56:59 +00:00
bd2bf6bd55 loplugin:unuseddefaultparams in basic
Change-Id: I286efdac6af47a859693fccc71b445915f76945c
2016-03-03 08:11:02 +02:00
d9dacecd90 tdf#84938 Change average enum for scoped enum
This is a [partial] patch for tdf#84938, involving the substitution of an average enum for a scoped one.

Change-Id: I4b3a19914d30a14dec2640355ba392b943e1ddd7
Reviewed-on: https://gerrit.libreoffice.org/22808
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-02 12:42:24 +00:00
c20c697294 change to SearchOptions2
Change-Id: I07a72492f1cdc566109bf8e9247368558f420abe
2016-02-25 17:33:36 +01:00
2d0dab5b15 loplugin:commaoperator in basic/
Change-Id: I320a06e50d032a55d8d5e6354959c12327e319ee
2016-02-22 16:55:11 +02:00
2087484c65 use consistent #define checks for the Windows platform
stage 2 of replacing usage of various checks for the windows platform
with the compiler-defined '_WIN32' macro

In this stage we focus on replacing usage of the WIN macro

Change-Id: Ie8a4a63198a6de96bd158ecd707dadafb9c8ea84
Reviewed-on: https://gerrit.libreoffice.org/22393
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-02-17 11:33:57 +00:00
a238b1f8d3 Remove excess newlines
A ridiculously fast way of doing this is:

for i in $(pcregrep -l -M -r --include='.*[hc]xx$' \
  --exclude-dir=workdir --exclude-dir=instdir '^
{3,}' .)
do
    perl -0777 -i -pe 's/^
{3,}/

/gm' $i
done

Change-Id: Iebb93eccbee9e4fc5c4380474ba595858a27ac2c
Reviewed-on: https://gerrit.libreoffice.org/22224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Chris Sherlock <chris.sherlock79@gmail.com>
2016-02-09 08:18:05 +00:00
599f0cbe1d interface to new XTextSearch2 with SearchOptions2, tdf#72196
Places that had utl::TextSearch::UpgradeToSearchOptions2() introduced
are worth an inspection if the new SearchAlgorithms2::WILDCARD search
should be supported or at least use SearchOptions2 instead of
SearchOptions to eliminate the small performance penalty that conversion
involves.

Change-Id: I565f73af2b551ae9ad0f488e672823dc6c5c1109
2016-02-05 17:02:47 +01:00
fbec6ac089 Fix typos
Change-Id: I3fba2c76c83381eb398c80947ef4849bccf7ab27
Reviewed-on: https://gerrit.libreoffice.org/21078
Reviewed-by: Ashod Nakashian <ashnakash@gmail.com>
Tested-by: Ashod Nakashian <ashnakash@gmail.com>
2016-01-05 13:40:54 +00:00
92e60e1b80 Fix typos
Change-Id: I1b79005d9c4e32325b8dadcc4f805975d6bf2727
Reviewed-on: https://gerrit.libreoffice.org/21103
Reviewed-by: Andras Timar <andras.timar@collabora.com>
Tested-by: Andras Timar <andras.timar@collabora.com>
2016-01-05 07:32:28 +00:00
cb98c423bb sal_uLong/sal_uIntPtr/sal_uInt16 to sal_uInt32
also avoid some explicit temporaries and group some checks.

Change-Id: I7795b208dde53fd383b8c75f72dd9f56429aea2b
2015-12-27 16:51:27 +01:00
7d8919d2d5 sal_uLong/sal_uIntPtr for ScNumFormatAbbrev
Change-Id: I45f2a43fe4295e44691ab00c93af3fca41b1dcfa
2015-12-27 16:51:26 +01:00
98f0e0eda5 Resolves: #i19221# Print Tab(5); "Hello" does not work
Implement the Tab() function in AOO Basic.

Patch by: me

(cherry picked from commit fa1315d25186643ea537972609c117e0c9bb1fbc)

Change-Id: Ifa9843661ce3862347c6351a078ddb207169182a
2015-12-15 13:48:28 +00:00
c4c059beb3 DBG_TRACE_BASIC/PROFILING had been rotting for quite some time now
...e.g., it still used the long-gone tools String class

Change-Id: I9d1930c72fbae3208a0f3da14c6991f30d89a9bc
2015-12-10 08:18:15 +01:00
fa91dd31f3 5th step to remove tools/rtti.hxx
tools/rtti.hxx removed
completed the interface of some Sdr.*  Items
and removed pseudo items

Change-Id: I0cdcd01494be35b97a27d5985aa908affa96048a
Reviewed-on: https://gerrit.libreoffice.org/19837
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Oliver Specht <oliver.specht@cib.de>
2015-11-11 10:49:30 +00:00