The attached patch fixes a compilation warning from POSIX.xs when cuserid
is missing and ints and pointers have different size. eg on Mac OSX when
using 64-bit mode.
gcc-4.2 -c -fno-common -DPERL_DARWIN -no-cpp-precomp -arch x86_64 -DDEBUGGING -fno-strict-aliasing -pipe -fstack-protector
-I/usr/local/include -I/opt/local/include -O3 -g -DVERSION=\"1.17\"
-DXS_VERSION=\"1.17\" "-I../.." POSIX.c
POSIX.c: In function 'XS_POSIX_cuserid':
POSIX.c:4096: warning: cast to pointer from integer of different size
Running Mkbootstrap for POSIX ()
chmod 644 POSIX.bs
rm -f ../../lib/auto/POSIX/POSIX.bundle
Also relevant for 5.10.1.
Signed-off-by: H.Merijn Brand <h.m.brand@xs4all.nl>
#endif
/* Possibly needed prototypes */
-char *cuserid (char *);
#ifndef WIN32
double strtod (const char *, char **);
long strtol (const char *, char **, int);
unsigned long strtoul (const char *, char **, int);
#endif
-#ifndef HAS_CUSERID
-#define cuserid(a) (char *) not_here("cuserid")
-#endif
#ifndef HAS_DIFFTIME
#ifndef difftime
#define difftime(a,b) not_here("difftime")
char *
cuserid(s = 0)
char * s = 0;
+ CODE:
+#ifdef HAS_CUSERID
+ RETVAL = cuserid(s);
+#else
+ RETVAL = 0;
+ not_here("cuserid");
+#endif
+ OUTPUT:
+ RETVAL
SysRetLong
fpathconf(fd, name)