rtl_[u]String_newConcat now checks allocation result to return
early and avoid SIGSEGV. Other functions are not modified, to
keep old behavior relying on allocation success and crashing
early on OOM to avoid added overhead in performance-critical
places.
OUString operator+= now checks rtl_uString_newConcat result and
throws std::bad_alloc on failure, to specifically address BASIC
problem. It keeps strong exception guarantee of leaving this'
state unaltered.
Concatenation in BASIC now checks for bad string allocation
(previously SIGSEGV was generated).
Unit test included.
Change-Id: I1513311d3d58eac43b2d2ec9a230e22dff0b4245
Reviewed-on: https://gerrit.libreoffice.org/37965
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Jenkins <ci@libreoffice.org>
* Input of two-digit years only possible through CDateFromIso() though to
maintain compatibility with previous behavior and also VBA mode.
* VBA mode restricted to years 1..9999
Change-Id: Ia9574c3bf136619b4831b349d263c96b162d1ed4
Introduced with 060c2b9b1b "QA Basic: split tests
of methods in different files", but GetSystemTicks appears to routinely return
negative values.
Change-Id: Ibccdf753aea581e05e9d4e1bf551ae72dc70c959
Basic hex literals are basic Integer ( e.g. 4 byte ) types with
-2,147,483,648 through 2,147,483,647 range. Interally the scanner
was using a long to form/scan the literal, this led to bad behaviour
on 64bit linux ( where normally long -> 8 bytes )
Change-Id: I1d0fcc55ed0eda636da1445329737d1684e69f33
in basic some function results are influenced by locale, now
in the basic_coverage directory you can have sub dirs ( named
by the proper locale e.g. de-DE etc. ) and any macros found
there will be run in the desired locale
Change-Id: I625ee58d37493f83a15a62214bde6708e8fa75f7
basic_coverage is a generic unit test that scan
qa/basic_coverage/*
each file there is supposed to be a well formed Basic script
that define as least a Function doUnitTest as Integer
that return 1 if OK, 0 if not OK
Change-Id: I6c3cfac1e7ce4748f46c04344102a0eff69b6a49