351 Commits

Author SHA1 Message Date
Kohei Yoshida
dc93074f71 Use a new fast parser instance for each XML fragment.
Otherwise a crash ensues when the threaded XML parsing kicks in.

Change-Id: Ic41e5a29bbb860d7b63b70f2f0d8896264d9d53e
2014-06-30 20:06:33 -04:00
Kohei Yoshida
3f177756db Check for empty() before calling top().
Else it might crash sometimes.

Change-Id: I6a24fff83c3d36346debae5c0f2b8c0646a15c01
2014-06-30 14:02:50 -04:00
Kohei Yoshida
3ede68e1cc Don't go further and pop the stack if it's empty.
Change-Id: I27bd30ca65cf0066cd022b4b060757913ea01fed
2014-06-30 13:46:36 -04:00
Stephan Bergmann
ee6ffa3f15 loplugin:staticcall
Change-Id: If21a079134f659a91f0b0ce400aef56bd095effe
2014-06-13 17:54:30 +02:00
Noel Grandin
ebc0a15515 remove more unnecesary OUString constructor use
when throwing exceptions

Change-Id: I6edfb6b6745499f802b0e3c0e096a36fb7c32aac
2014-05-29 09:01:40 +02:00
Thomas Arnhold
92b447876d css already means ::com::sun::star
Change-Id: I48d7b746d7cc49246743c62480b0d225d2519342
2014-05-27 14:00:28 +02:00
Caolán McNamara
5b2aaefb89 coverity#982640 Missing break in switch
Change-Id: If2a14edafb72844061dcdd1ee3507d7a215220f1
2014-05-26 10:18:27 +01:00
Thomas Arnhold
2bd7767d01 Resolves fdo#70681: fixincludeguards.pl: all that's left
Change-Id: I3e51a62710bb46c8255fd228d41d9300c90a1fb5
Reviewed-on: https://gerrit.libreoffice.org/9360
Reviewed-by: Thomas Arnhold <thomas@arnhold.org>
Tested-by: Thomas Arnhold <thomas@arnhold.org>
2014-05-15 12:50:46 +00:00
Noel Grandin
248145f99e Find places where uno::Sequence is passed by value.
Implement a clang plugin to find them, and clean up existing code
to pass them by reference.

Change-Id: If642d87407c73346d9c0164b9fc77c5c3c4354b8
Reviewed-on: https://gerrit.libreoffice.org/9351
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
Tested-by: Noel Grandin <noelgrandin@gmail.com>
2014-05-14 08:10:22 +00:00
Caolán McNamara
11dbe5eede coverity#707979 Uninitialized pointer field
Change-Id: Id41ba6ab2c6f0a43f439c2b45d20d7d76a3cbe82
2014-05-10 21:13:01 +01:00
Takeshi Abe
1ec8367608 Avoid possible memory leaks in case of exceptions
Change-Id: I047fd88a89900153089a55b6af123f11fb8bde55
2014-04-24 00:13:28 +09:00
Thomas Arnhold
2805ac13dc typo: choosen -> chosen 2014-04-14 12:32:02 +02:00
Stephan Bergmann
a39ced415f Remove unused functions
Change-Id: Iddf4e29005aaa510af00c7345487996b75f41c41
2014-04-09 11:12:41 +02:00
Noel Grandin
6ed14fd8f8 sax: sal_Bool->bool
Change-Id: I8d9dd585c509fd4c1f09ee817d828f3e600e31d5
2014-04-07 13:53:49 +02:00
Stephan Bergmann
362d4f0cd4 Explicitly mark overriding destructors as "virtual"
It appears that the C++ standard allows overriding destructors to be marked
"override," but at least some MSVC versions complain about it, so at least make
sure such destructors are explicitly marked "virtual."

Change-Id: I0e1cafa7584fd16ebdce61f569eae2373a71b0a1
2014-04-01 19:22:54 +02:00
Stephan Bergmann
70cc2b191b First batch of adding SAL_OVERRRIDE to overriding function declarations
...mostly done with a rewriting Clang plugin, with just some manual tweaking
necessary to fix poor macro usage.

Change-Id: I71fa20213e86be10de332ece0aa273239df7b61a
2014-03-26 16:39:26 +01:00
Noel Grandin
86a32589e9 Find places where OUString and OString are passed by value.
It's not very efficient, because we generally end up copying it twice -
once into the parameter and again into the destination OUString.

So I create a clang plugin that finds such places and generates a
warning so that we can convert them to pass-by-reference.

Change-Id: I5341a6ea9e3190f4b4c05c42c85595e3dcd83361
2014-03-18 08:32:26 +02:00
Tomaž Vajngerl
693f1dee0b sax: FastAttributeList - add attribute in a specific namespace
This change is inspired by startElementNS & singleElementNS which
have namespace as first parameter to define the namespace of an
element. Some attributes of a element can be in different namespace
but until now FastAttributeList "add" method did not have a namespace
parameter. This commit adds "addNS" which accepts namespace as a
first parameter.

Change-Id: Iebf8b5e890c17f00a56923efc3506580eed070a9
2014-03-05 20:24:01 +01:00
Markus Mohrhard
54ebae0eae remove whitespaces
Change-Id: I624ca41c3e51ba785e359649c429feb61cc9a647
2014-03-02 17:56:14 +01:00
Stephan Bergmann
5e21a413c7 cppuhelper: retrofit std::exception into overriding exception specs
Change-Id: I56e32131b7991ee9948ce46765632eb823d463b3
2014-02-26 18:22:20 +01:00
Alexander Wilms
ff0562fa4f Remove visual noise from sax
Change-Id: Ica31580f72b43456c33b2f6abbf2140a79efae1a
Reviewed-on: https://gerrit.libreoffice.org/8299
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-26 08:02:52 -06:00
Noel Grandin
7efa467ef3 remove unused code sax_fastparser::FastSerializerHelper::copyTopMarkPop()
Change-Id: If1dd0e99d83f8211c58fa3b5d1ba56a74bc2157f
2014-02-25 15:16:56 +02:00
Noel Grandin
333fdb95a3 remove unused code sax_fastparser::FastSerializerHelper::copyTopMarkPush()
Change-Id: I4569e53f0423783bc5c9ee95b07d0de51b75b466
2014-02-25 15:16:56 +02:00
Alexander Wilms
0ce0c369aa Remove unneccessary comments
Change-Id: I939160ae72fecbe3d4a60ce755730bd4c38497fb
Reviewed-on: https://gerrit.libreoffice.org/8182
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
2014-02-23 03:38:49 +00:00
Caolán McNamara
09f9a79b11 [API CHANGE] fix endCDATA to allow throwing css::xml::sax::SAXException
coverity#1158397 Uncaught exception

Change-Id: Iabf0b1f0500cb4218d8cb3aff372777471e8f287
2014-02-21 15:30:26 +00:00
Caolán McNamara
110c193988 Related: #i97873# (coverity#705407) Improper use of negative value
a pity the other one wasn't fixed when the first one was fixed
back in 2002 with 0645e6a1a1917fef833358f328b5d56396380698

Change-Id: Ia7ac0f57a6805dc8ff09668198d0530b1cfc31db
2014-02-11 12:11:43 +00:00
Michael Stahl
414fa67bf2 sax: my suggestion was not as good as i thought...
... as indicated by the failing unit test.

Change-Id: I1a8a8b933b10673e71261726dc8887dfe1d3e2ee
2014-02-11 12:52:21 +01:00
Arnaud Versini
785c4f10b8 fdo#72468 avoid out of bounds array access
Change-Id: I2bccdf1aaeb290a3cb8f76cd831a419e1776e92f
Reviewed-on: https://gerrit.libreoffice.org/7775
Reviewed-by: Michael Stahl <mstahl@redhat.com>
Tested-by: Michael Stahl <mstahl@redhat.com>
2014-02-11 10:38:53 +00:00
Caolán McNamara
12e0102f39 coverity#1130446 Uncaught exception
Change-Id: I9225b4ffd507fa3d666862a55dae349c9a76e91d
2014-02-08 20:52:41 +00:00
Stephan Bergmann
f1a09e08f2 Use rtl::Reference
Change-Id: Ia14ad80f13bffe4c1d0078da0198a3ae6eae581e
2014-02-07 09:32:07 +01:00
Stephan Bergmann
922f44344e Avoid css::uno using directives (Reference ambiguities)
Change-Id: Ia702572bef47738531b526addeecd86e7b39aad2
2014-02-07 09:29:21 +01:00
Caolán McNamara
7106e437bc 1158273 Uncaught exception
Change-Id: I3983da2d585762d81446902a710e9a97c6354669
2014-01-25 12:28:07 +00:00
Caolán McNamara
c5135af60f coverity#1158443 Uninitialized pointer field
Change-Id: I1602678c24c1aeec60acee05801e7decc914560f
2014-01-23 16:16:43 +00:00
Caolán McNamara
be090d5a50 coverity#1158444 Uninitialized scalar field
Change-Id: I15f6c6288e2a951543702a15e777167f2240899e
2014-01-23 16:14:49 +00:00
Caolán McNamara
d9d28895f7 coverity#1158445 Uninitialized pointer field
Change-Id: I14dc2197543bf98763190b5aea3a366e823312b4
2014-01-23 16:11:55 +00:00
Caolán McNamara
db72a45a1b coverity#1158493 Uninitialized scalar field
Change-Id: I26de8ab1fa4a20bc08e800f04716507469430612
2014-01-23 16:02:11 +00:00
Jan Holesovsky
c2c530da69 Introduce static inline cppu::acquire(), and make use of that.
This is much better approach compared to the callback function, as it allows
passing arguments to the c++ constructor directly, while still allowing some
additional initialization after having acquired the instance.

Change-Id: I5a0f981915dd58f1522ee6054e53a3550b29d624
2014-01-22 15:09:28 +01:00
Jan Holesovsky
f278397787 Change _get_implementation()'s not to do initialization directly.
Many of the initalizations (in eg. framework) have to be done on an
acquire()'d object, so instead of doing the initialization directly, return
the initialization member function back to the createInstance() /
createInstanceWithContext() / ... and perform the initialization there.

As a sideeffect, I belive the calling initialize() from servicemanager is not
that much a hack any more - whoever converts the implementation to be
constructor-base has the choice to provide the callback, or still initialize
through XInitialization, where the callback is preferred by servicemanager
when it exists.

Change-Id: I8a87b75c54c1441ca0f184967d31ff4902fc4081
2014-01-21 21:25:22 +01:00
Jan Holesovsky
306efefe22 Minimize the constructor functions to a bare minimum.
Most of the constructors are supposed to be only a call of

  new TheInstance(arguments)

or an equivalent; so let's just change the constructor caller accordingly, to
accept unacquired new instance.

If there are exceptions that need to do more heavy lifting, they do not have
to use the constructor feature, or there can be a wrapper for the real
implementation, doing the additional work in their (C++) constructor.

Change-Id: I035c378778aeda60d15af4e56ca3761c586d5ded
2014-01-20 17:37:40 +01:00
Matúš Kukan
73eca35b0a Unify ctor functions for component implementations.
There is no need to use different styles for writing the same thing.
It also makes it easier in future to use search & replace.
But of course, there are also some more complicated functions.

Change-Id: I773da20378af0e0d5a27689d3903df7063fb8ac0
2014-01-18 17:02:40 +01:00
Matúš Kukan
a700ce8e2b Unify ctor functions to have _get_implementation suffix.
Change-Id: I07fe0671d0633ef9480a4f3431df6a64c7902db8
2014-01-15 15:12:01 +01:00
Matúš Kukan
4337a0664f Use const& arguments parameter for ctor functions.
Change-Id: I19ce8bd1a23123ac9a62a7fc95cd54fea5315221
2014-01-15 08:51:27 +01:00
Michael Meeks
91570fc3f3 fastparser: avoid boost::optional where it is un-necessary.
boost::optional appears to show up rather heavily on many profiles.
We already use mnElementToken == DONTKNOW to flag / use these guys.

Change-Id: Ibf2b0167f259cc601da2fb9703e880b78e60886e
2014-01-14 15:52:11 +00:00
Stephan Bergmann
fb9470825c Use bool
Change-Id: Iae455f53f8317eecb8edc38d111c9ef7398a36fb
2014-01-10 17:11:48 +01:00
Noel Grandin
82625bb98e remove unnecessary sal_Unicode casts in OUStringBuffer::append calls
Convert code like:
    buf.append( static_cast<sal_Unicode>('!') );
to:
    buf.append( '!' );

Change-Id: Iacb03a61de65a895540940953b49620677b3d051
2014-01-07 09:43:37 +02:00
Tor Lillqvist
308fdfb1a9 WaE: C4101: 'e' : unreferenced local variable
Change-Id: I06c0f9dc742736f632ed9210ae954e0dc19ca19d
2014-01-03 11:54:30 +02:00
Caolán McNamara
c6aea0bac0 don't call top on an empty stack
Change-Id: Ibe4b4d3785535816b40d46fd0baa60f01e1f9d33
2013-12-31 19:48:17 +00:00
Michael Meeks
4754b8ac50 fastparser: avoid std::stack::top() - cache it's results.
amazingly std::stack::top() takes 146 pseudo-cycles to do not much,
so instead cache the result in a single pointer in lieu of burning
that code.

Change-Id: Ie326be47da6cbad0850e5f1026a1632bb840b6b8
2013-12-31 14:06:21 +00:00
Michael Meeks
838a6011c1 fastparser: move lclGetErrorMessage into the anonymous namespace.
Change-Id: I70e1597f917c2a8dedb5b38807dfde7ec05a1a39
2013-12-20 16:45:15 +00:00
Michael Meeks
169eb25c86 fastparser:: move Entity:: code into the anonymous namespace.
Change-Id: I564e35aa63e4c01cc1a0fb45f674dc1a2a0e89ec
2013-12-20 16:37:03 +00:00