From: Chip Salzenberg Date: Sun, 30 Mar 1997 03:38:21 +0000 (+1200) Subject: Improve definition of Sock_size_t X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=d574b85ef38b533c29517c911f5b03db91196ab8;p=p5sagit%2Fp5-mst-13.2.git Improve definition of Sock_size_t --- diff --git a/doio.c b/doio.c index 271de28..a52df3e 100644 --- a/doio.c +++ b/doio.c @@ -66,6 +66,15 @@ # endif #endif +/* Put this after #includes because defines _XOPEN_*. */ +#ifndef Sock_size_t +# if _XOPEN_VERSION >= 5 || defined(_XOPEN_SOURCE_EXTENDED) +# define Sock_size_t Size_t +# else +# define Sock_size_t int +# endif +#endif + bool do_open(gv,name,len,as_raw,rawmode,rawperm,supplied_fp) GV *gv; @@ -288,9 +297,10 @@ PerlIO *supplied_fp; !statbuf.st_mode #endif ) { - int buflen = sizeof tokenbuf; - if (getsockname(PerlIO_fileno(fp), (struct sockaddr *)tokenbuf, &buflen) >= 0 - || errno != ENOTSOCK) + Sock_size_t buflen = sizeof tokenbuf; + if (getsockname(PerlIO_fileno(fp), (struct sockaddr *)tokenbuf, + &buflen) >= 0 + || errno != ENOTSOCK) IoTYPE(io) = 's'; /* some OS's return 0 on fstat()ed socket */ /* but some return 0 for streams too, sigh */ } diff --git a/pp_sys.c b/pp_sys.c index 3b06b9c..00012c3 100644 --- a/pp_sys.c +++ b/pp_sys.c @@ -89,11 +89,13 @@ extern int h_errno; # define vfork fork #endif -/* Put this after #includes because defines _XOPEN_VERSION. */ -#if _XOPEN_VERSION >= 4 -# define Sock_size_t Size_t -#else -# define Sock_size_t int +/* Put this after #includes because defines _XOPEN_*. */ +#ifndef Sock_size_t +# if _XOPEN_VERSION >= 5 || defined(_XOPEN_SOURCE_EXTENDED) +# define Sock_size_t Size_t +# else +# define Sock_size_t int +# endif #endif #if !defined(HAS_MKDIR) || !defined(HAS_RMDIR)