[Libreoffice] Purpose of easy task 'Get rid of sal_uLong' ?
l.lunak at suse.cz
Tue Mar 29 06:11:44 PDT 2011
On Monday 28 of March 2011, Bjoern Michaelsen wrote:
> Hi Lubos,
> On Mon, 28 Mar 2011 12:45:11 +0200
> Lubos Lunak <l.lunak at suse.cz> wrote:
> > Specifically, the simple and logical type for numbers happens to be
> > 'int'. Some kind of intptr type is usually only for ugly hacks, and
> > bit-precise types are mainly for marshalling. Is there any point in
> > keeping the task as it is or can I change it to 'use sal_uInt32 if
> > the precise size is need, e.g. for marshalling, use sal_uIntPtr if it
> > is used for storing pointer value, otherwise simply use int'? And,
> > looking at this description, is there any plan to get rid of these
> > superfluous sal_xxx types eventually?
> IHMO, our aim should be to have _one_ canonical set of numerical types
> in LibreOffice, and not one for marshalling, one for other cases.
Why not? I generally just need a number and int fits that perfectly. I really
don't care how many bits it has as long as it works and don't need to wonder
if I should use sal_Int32, sal_UInt16, sal_Int64 or whatever.
> Using non sal_* numeric types is just asking for trouble in the long
> run, because some day you will need to marshall that stuff somewhere.
How is that different from having different sal_whatever in the code and
marshalling with that? If size-specific types are kept only for marshalling,
then it's at least obvious what the marshalling format is.
> And there is absolutely no hurt in using the sal_* typedefs(*).
It's more typing and it's foreign to anybody not used to the codebase. Sure,
that may sound like silly reasons, but it's still two more reasons than I can
come up with for the other way around. Besides, I have already seen a number
of commits changing BOOL/sal_Bool to bool, so at least some people seem to
see the value of abandoning the sal_ types where not necessary.
l.lunak at suse.cz
More information about the LibreOffice