Hello Jim, On Wed, Aug 04, 2021 at 08:09:11AM -0400, Jim Jagielski wrote:
> > On Aug 4, 2021, at 7:54 AM, Arrigo Marchiori <ard...@yahoo.it.INVALID> > > wrote: > > > > Hello Jim, > > > > On Wed, Aug 04, 2021 at 07:39:14AM -0400, Jim Jagielski wrote: > > > >> Can you apply the below to your catalina branch build and see how it works? > >> > >> diff --git a/main/comphelper/inc/comphelper/extract.hxx > >> b/main/comphelper/inc/comphelper/extract.hxx > >> index dc67c5dc58..97c4d080f4 100644 > >> --- a/main/comphelper/inc/comphelper/extract.hxx > >> +++ b/main/comphelper/inc/comphelper/extract.hxx > >> @@ -131,16 +131,22 @@ inline sal_Bool SAL_CALL extractInterface( > >> inline sal_Bool SAL_CALL any2bool( const ::com::sun::star::uno::Any & rAny > >> ) > >> throw( ::com::sun::star::lang::IllegalArgumentException ) > >> { > >> - if (rAny.getValueTypeClass() == > >> ::com::sun::star::uno::TypeClass_BOOLEAN) > >> + bool bValue; > >> + sal_Bool sBValue; > >> + if ( rAny >>= bValue ) > >> { > >> - return *(sal_Bool *)rAny.getValue(); > >> + return *(sal_Bool *)bValue; // Why not just > >> (sal_Bool)bValue ? > > > > Are you sure about returning "*(sal_Bool *)bValue"? Are we not > > treating bValue as a pointer here, while it is a bool? > > To me it looks like returning either *0 or *1... > > > > Well, 2 things: > > 1. As you can see, the format is the exact that we've had all along > 2. We cast as a pointer to a sal_Bool and then get the contents of the > pointer (ie: re return the deref of the pointer, not the pointer Yes, but in your patch we are substituting a call to rAny.getValue(), that returns `const void *` with `bValue` that is `bool`. http://opengrok.openoffice.org/xref/aoo41x/main/cppu/inc/com/sun/star/uno/Any.h?r=24f6443d#163 For this reason IMHO the cast makes sense the first time and not the second... I'd rather do: return *(sal_Bool *)&bValue; ^ > Why we do that (cast as a pointer and then deref) is curious, hence the > comment I totally agree on this. It looks like type punning. Best regards, -- Arrigo --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org