Date: prev next · Thread: first prev next last
2010 Archives by date, by thread · List index


On 10/4/10, Noel Power <nopower@novell.com> wrote:
On Mon, 2010-10-04 at 09:59 -0500, Norbert Thiebaud wrote:
On 10/4/10, Noel Power <nopower@novell.com> wrote:
Hi Norbet
On Sat, 2010-10-02 at 21:18 -0500, Norbert Thiebaud wrote:
[PATCH] Add support for bool for the operator << and >> of SvStream

I just wonder did you have a specific reason for this patch. I would
assume if someone would be reading or writing a boolean value to a
binary stream they probably would be packing it some how in the
structure they are writing. E.g. normally in the binary filters ( where
SvStream is used ) boolean values are usually read & written ( packed )
into some sort of bit field in 16 or 32 bit words. Caolan what do you
think?

Today these 'boolean' value are typed as sal_Bool or BOOL, both of
them are unsigned char.

This patch is to prepare the code so that I can as some time do a switch
from

typedef sal_Bool BOOL
to
typedef bool BOOL

I guess I don't see what this is to do with adding those >>, <<
operators to one of the binary stream classes, there was no SvStream&
'operator >>( BOOL )' or SvStream& operator << (BOOL&)' unless you found
code that does does read and write 'BOOL' types to the streams ? Have
you?
Bingo.
and there is indeed no  <<(BOOL&) , but there is a <<(unsigned char&)
and since BOOL is sal_Bool which is unsigned char you end up with code like

BOOL bFOO;
BOOL bBAR;

m_stream << bFOO << bBar;

which blow-up when I changed the typedef of BOOL to bool.

Norbert Thiebaud

thanks,
Noel



Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.