summaryrefslogtreecommitdiff
path: root/connectivity
AgeCommit message (Collapse)AuthorFilesLines
2020-01-06Removed redundant semicolonsAndrea Gelmini1-1/+1
Change-Id: Ife14b8c3f7d121deb390deb5f405dd42d3016acf Reviewed-on: https://gerrit.libreoffice.org/c/core/+/86156 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-26use more TOOLS_WARN_EXCEPTIONNoel Grandin6-14/+17
so we get more useful log messages when stuff goes wrong Change-Id: Ia55db7ab1a4d79b0f281673fbbb06c61745fa89e Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85829 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-18sal_Char->char in connectivityNoel Grandin48-111/+110
Change-Id: Ie32cbef9b03d69044c401f79bc737cde6dd0ed5d Reviewed-on: https://gerrit.libreoffice.org/85396 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-18Elide use of rtl_Instance (which is obsoleted by C++11 thread-safe statics)Noel Grandin1-18/+8
Change-Id: I34f801d1d56868b89027f10e0567004f1b8a4cc7 Reviewed-on: https://gerrit.libreoffice.org/85331 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-12-16tdf#42949 Fix IWYU warnings in connectivity/*/*hxxGabor Kelemen102-126/+73
Except for non Linux specific parts: connectivity/source/drivers/macab/ connectivity/source/inc/ado/ Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: Iba6d0cd0effdac777be6fbc8f12f2e92cae47887 Reviewed-on: https://gerrit.libreoffice.org/84174 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-12-09Fix PQ_SDBC_DRIVER_VERSIONStephan Bergmann1-6/+4
...which should expand to "0.8.2" rather than "PQ_SDBC_MAJOR.PQ_SDBC_MINOR.PQ_SDBC_MICRO" Change-Id: I4dad1f895d6c1c4daead8d325fa35bfabe651419 Reviewed-on: https://gerrit.libreoffice.org/84766 Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-07clang-tidy(WIP): bugprone-signed-char-misuse findings 1Tamás Zolnai1-8/+2
Use unsigned char conversion instead of adding 256 to negativ values. See also: SEI CERT STR34-C. Change-Id: I9a167a8993505052f9ee4f41191fbe80ee1ab0eb Reviewed-on: https://gerrit.libreoffice.org/84688 Tested-by: Jenkins Reviewed-by: Tamás Zolnai <tamas.zolnai@collabora.com>
2019-12-06Fix some new dependencies on boost_headersStephan Bergmann2-0/+4
...caused by a8cd98c437f2c3b5c4f7c139aa7223c5cfb74d1a "use o3tl::optional instead of pointer", see <https://ci.libreoffice.org/job/gerrit_mac/48607>: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/connectivity/qa/connectivity/resource/sharedresources_test.cxx:10: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/test/bootstrapfixture.hxx:16: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/salctype.hxx:25: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/graph.hxx:27: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/bitmapex.hxx:23: > /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/o3tl/optional.hxx:20:10: fatal error: 'boost/none.hpp' file not found > #include <boost/none.hpp> > ^~~~~~~~~~~~~~~~ > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/connectivity/qa/connectivity/commontools/FValue_test.cxx:20: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/test/bootstrapfixture.hxx:16: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/salctype.hxx:25: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/graph.hxx:27: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/bitmapex.hxx:23: > /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/o3tl/optional.hxx:20:10: fatal error: 'boost/none.hpp' file not found > #include <boost/none.hpp> > ^~~~~~~~~~~~~~~~ > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/emfio/qa/cppunit/emf/EmfImportTest.cxx:13: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/test/bootstrapfixture.hxx:16: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/salctype.hxx:25: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/graph.hxx:27: > In file included from /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/vcl/bitmapex.hxx:23: > /Users/tdf/lode/jenkins/workspace/lo_gerrit/Config/macosx_clang_dbgutil/include/o3tl/optional.hxx:20:10: fatal error: 'boost/none.hpp' file not found > #include <boost/none.hpp> > ^~~~~~~~~~~~~~~~ Change-Id: I86ccc030a8f34b9ee6a853e843c9eb6f2d987406 Reviewed-on: https://gerrit.libreoffice.org/84664 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-06loplugin:external (macOS)Stephan Bergmann2-0/+3
* OldEntry in fpicker/source/aqua/resourceprovider.mm was apparently unused ever since it got introduced with 00657aef09d854c74fb426a935a3e8b1fc390bb0 "migrate to boost::gettext" * impl_throwError is used from multiple TU, connectivity/source/drivers/macab/MacabStatement.cxx just missed the relevant #include Change-Id: Iba131da57aa20085bb1c634ba9a3a59566070abd Reviewed-on: https://gerrit.libreoffice.org/84653 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-05loplugin:external (clang-cl)Stephan Bergmann1-0/+2
...plus loplugin:consttobool and loplugin:fakebool fallout Change-Id: Ie3d8121815c080b13bea6d9deca1eb138ca56138 Reviewed-on: https://gerrit.libreoffice.org/84515 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-04Use SAL_STRINGIFYStephan Bergmann1-13/+10
Change-Id: I0a82d32b93369461c2edaff5524bfdd0d1752359 Reviewed-on: https://gerrit.libreoffice.org/84408 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-02Simplify SQLError::ParamValue to just o3tl::optional<OUString>Stephan Bergmann1-26/+19
Change-Id: Ib4878218fd758c6462de1841fb98b3ae8839d1ed Reviewed-on: https://gerrit.libreoffice.org/84217 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-12-01Introduce o3tl::optional as an alias for std::optionalStephan Bergmann5-9/+9
...with a boost::optional fallback for Xcode < 10 (as std::optional is only available starting with Xcode 10 according to <https://en.cppreference.com/w/cpp/compiler_support>, and our baseline for iOS and macOS is still Xcode 9.3 according to README.md). And mechanically rewrite all code to use o3tl::optional instead of boost::optional. One immediate benefit is that disabling -Wmaybe-uninitialized for GCC as per fed7c3deb3f4ec81f78967c2d7f3c4554398cb9d "Slience bogus -Werror=maybe-uninitialized" should no longer be necessary (and whose check happened to no longer trigger for GCC 10 trunk, even though that compiler would still emit bogus -Wmaybe-uninitialized for uses of boost::optional under --enable-optimized, which made me ponder whether this switch from boost::optional to std::optional would be a useful thing to do; I keep that configure.ac check for now, though, and will only remove it in a follow up commit). Another longer-term benefit is that the code is now already in good shape for an eventual switch to std::optional (a switch we would have done anyway once we no longer need to support Xcode < 10). Only desktop/qa/desktop_lib/test_desktop_lib.cxx heavily uses boost::property_tree::ptree::get_child_optional returning boost::optional, so let it keep using boost::optional for now. After a number of preceding commits have paved the way for this change, this commit is completely mechanical, done with > git ls-files -z | grep -vz -e '^bin/find-unneeded-includes$' -e '^configure.ac$' -e '^desktop/qa/desktop_lib/test_desktop_lib.cxx$' -e '^dictionaries$' -e '^external/' -e '^helpcontent2$' -e '^include/IwyuFilter_include.yaml$' -e '^sc/IwyuFilter_sc.yaml$' -e '^solenv/gdb/boost/optional.py$' -e '^solenv/vs/LibreOffice.natvis$' -e '^translations$' -e '\.svg$' | xargs -0 sed -i -E -e 's|\<boost(/optional)?/optional\.hpp\>|o3tl/optional.hxx|g' -e 's/\<boost(\s*)::(\s*)(make_)?optional\>/o3tl\1::\2\3optional/g' -e 's/\<boost(\s*)::(\s*)none\>/o3tl\1::\2nullopt/g' (before committing include/o3tl/optional.hxx, and relying on some GNU features). It excludes some files where mention of boost::optional et al should apparently not be changed (and the sub-repo directory stubs). It turned out that all uses of boost::none across the code base were in combination with boost::optional, so had all to be rewritten as o3tl::nullopt. Change-Id: Ibfd9f4b3d5a8aee6e6eed310b988c4e5ffd8b11b Reviewed-on: https://gerrit.libreoffice.org/84128 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-29Related tdf#128974: Really deal with "default" and "default-release" profilesJulien Nabet1-0/+10
See https://support.mozilla.org/gl/questions/1264072 for some background info. Change-Id: I4939a0c9a8ad09753de4a152f464c647ec637f31 Reviewed-on: https://gerrit.libreoffice.org/84077 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-27In the same way as 97ad402d58b52a1f2636905137c21298531c2935Julien Nabet1-1/+1
OPreparedStatement::setDate works but let's use good habits. Change-Id: Ic410910ea138cc23d7f33bccd96812efd041732c Reviewed-on: https://gerrit.libreoffice.org/83842 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-26Fix for 2 commits related to cppcheck:Julien Nabet1-2/+0
1) https://cgit.freedesktop.org/libreoffice/core/commit/?id=4e1ae2a9a0d2d9185b49677fa4ea2a2b1fe8bab2 I had let "size" and "fields" initialized twice instead of initializing only 2) https://cgit.freedesktop.org/libreoffice/core/commit/?id=e6ab01ce532d1db01579b70bd476b2f643522bf9 put back original order for NestedKeyImpl and adjust initialization accordingly Change-Id: I6ca4e6520558011c359f8ea089b6d431ad79edfe Reviewed-on: https://gerrit.libreoffice.org/83810 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-26tdf#128698: MySQL/MariaDB direct Connection: time-values not written to tableJulien Nabet1-1/+1
Initialize MYSQL_TIME my_time structure before using it Same idea as part of f4393330b2bbebc7290b72ad2f5b81d26244ac64 but by using modern initialization instead of memset Change-Id: Ife9741604e7bf8f0fbe4671ddb16a56204f4fa43 Reviewed-on: https://gerrit.libreoffice.org/83811 Tested-by: Jenkins Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2019-11-24Fix e6ab01ce532d1db01579b70bd476b2f643522bf9Julien Nabet1-1/+0
+ fix: /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_clang_dbgutil_64/connectivity/source/drivers/mork/MStatement.cxx:64:6: error: no need to explicitly init an instance of 'std::unique_ptr<connectivity::OSQLParseNode>' with nullptr, just use default constructor [loplugin:simplifyconstruct] ,m_pParseTree(nullptr) ^~~~~~~~~~~~~~~~~~~~~ from another patch to calm down clang Jenkins Change-Id: Ia8304b7baedbce760a6e01ea154c5ff3cd19cbd4 Reviewed-on: https://gerrit.libreoffice.org/83595 Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk> Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-24cppcheck: fix 2 funcArgOrderDifferentJulien Nabet1-6/+6
1) sd/source/filter/ppt/pptin.cxx Function 'ProcessObj' argument order different: declaration 'rSt, rData, rClientData, rTextRect, pObj' definition 'rSt, rObjData, rData, rTextRect, pRet' 2) connectivity/source/drivers/mysqlc/mysqlc_prepared_resultset.cxx Function 'OPreparedResultSet' argument order different: declaration 'rConn, pStmt, pMyStmt' definition 'rConn, pPrepared, pStmt' Change-Id: I83f8427ee15c3025676c39f262c2e9881cdd33ae Reviewed-on: https://gerrit.libreoffice.org/83593 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-23cppcheck: performing init in init list (comphelper/connectivity/cppu/cui)Julien Nabet7-43/+20
Change-Id: I786c2c10e8b37b48adf6d619c0fa6a905de1bf7f Reviewed-on: https://gerrit.libreoffice.org/83584 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-22Extend loplugin:external to warn about classesStephan Bergmann25-7/+85
...following up on 314f15bff08b76bf96acf99141776ef64d2f1355 "Extend loplugin:external to warn about enums". Cases where free functions were moved into an unnamed namespace along with a class, to not break ADL, are in: filter/source/svg/svgexport.cxx sc/source/filter/excel/xelink.cxx sc/source/filter/excel/xilink.cxx svx/source/sdr/contact/viewobjectcontactofunocontrol.cxx All other free functions mentioning moved classes appear to be harmless and not give rise to (silent, even) ADL breakage. (One remaining TODO in compilerplugins/clang/external.cxx is that derived classes are not covered by computeAffectedTypes, even though they could also be affected by ADL-breakage--- but don't seem to be in any acutal case across the code base.) For friend declarations using elaborate type specifiers, like class C1 {}; class C2 { friend class C1; }; * If C2 (but not C1) is moved into an unnamed namespace, the friend declaration must be changed to not use an elaborate type specifier (i.e., "friend C1;"; see C++17 [namespace.memdef]/3: "If the name in a friend declaration is neither qualified nor a template-id and the declaration is a function or an elaborated-type-specifier, the lookup to determine whether the entity has been previously declared shall not consider any scopes outside the innermost enclosing namespace.") * If C1 (but not C2) is moved into an unnamed namespace, the friend declaration must be changed too, see <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71882> "elaborated-type-specifier friend not looked up in unnamed namespace". Apart from that, to keep changes simple and mostly mechanical (which should help avoid regressions), out-of-line definitions of class members have been left in the enclosing (named) namespace. But explicit specializations of class templates had to be moved into the unnamed namespace to appease <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92598> "explicit specialization of template from unnamed namespace using unqualified-id in enclosing namespace". Also, accompanying declarations (of e.g. typedefs or static variables) that could arguably be moved into the unnamed namespace too have been left alone. And in some cases, mention of affected types in blacklists in other loplugins needed to be adapted. And sc/qa/unit/mark_test.cxx uses a hack of including other .cxx, one of which is sc/source/core/data/segmenttree.cxx where e.g. ScFlatUInt16SegmentsImpl is not moved into an unnamed namespace (because it is declared in sc/inc/segmenttree.hxx), but its base ScFlatSegmentsImpl is. GCC warns about such combinations with enabled-by-default -Wsubobject-linkage, but "The compiler doesn’t give this warning for types defined in the main .C file, as those are unlikely to have multiple definitions." (<https://gcc.gnu.org/onlinedocs/gcc-9.2.0/gcc/Warning-Options.html>) The warned-about classes also don't have multiple definitions in the given test, so disable the warning when including the .cxx. Change-Id: Ib694094c0d8168be68f8fe90dfd0acbb66a3f1e4 Reviewed-on: https://gerrit.libreoffice.org/83239 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-20connectivity: avoid redundant access specifierMiklos Vajna1-1/+0
Change-Id: Id30b699dfdf561a42012e620db7cafabeab3ebc0 Reviewed-on: https://gerrit.libreoffice.org/83238 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-11-15make some classes module-privateNoel Grandin8-9/+9
Change-Id: I95845d7217fc5e77e3f8e205030e9cd761ad0cc5 Reviewed-on: https://gerrit.libreoffice.org/82116 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-14New loplugin:consttoboolStephan Bergmann2-6/+6
...to: "Find implicit conversions from non-'bool' constants (e.g., 'sal_False') to 'bool'". Due to how FALSE is defined as just #define FALSE (0) (i.e., a literal of type 'int') but TRUE is defined as #define TRUE (!FALSE) (i.e., an implicit conversion from 'int' to 'bool') in GLib (see the comment in ConstToBool::VisitImplicitCastExpr), we get more warnings about uses of 'TRUE' than of 'FALSE'. For example, in libreofficekit/source/gtk/lokdocview.cxx there is a warning about the 'TRUE' in g_main_context_iteration(nullptr, TRUE); but not about the 'FALSE' in g_main_context_iteration(nullptr, FALSE); (where the parameter of 'g_main_context_iteration' is of type 'gboolean'). Lets live with that asymmetry for now... (Besides the issues addressed directly in this commit, it also found the two bogus asserts at 7e09d08807b5ba2fd8b9831557752a415bdad562 "Fix useless assert(true) (which would never fire)" and 122a0be8ae480473bd1d7f35e197a2529f4621e3 "Fix useless assert(true) (which would never fire)", plus 5f0d6df7f57ae281fe161e61c7f25d67453fddd2 "Use two-argument form of static_assert".) Change-Id: Id77322de9f94b85a7b65608a03e0e9865d14467b Reviewed-on: https://gerrit.libreoffice.org/82667 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-13Extend loplugin:salbool to loplugin:fakeboolStephan Bergmann8-29/+29
...checking for unnecessary uses of more "fake bool" types. In the past, some of the checks involving the types of variables or data members, or the return types of functions, issued warnings that required surrounding code to be changed too (e.g., when changing the signature of a function whose address was taken). These checks have been tightened now to not warn in such cases (which avoids warnings that require changes to additional code, or changes that might even be impossible to make, at the cost of being less aggressive about removing all unnecessary uses of those "fake bool" types). Change-Id: I70eb75039817cda34ed611387ee27dc5f36a3e2e Reviewed-on: https://gerrit.libreoffice.org/82554 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-12use std::move when popping stuff off stacksNoel Grandin1-3/+3
Change-Id: I6ba0ee8afee1a9579045643cd0118cf19599d5b9 Reviewed-on: https://gerrit.libreoffice.org/82497 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-11-11rename a PCH file to properly match its MakefileLuboš Luňák3-2/+2
Change-Id: I61f317f4cc31d329452a08b6cee5f59975fea007 Reviewed-on: https://gerrit.libreoffice.org/82398 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-11-08loplugin:stringadd (clang-cl)Stephan Bergmann1-2/+1
Change-Id: Icf2894f77c90aa4620910d621249947bad4be8b7 Reviewed-on: https://gerrit.libreoffice.org/82269 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-11-06Base/Firebird fix column creationJulien Nabet1-1/+0
Avoid these logs when saving a brand new table in embedded Firebird: warn:legacy.osl:6038:6038:comphelper/source/property/propertycontainerhelper.cxx:181: OPropertyContainerHelper::implPushBackProperty: name already exists! warn:legacy.osl:6038:6038:comphelper/source/property/propertycontainerhelper.cxx:182: OPropertyContainerHelper::implPushBackProperty: handle already exists! ... Change-Id: I305791ad14d0bd18b3a527b848c031e02d661dbb Reviewed-on: https://gerrit.libreoffice.org/81926 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-11-04Build mysql_jdbc library even when building without javaTamas Bunth1-0/+1
Change-Id: Iecf49ab466a77f8342e69bf245a30e1529fe0078 Reviewed-on: https://gerrit.libreoffice.org/79056 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/81917 Tested-by: Jenkins
2019-11-03mysqlc: replace initializer list with assignmentTamas Bunth1-17/+23
Because visual c++ compiler may not support it without creating a constructor for the struct. Change-Id: I6c8868c4e34cbe7b67e413b1db18aed01378c959 Reviewed-on: https://gerrit.libreoffice.org/65905 Reviewed-by: Andras Timar <andras.timar@collabora.com> Tested-by: Andras Timar <andras.timar@collabora.com> Reviewed-on: https://gerrit.libreoffice.org/76727 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com> Reviewed-by: Tamás Bunth <btomi96@gmail.com> Reviewed-on: https://gerrit.libreoffice.org/81901 Tested-by: Jenkins
2019-10-31Fix StringAdd::isCompileTimeConstantStephan Bergmann1-2/+2
...to find StringLiteral on the RHS of +=. Which revealed that the VisitCompoundStmt/checkForCompoundAssign logic needed to be fixed, too, so that s += side_effect(); s += "literal"; s += side_effect(); only gets combined to s += side_effect() + "literal"; s += side_effect(); and not all the way to s += side_effect() + "literal" + side_effect(); Change-Id: I432e3458b933a7d0ad6141c747b675cc8b0f0ba4 Reviewed-on: https://gerrit.libreoffice.org/81804 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-26size some stringbuffer to prevent re-allocNoel Grandin1-5/+5
I started with 32 and kept doubling the size until the site did not need re-alloc, but clamped it at 512 (e.g. in emfio/). Change-Id: Ib7caf35a1b7e42b0e4ed8aa812493449e3eefc8f Reviewed-on: https://gerrit.libreoffice.org/81540 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-21loplugin:stringadd (macOS)Stephan Bergmann1-1/+1
Change-Id: Ic9c23fcda4c798c1ca2de5a010da292d56b10e8b Reviewed-on: https://gerrit.libreoffice.org/81201 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-21loplugin:bufferadd (macOS)Stephan Bergmann1-5/+1
Change-Id: I97822e6843d6adef1af2435e186ac93d016e5322 Reviewed-on: https://gerrit.libreoffice.org/81202 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-19mariadb still uses char for my_boolCaolán McNamara1-1/+1
mariadb-devel-10.3.17-1.fc30.x86_64 still has typedef char my_bool; Change-Id: I3d1f5423c8750180bc28c56bc0ead4f746fd1c23 Reviewed-on: https://gerrit.libreoffice.org/81137 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-18make bin/update_pch.s always include code in trivial #if'sLuboš Luňák8-11/+39
E.g. #ifdef LIBO_INTERNAL_ONLY is always true for code that builds with our PCHs. Change-Id: I3cf311ea3621b909105754cfea2cb0116b8b67f5 Reviewed-on: https://gerrit.libreoffice.org/80961 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-18Fix building against MySQL Connector/C 8Peter Levine1-2/+8
In MySQL Connector/C 8, my_bool is replaced by bool. It was previously defined as char. When building against MySQL Connector/C 8, this leads to type punning build errors. Redefine affected members of struct BindMetaData as bool if using version 8 of greater. Otherwise, default to char. Change-Id: If12b975d95afae86502867cb334cb4195802f91d Reviewed-on: https://gerrit.libreoffice.org/81002 Reviewed-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de> Tested-by: Samuel Mehrbrodt <Samuel.Mehrbrodt@cib.de>
2019-10-17loplugin:buffereadd find stuff involving adding *StringBufferNoel Grandin1-10/+6
and create conversion methods on *StringBuffer to make this work Change-Id: I3cf5ee3e139826168894b46eff8ee4bcde00cb7e Reviewed-on: https://gerrit.libreoffice.org/80949 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-17Remove some memset callsMike Kaganski7-20/+9
Replace them with default initialization or calloc Change-Id: I747f53c2ced2d0473fd5a5ede4f8520a0633dcc1 Reviewed-on: https://gerrit.libreoffice.org/80805 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-17Remaining loplugin:bufferaddStephan Bergmann7-134/+56
...that had been missing because the plugin didn't implement postRun, so it didn't report anything when run as part of the shared plugin. (But did report the expected warnings when run as a standalone plugin during CompilerTest_compilerplugins_clang.) Most fixes are straightforward. A noteworthy one is PreparedStatement::setBytes in connectivity/source/drivers/postgresql/pq_preparedstatement.cxx: The old preallocation of a 20 character OStringBuffer might have prevented buf.append( reinterpret_cast<char *>(escapedString), len -1 ); from potentially throwing std::bad_alloc, which would have caused escapedString to be leaked. Even though that 20-character preallocation was likely just random junk and not meant to address the potential leak, lets address it now. Change-Id: Ib506332d061684a22a74e5e39e591539fd2c4900 Reviewed-on: https://gerrit.libreoffice.org/80925 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-17Rename OUStringLiteral1 to OUStringCharStephan Bergmann3-5/+5
It started out as a wrapper around character literals, but has by now become a wrapper around arbitrary single characters. Besides updating the documentation, this change is a mechanical for i in $(git grep -Fl OUStringLiteral1); do sed -i -e s/OUStringLiteral1/OUStringChar/g "$i"; done Change-Id: I1b9eaa4b3fbc9025ce4a4bffea3db1c16188b76f Reviewed-on: https://gerrit.libreoffice.org/80892 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2019-10-15new loplugin:bufferaddNoel Grandin6-36/+25
look for OUStringBuffer append sequences that can be turned into creating an OUString with + operations Change-Id: Ica840dc096000307b4a105fb4d9ec7588a15ade6 Reviewed-on: https://gerrit.libreoffice.org/80809 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-15Replace getDefaultValue by getColExprForDefaultSettingVal (postgresql)Julien Nabet4-4/+4
Change-Id: I8e0eea84a711ce45d991c07d7811094e33bcce38 Reviewed-on: https://gerrit.libreoffice.org/80787 Tested-by: Jenkins Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
2019-10-14use common PCH for more librariesLuboš Luňák1-0/+2
Change-Id: I53164be413426691025a63cfba731cf5f9d1b7f8 Reviewed-on: https://gerrit.libreoffice.org/80790 Tested-by: Jenkins Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-10-14loplugin:stringadd look for unnecessary temporariesNoel Grandin1-1/+1
which defeat the *StringConcat optimisation. Also make StringConcat conversions treat a nullptr as an empty string, to match the O*String(char*) constructors. Change-Id: If45f5b4b6a535c97bfeeacd9ec472a7603a52e5b Reviewed-on: https://gerrit.libreoffice.org/80724 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-13tdf#128111: "adsrc" doesn't exist from Postgresql 12Julien Nabet4-7/+18
Before Postgresql 8.0, there was only "adsrc" then it's been deprecated "The adsrc field is historical, and is best not used, because it does not track outside changes that might affect the representation of the default value. Reverse-compiling the adbin field (with pg_get_expr for example) is a better way to display the default value " and finally it's been removed with version 12 See evolution with: - https://www.postgresql.org/docs/8/catalog-pg-attrdef.html - https://www.postgresql.org/docs/11/catalog-pg-attrdef.html - https://www.postgresql.org/docs/12/catalog-pg-attrdef.html Change-Id: I57e9da423a23b5a96bbb64b0e026b160e9643ab9 Reviewed-on: https://gerrit.libreoffice.org/80722 Tested-by: Jenkins Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu>
2019-10-11simplify "a = a +" to "a +="Noel Grandin3-5/+5
mostly so that my stringadd loplugin can point out places to improve Change-Id: I9920ee1c99cdb6b811ba67ff9d8e32aa261884b5 Reviewed-on: https://gerrit.libreoffice.org/80618 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-10convert WriteCharPtr..getStr to WriteOStringNoel Grandin1-1/+1
and improve the WriteOString method, we can avoid the strlen here, we already have the length One change in behaviour to be noted - if the string contains trailing zero bytes, which ARE INCLUDED IN THE STRING LENGTH, i.e. I'm not talking about the normal terminating zero, then this patch changes behaviour because we will now write those zeros to the stream. Change-Id: I4668b9b9eb877f820b1dc70d6cd10ba2623bc0a2 Reviewed-on: https://gerrit.libreoffice.org/80597 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-10-09Resolve FIXME Decimal Separator should be OUString (connectivity/dbaccess/svx)Julien Nabet2-13/+14
instead of a sal_Char Change-Id: I14fd983dac7ceb83a788c26dd4ea9d1c87444c9a Reviewed-on: https://gerrit.libreoffice.org/80493 Tested-by: Jenkins Reviewed-by: Lionel Elie Mamane <lionel@mamane.lu> Reviewed-by: Julien Nabet <serval2412@yahoo.fr>