This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
add lib/overload/numbers.pm to (unused) output file list in regen.pl
[perl5.git] / mg.c
diff --git a/mg.c b/mg.c
index 6f4cc58..276e13d 100644 (file)
--- a/mg.c
+++ b/mg.c
@@ -772,14 +772,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
        break;
     case '\005':  /* ^E */
         if (nextchar == '\0') {
-#if defined(MACOS_TRADITIONAL)
-            {
-                 char msg[256];
-
-                 sv_setnv(sv,(double)gMacPerl_OSErr);
-                 sv_setpv(sv, gMacPerl_OSErr ? GetSysErrText(gMacPerl_OSErr, msg) : "");
-            }
-#elif defined(VMS)
+#if defined(VMS)
             {
 #                include <descrip.h>
 #                include <starlet.h>
@@ -817,10 +810,10 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
             }
 #else
             {
-                const int saveerrno = errno;
+                dSAVE_ERRNO;
                 sv_setnv(sv, (NV)errno);
                 sv_setpv(sv, errno ? Strerror(errno) : "");
-                errno = saveerrno;
+                RESTORE_ERRNO;
             }
 #endif
             SvRTRIM(sv);
@@ -904,7 +897,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
             else if (PL_compiling.cop_warnings == pWARN_ALL) {
                /* Get the bit mask for $warnings::Bits{all}, because
                 * it could have been extended by warnings::register */
-               HV * const bits=get_hv("warnings::Bits", FALSE);
+               HV * const bits=get_hv("warnings::Bits", 0);
                if (bits) {
                    SV ** const bits_all = hv_fetchs(bits, "all", FALSE);
                    if (bits_all)
@@ -1036,7 +1029,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
        sv_setpv(sv, errno ? Strerror(errno) : "");
 #else
        {
-       const int saveerrno = errno;
+       dSAVE_ERRNO;
        sv_setnv(sv, (NV)errno);
 #ifdef OS2
        if (errno == errno_isOS2 || errno == errno_isOS2_set)
@@ -1044,7 +1037,7 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
        else
 #endif
        sv_setpv(sv, errno ? Strerror(errno) : "");
-       errno = saveerrno;
+       RESTORE_ERRNO;
        }
 #endif
        SvRTRIM(sv);
@@ -1075,10 +1068,8 @@ Perl_magic_get(pTHX_ SV *sv, MAGIC *mg)
        (void)SvIOK_on(sv);     /* what a wonderful hack! */
 #endif
        break;
-#ifndef MACOS_TRADITIONAL
     case '0':
        break;
-#endif
     }
     return 0;
 }
@@ -2385,21 +2376,17 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
        break;
     case '\005':  /* ^E */
        if (*(mg->mg_ptr+1) == '\0') {
-#ifdef MACOS_TRADITIONAL
-           gMacPerl_OSErr = SvIV(sv);
-#else
-#  ifdef VMS
+#ifdef VMS
            set_vaxc_errno(SvIV(sv));
-#  else
-#    ifdef WIN32
+#else
+#  ifdef WIN32
            SetLastError( SvIV(sv) );
-#    else
-#      ifdef OS2
+#  else
+#    ifdef OS2
            os2_setsyserrno(SvIV(sv));
-#      else
+#    else
            /* will anyone ever use this? */
            SETERRNO(SvIV(sv), 4);
-#      endif
 #    endif
 #  endif
 #endif
@@ -2774,7 +2761,6 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
     case ':':
        PL_chopset = SvPV_force(sv,len);
        break;
-#ifndef MACOS_TRADITIONAL
     case '0':
        LOCK_DOLLARZERO_MUTEX;
 #ifdef HAS_SETPROCTITLE
@@ -2840,7 +2826,6 @@ Perl_magic_set(pTHX_ SV *sv, MAGIC *mg)
 #endif
        UNLOCK_DOLLARZERO_MUTEX;
        break;
-#endif
     }
     return 0;
 }