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);
}
}
#endif
-/* XXX struct tm on some systems (SunOS4/BSD) contains extra (non POSIX)
- * fields for which we don't have Configure support yet:
- * char *tm_zone; -- abbreviation of timezone name
- * long tm_gmtoff; -- offset from GMT in seconds
- * To workaround core dumps from the uninitialised tm_zone we get the
+/* To workaround core dumps from the uninitialised tm_zone we get the
* system to give us a reasonable struct to copy. This fix means that
* strftime uses the tm_zone and tm_gmtoff values returned by
* localtime(time()). That should give the desired result most of the
* time. But probably not always!
*
- * This is a temporary workaround to be removed once Configure
- * support is added and NETaa14816 is considered in full.
- * It does not address tzname aspects of NETaa14816.
+ * This does not address tzname aspects of NETaa14816.
+ *
*/
+
#ifdef HAS_GNULIBC
# ifndef STRUCT_TM_HASZONE
# define STRUCT_TM_HASZONE
# endif
#endif
+#ifdef STRUCT_TM_HASZONE /* Backward compat */
+# ifndef HAS_TM_TM_ZONE
+# define HAS_TM_TM_ZONE
+# endif
+#endif
+
void
Perl_init_tm(pTHX_ struct tm *ptm) /* see mktime, strftime and asctime */
{
-#ifdef STRUCT_TM_HASZONE
+#ifdef HAS_TM_TM_ZONE
Time_t now;
(void)time(&now);
Copy(localtime(&now), ptm, 1, struct tm);
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");
}
}
{
}
+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
+}
+