if (op == OP_phoney_OUTPUT_ONLY || op == OP_phoney_INPUT_ONLY) {
if (name && *name)
- Perl_warner(aTHX_ WARN_IO, "Filehandle %s opened only for %sput",
+ Perl_warner(aTHX_ packWARN(WARN_IO), "Filehandle %s opened only for %sput",
name,
(op == OP_phoney_INPUT_ONLY ? "in" : "out"));
else
- Perl_warner(aTHX_ WARN_IO, "Filehandle opened only for %sput",
+ Perl_warner(aTHX_ packWARN(WARN_IO), "Filehandle opened only for %sput",
(op == OP_phoney_INPUT_ONLY ? "in" : "out"));
} else if (name && *name) {
- Perl_warner(aTHX_ warn_type,
+ Perl_warner(aTHX_ packWARN(warn_type),
"%s%s on %s %s %s", func, pars, vile, type, name);
if (io && IoDIRP(io) && !(IoFLAGS(io) & IOf_FAKE_DIRP))
- Perl_warner(aTHX_ warn_type,
+ Perl_warner(aTHX_ packWARN(warn_type),
"\t(Are you trying to call %s%s on dirhandle %s?)\n",
func, pars, name);
}
else {
- Perl_warner(aTHX_ warn_type,
+ Perl_warner(aTHX_ packWARN(warn_type),
"%s%s on %s %s", func, pars, vile, type);
if (gv && io && IoDIRP(io) && !(IoFLAGS(io) & IOf_FAKE_DIRP))
- Perl_warner(aTHX_ warn_type,
+ Perl_warner(aTHX_ packWARN(warn_type),
"\t(Are you trying to call %s%s on dirhandle?)\n",
func, pars);
}
rev += (*end - '0') * mult;
mult *= 10;
if (orev > rev && ckWARN_d(WARN_OVERFLOW))
- Perl_warner(aTHX_ WARN_OVERFLOW,
+ Perl_warner(aTHX_ packWARN(WARN_OVERFLOW),
"Integer overflow in decimal number");
}
}
{
}
-/*
-=for apidoc memcmp_byte_utf8
+void
+Perl_reentrant_init(pTHX)
+{
+#ifdef USE_REENTRANT_API
+ New(31337, PL_reentrant_buffer, 1, REENTBUF);
+ New(31337, PL_reentrant_buffer->tmbuf, 1, struct tm);
+#endif
+}
-Similar to memcmp(), but the first string is with bytes, the second
-with utf8. Takes into account that the lengths may be different.
-=cut
-*/
-int
-Perl_memcmp_byte_utf8(pTHX_ char *sb, STRLEN lbyte, char *su, STRLEN lutf)
-{
- U8 *sbyte = (U8*)sb;
- U8 *sutf = (U8*)su;
- U8 *ebyte = sbyte + lbyte;
- U8 *eutf = sutf + lutf;
-
- while (sbyte < ebyte) {
- if (sutf >= eutf)
- return 1; /* utf one shorter */
- if (NATIVE_IS_INVARIANT(*sbyte)) {
- if (*sbyte != *sutf)
- return *sbyte - *sutf;
- sbyte++; sutf++; /* CONTINUE */
- } else if ((*sutf & UTF_CONTINUATION_MASK) ==
- (*sbyte >> UTF_ACCUMULATION_SHIFT)) {
- if ((sutf[1] & UTF_CONTINUATION_MASK) !=
- (*sbyte & UTF_CONTINUATION_MASK))
- return (*sbyte & UTF_CONTINUATION_MASK) -
- (*sutf & UTF_CONTINUATION_MASK);
- sbyte++, sutf += 2; /* CONTINUE */
- } else
- return (*sbyte >> UTF_ACCUMULATION_SHIFT) -
- (*sutf & UTF_CONTINUATION_MASK);
- }
- if (sutf >= eutf)
- return 0;
- return -1; /* byte one shorter */
-}