Annoying prototypes for execv* functions in V.4 <sys/unistd.h>
seth.r.rosenthal
sethr at cbnewsl.att.com
Fri Feb 1 04:40:39 AEST 1991
In article <3598 at lupine.NCD.COM>, rfg at lupine.ncd.com (Ron Guilmette) writes:
> If you use and/or sell System V Release 4 you may want to fix up your
> <sys/unistd.h> file.
>
> It probably contains:
>
> extern int execv(const char *, char *const *);
> extern int execve(const char *, char *const *, char *const *);
> extern int execvp(const char *, char *const *);
>
These prototypes come right out of 1003.1-1990. That
is why they are in SVR4.
> I'm fairly sure that these declarations should be changed to:
>
> extern int execv(const char *, const char *const *);
> extern int execve(const char *, const char *const *, const char *const *);
> extern int execvp(const char *, const char *const *);
>
> If your company sells V.4 ports to the general public (either on your
> company's own hardware or on somebody else's) I encourage you to fix
> this annoying little problem in the systems that your company distributes
> to its customers.
>
> Please don't make us all suffer with this annoying glitch.
I personally wouldn't change unistd.h in this case. It will
break your POSIX compliance.
Seth Rosenthal
Disclaimer: All opinions are my own not my employers'.
(but in this case they may actually be the same)
More information about the Comp.bugs.sys5
mailing list