xub_StrLen and UNO
Stephan Bergmann
sbergman at redhat.com
Mon Jul 29 23:55:24 PDT 2013
On 07/29/2013 11:43 PM, Norbert Thiebaud wrote:
> so... I starting to hit the uno wall trying to convert String to OUString...
>
> for instance: XTextComponent has a getMaxTextLen() api that return a
> sal_Int16... that was already borked since the underlying data was
> sal_uInt16... but going to sal_In32 would be a ABI break wouldn't it ?
> so how are we to proceed with these cases ?
OMG, who wrote such crap?
One solution for css.awt.XTextComponent.getMaxTextLen would be to throw
some RuntimeException when it can't return the true length.
Another solution would be to change this (and likely some similar
mistakes across css.awt, too?) incompatibly to use long instead of
short. For our typical C++ ABI, old clients of both get- and
setMaxTextLen should likely continue to work just fine, and for Basic
and Python anyway. Only problem would be old Java clients, which would
result in some IncompatibleWhatnotError. (And, as a datapoint to
extrapolate external usage from, I see at least two such Java calls to
setMaxTextLen in the LO code base,
wizards/com/sun/star/wizards/table/{FieldFormatter,Finalizer}.java.)
So which one is better depends on whether there is any likelihood at all
that such a max text length should ever be substantially large.
Stephan
More information about the LibreOffice
mailing list