On Wed, Jul 27, 2005 at 05:06:24PM +0100, Robin Barker wrote: > > > -----Original Message----- > From: Nicholas Clark [mailto:[EMAIL PROTECTED] > Sent: 27 July 2005 17:03 > To: Steve Peters > Cc: perl5-porters@perl.org > Subject: Re: [PATCH] Squish warnings in POSIX.xs > > > On Wed, Jul 27, 2005 at 11:01:00AM -0500, Steve Peters wrote: > > POSIX.xs has recently been giving the following warnings: > > > > POSIX.xs: In function `XS_POSIX_sigaction': > > POSIX.xs:1348: warning: comparison of distinct pointer types lacks a cast > > POSIX.xs:1357: warning: assignment from incompatible pointer type > > > > The problem comes with assigning Perl's Sigaction_t to > > sigaction.sa_handler. It > > seems to like C<void *>, so that's what we can give it. It's paassing its > > tests from what I can see, but we'll see how the smokes do on platforms > > other > > than Linux and OpenBSD. > > Casting pointers to functions to pointers to data isn't conformant ANSI C. > > ----- > > These casts can be "laundered" via a (sufficiently) long unsigned integer. > > Use FPTR2DPTR and DPTR2FPTR defined in perl.h > Hateful GNU! OK, I'll re-work and try again :-/
Steve