summaryrefslogtreecommitdiff
path: root/reentr.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2003-03-11 17:43:10 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2003-03-11 17:43:10 +0000
commitab2b559bb5510413385bdf5e5398bcdfb293e40d (patch)
tree0c9572581d83ae021dd666824bf07412dbbcd7c0 /reentr.c
parent6dea66918087e590d3c83e3571f2b8c019f8f7ce (diff)
downloadperl-ab2b559bb5510413385bdf5e5398bcdfb293e40d.tar.gz
Uid_t and Gid_t can easily be shorts and one cannot
pull shorts off the va_args, int is the shortest (ahem). p4raw-id: //depot/perl@18919
Diffstat (limited to 'reentr.c')
-rw-r--r--reentr.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/reentr.c b/reentr.c
index 8b655da86c..8dddbe7665 100644
--- a/reentr.c
+++ b/reentr.c
@@ -368,7 +368,11 @@ Perl_reentrant_retry(const char *f, ...)
p0 = va_arg(ap, void *);
retptr = getgrnam(p0); break;
case OP_GGRGID:
+#if Gid_t_size < INTSIZE
+ gid = (Gid_t)va_arg(ap, int);
+#else
gid = va_arg(ap, Gid_t);
+#endif
retptr = getgrgid(gid); break;
case OP_GGRENT:
retptr = getgrent(); break;
@@ -431,7 +435,11 @@ Perl_reentrant_retry(const char *f, ...)
p0 = va_arg(ap, void *);
retptr = getpwnam(p0); break;
case OP_GPWUID:
+#if Uid_t_size < INTSIZE
+ uid = (Uid_t)va_arg(ap, int);
+#else
uid = va_arg(ap, Uid_t);
+#endif
retptr = getpwuid(uid); break;
case OP_GPWENT:
retptr = getpwent(); break;