{
const int saveerrno = errno;
sv_setnv(sv, (NV)errno);
- sv_setpv(sv, (const char *)(errno ? Strerror(errno) : ""));
+ sv_setpv(sv, errno ? Strerror(errno) : "");
errno = saveerrno;
}
#endif
sv_setpvn(sv, WARN_NONEstring, WARNsize) ;
}
else if (PL_compiling.cop_warnings == pWARN_STD) {
- sv_setpvn(sv,
- (const char *)
- ((PL_dowarn & G_WARN_ON) ?
- WARN_ALLstring : WARN_NONEstring),
- WARNsize);
+ sv_setpvn(
+ sv,
+ (PL_dowarn & G_WARN_ON) ? WARN_ALLstring : WARN_NONEstring,
+ WARNsize
+ );
}
else if (PL_compiling.cop_warnings == pWARN_ALL) {
/* Get the bit mask for $warnings::Bits{all}, because
sv_setpv(sv, os2error(Perl_rc));
else
#endif
- sv_setpv(sv, (const char *)(errno ? Strerror(errno) : ""));
+ sv_setpv(sv, errno ? Strerror(errno) : "");
errno = saveerrno;
}
#endif
{
dVAR;
STRLEN len = 0, klen;
- const char *s = SvOK(sv) ? SvPV_const(sv,len) : (const char *)"";
+ const char *s = SvOK(sv) ? SvPV_const(sv,len) : "";
const char * const ptr = MgPV_const(mg,klen);
my_setenv(ptr, s);
SV** svp = NULL;
if (strEQ(s,"__DIE__"))
svp = &PL_diehook;
- else if (strEQ(s,"__WARN__"))
+ else if (strEQ(s,"__WARN__") && PL_warnhook != PERL_WARNHOOK_FATAL)
svp = &PL_warnhook;
- else
- Perl_croak(aTHX_ "No such hook: %s", s);
if (svp && *svp) {
- SV * const to_dec = *svp;
+ SV *const to_dec = *svp;
*svp = NULL;
- SvREFCNT_dec(to_dec);
+ SvREFCNT_dec(to_dec);
}
}
else {
Perl_magic_nextpack(pTHX_ SV *sv, MAGIC *mg, SV *key)
{
dVAR; dSP;
- const char * const meth = (const char *)(SvOK(key) ? "NEXTKEY" : "FIRSTKEY");
+ const char * const meth = SvOK(key) ? "NEXTKEY" : "FIRSTKEY";
ENTER;
SAVETMPS;