summaryrefslogtreecommitdiff
path: root/reentr.c
diff options
context:
space:
mode:
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;