This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Tick off 5.28.3 and 5.30.3
[perl5.git] / perl.c
diff --git a/perl.c b/perl.c
index df672f5..422a548 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1245,9 +1245,7 @@ perl_destruct(pTHXx)
         }
     }
 
-    if (!specialWARN(PL_compiling.cop_warnings))
-       PerlMemShared_free(PL_compiling.cop_warnings);
-    PL_compiling.cop_warnings = NULL;
+    free_and_set_cop_warnings(&PL_compiling, NULL);
     cophh_free(CopHINTHASH_get(&PL_compiling));
     CopHINTHASH_set(&PL_compiling, cophh_new_empty());
     CopFILE_free(&PL_compiling);
@@ -3740,16 +3738,12 @@ Perl_moreswitches(pTHX_ const char *s)
        return s;
     case 'W':
        PL_dowarn = G_WARN_ALL_ON|G_WARN_ON;
-        if (!specialWARN(PL_compiling.cop_warnings))
-            PerlMemShared_free(PL_compiling.cop_warnings);
-       PL_compiling.cop_warnings = pWARN_ALL ;
+    free_and_set_cop_warnings(&PL_compiling, pWARN_ALL);
        s++;
        return s;
     case 'X':
        PL_dowarn = G_WARN_ALL_OFF;
-        if (!specialWARN(PL_compiling.cop_warnings))
-            PerlMemShared_free(PL_compiling.cop_warnings);
-       PL_compiling.cop_warnings = pWARN_NONE ;
+    free_and_set_cop_warnings(&PL_compiling, pWARN_NONE);
        s++;
        return s;
     case '*':
@@ -5249,7 +5243,7 @@ Perl_my_failure_exit(pTHX)
         * success/warning codes to fatal with out changing
         * the POSIX status code.  The severity makes VMS native
         * status handling work, while UNIX mode programs use the
-        * the POSIX exit codes.
+        * POSIX exit codes.
         */
         if ((STATUS_NATIVE & (STS$K_SEVERE|STS$K_ERROR)) == 0) {
            STATUS_NATIVE &= STS$M_COND_ID;