This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
regcomp.c: Collapse some switch casses
authorKarl Williamson <public@khwilliamson.com>
Fri, 14 Dec 2012 03:30:10 +0000 (20:30 -0700)
committerKarl Williamson <public@khwilliamson.com>
Sat, 22 Dec 2012 18:11:29 +0000 (11:11 -0700)
Previous commits have caused these cases in this switch to be identical,
so they can be collapsed.

regcomp.c

index 76a62c4..c669693 100644 (file)
--- a/regcomp.c
+++ b/regcomp.c
@@ -12030,10 +12030,16 @@ parseit:
                     }
                    break;
                case ANYOF_CNTRL:
+               case ANYOF_PSXSPC:
+               case ANYOF_SPACE:
+               case ANYOF_XDIGIT:
                     DO_POSIX(ret, namedclass, posixes,
                                             PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
                    break;
                case ANYOF_NCNTRL:
+               case ANYOF_NPSXSPC:
+               case ANYOF_NSPACE:
+               case ANYOF_NXDIGIT:
                     DO_N_POSIX(ret, namedclass, posixes,
                                             PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
                    break;
@@ -12097,22 +12103,6 @@ parseit:
                    }
                    break;
                }
-               case ANYOF_PSXSPC:
-                    DO_POSIX(ret, namedclass, posixes,
-                                            PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
-                   break;
-               case ANYOF_NPSXSPC:
-                    DO_N_POSIX(ret, namedclass, posixes,
-                                            PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
-                   break;
-               case ANYOF_SPACE:
-                    DO_POSIX(ret, namedclass, posixes,
-                                            PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
-                   break;
-               case ANYOF_NSPACE:
-                    DO_N_POSIX(ret, namedclass, posixes,
-                                            PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
-                   break;
                case ANYOF_VERTWS:
                    /* For these, we use the cp_list, as /d doesn't make a
                     * difference in what these match.  There would be problems
@@ -12125,14 +12115,6 @@ parseit:
                                                   PL_XPosix_ptrs[classnum],
                                                   &cp_list);
                    break;
-               case ANYOF_XDIGIT:
-                    DO_POSIX(ret, namedclass, posixes,
-                                            PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
-                   break;
-               case ANYOF_NXDIGIT:
-                    DO_N_POSIX(ret, namedclass, posixes,
-                                            PL_Posix_ptrs[classnum], PL_XPosix_ptrs[classnum]);
-                   break;
                case ANYOF_UNIPROP: /* this is to handle \p and \P */
                    break;
                default: