summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2002-10-04 19:11:57 +0300
committerhv <hv@crypt.org>2002-10-11 22:28:36 +0000
commitb5379b0df09a1d2f8fb44659104d41784790923d (patch)
tree6bac42b96a67497891ed558746056bf58261a1b1
parentfb14229d046006b2f5d3159b99a4486315081739 (diff)
downloadperl-b5379b0df09a1d2f8fb44659104d41784790923d.tar.gz
No warn, just ERANGE (Was: Re: [PATCH] reentrant buffers)
Message-ID: <20021004131157.GD278184@lyta.hut.fi> p4raw-id: //depot/perl@17999
-rw-r--r--pod/perldiag.pod8
-rw-r--r--reentr.c28
-rw-r--r--reentr.pl27
3 files changed, 9 insertions, 54 deletions
diff --git a/pod/perldiag.pod b/pod/perldiag.pod
index 8f7d0ec9d7..d0626bf0ac 100644
--- a/pod/perldiag.pod
+++ b/pod/perldiag.pod
@@ -3135,14 +3135,6 @@ signed integers. See L<perlfunc/pack>.
(F) You can't specify a repeat count so large that it overflows your
signed integers. See L<perlfunc/unpack>.
-=item Result from %s larger than %d bytes
-
-(W misc) A library call like getgrent() tried to return more results
-than Perl was willing to accept. This happens only when Perl has been
-compiled to have threads and to have an upper limit on such calls
-(the default is to keep regrowing the result buffer until the result fits).
-However, now the results were truncated.
-
=item Reversed %s= operator
(W syntax) You wrote your assignment operator backwards. The = must
diff --git a/reentr.c b/reentr.c
index 3d8cdf8882..35a1e91a74 100644
--- a/reentr.c
+++ b/reentr.c
@@ -312,9 +312,6 @@ Perl_reentrant_retry(const char *f, ...)
# if defined(USE_HOSTENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SERVENT_BUFFER)
int anint;
# endif
-#ifdef PERL_REENTRANT_MAXSIZE
- static const char larger[] = "Result from %s larger than %d bytes";
-#endif
va_list ap;
va_start(ap, f);
@@ -348,6 +345,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -378,6 +376,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -409,11 +408,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -444,11 +439,6 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
}
break;
#endif
@@ -478,11 +468,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -514,11 +500,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
diff --git a/reentr.pl b/reentr.pl
index 1f4e6ac402..85ec64a1c5 100644
--- a/reentr.pl
+++ b/reentr.pl
@@ -784,9 +784,6 @@ Perl_reentrant_retry(const char *f, ...)
# if defined(USE_HOSTENT_BUFFER) || defined(USE_NETENT_BUFFER) || defined(USE_PROTOENT_BUFFER) || defined(USE_SERVENT_BUFFER)
int anint;
# endif
-#ifdef PERL_REENTRANT_MAXSIZE
- static const char larger[] = "Result from %s larger than %d bytes";
-#endif
va_list ap;
va_start(ap, f);
@@ -881,11 +878,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -916,11 +909,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -950,11 +939,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif
@@ -986,11 +971,7 @@ Perl_reentrant_retry(const char *f, ...)
break;
}
}
-#ifdef PERL_REENTRANT_MAXSIZE
- else if (ckWARN(WARN_MISC))
- Perl_warner(aTHX_ packWARN(WARN_MISC),
- larger, OP_NAME(PL_op), PERL_REENTRANT_MAXSIZE);
-#endif
+ SETERRNO(ERANGE, LIB_INVARG);
}
break;
#endif