Subject: Re: long long vs. -ansi...
To: None <christos@deshaw.com>
From: Mike Long <mike.long@analog.com>
List: current-users
Date: 04/08/1997 11:41:58
>From: christos@deshaw.com (Christos Zoulas)
>Date: Tue, 8 Apr 1997 11:29:22 -0400
>
>On Apr 8, 11:12am, gwr@mc.com (Gordon W. Ross) wrote:
>-- Subject: Re: long long vs. -ansi...

>| 	void (*sa_handler)(int);
>| 	void (*sa_sigaction)(int, siginfo_t *, void *);
>
>That is correct. On the other hand, you'll need to have the `int' argument
>in the `c' case too, otherwise the warning will not go away:

>This is the easy part; the question is what to do with the legacy 
>`struct sigvec'. This needs to be passed:
>
>    void (*sv_handler)(int sig, struct sigcontext *ctx, char *addr);
>
>On the other hand, this is not implemented in most architectures, so my
>inclination is to declare it  void(*)(int) and be done with it.

I know it's gross, but would it work to declare signal handlers like
this?:

void (*handler) __P((int, ...));

You'd lose typechecking on all arguments after the first, but it does
express all of the variants in a minimal way.
-- 
Mike Long <mike.long@analog.com>     <URL:http://www.shore.net/~mikel>
VLSI Design Engineer         finger mikel@shore.net for PGP public key
Analog Devices, CPD Division          CCBF225E7D3F7ECB2C8F7ABB15D9BE7B
Norwood, MA 02062 USA       (eq (opinion 'ADI) (opinion 'mike)) -> nil