Author: jilles
Date: Thu Dec 31 20:15:57 2015
New Revision: 293002
URL: https://svnweb.freebsd.org/changeset/base/293002

Log:
  sh: Remove redundant CTLQUOTEMARK checks.
  
  With the new expand.c code, the intermediate representation passed to the
  pathname generation code only contains CTLESC, not CTLQUOTEMARK.
  
  CTLQUOTEMARK now only occurs in the text of NARG nodes (output of the
  parser).

Modified:
  head/bin/sh/expand.c

Modified: head/bin/sh/expand.c
==============================================================================
--- head/bin/sh/expand.c        Thu Dec 31 20:00:53 2015        (r293001)
+++ head/bin/sh/expand.c        Thu Dec 31 20:15:57 2015        (r293002)
@@ -1018,7 +1018,7 @@ static char expdir[PATH_MAX];
 
 /*
  * Perform pathname generation and remove control characters.
- * At this point, the only control characters should be CTLESC and 
CTLQUOTEMARK.
+ * At this point, the only control characters should be CTLESC.
  * The results are stored in the list dstlist.
  */
 static void
@@ -1083,8 +1083,6 @@ expmeta(char *enddir, char *name, struct
                        if (*q == '!' || *q == '^')
                                q++;
                        for (;;) {
-                               while (*q == CTLQUOTEMARK)
-                                       q++;
                                if (*q == CTLESC)
                                        q++;
                                if (*q == '/' || *q == '\0')
@@ -1096,8 +1094,6 @@ expmeta(char *enddir, char *name, struct
                        }
                } else if (*p == '\0')
                        break;
-               else if (*p == CTLQUOTEMARK)
-                       continue;
                else {
                        if (*p == CTLESC)
                                esc++;
@@ -1112,8 +1108,6 @@ expmeta(char *enddir, char *name, struct
                if (enddir != expdir)
                        metaflag++;
                for (p = name ; ; p++) {
-                       if (*p == CTLQUOTEMARK)
-                               continue;
                        if (*p == CTLESC)
                                p++;
                        *enddir++ = *p;
@@ -1130,8 +1124,6 @@ expmeta(char *enddir, char *name, struct
        if (start != name) {
                p = name;
                while (p < start) {
-                       while (*p == CTLQUOTEMARK)
-                               p++;
                        if (*p == CTLESC)
                                p++;
                        *enddir++ = *p++;
@@ -1160,8 +1152,6 @@ expmeta(char *enddir, char *name, struct
        }
        matchdot = 0;
        p = start;
-       while (*p == CTLQUOTEMARK)
-               p++;
        if (*p == CTLESC)
                p++;
        if (*p == '.')
@@ -1280,8 +1270,6 @@ patmatch(const char *pattern, const char
                        if (*q++ != *p++)
                                goto backtrack;
                        break;
-               case CTLQUOTEMARK:
-                       continue;
                case '?':
                        if (*q == '\0')
                                return 0;
@@ -1298,7 +1286,7 @@ patmatch(const char *pattern, const char
                        break;
                case '*':
                        c = *p;
-                       while (c == CTLQUOTEMARK || c == '*')
+                       while (c == '*')
                                c = *++p;
                        /*
                         * If the pattern ends here, we know the string
@@ -1342,8 +1330,6 @@ patmatch(const char *pattern, const char
                                        c = '[';
                                        goto dft;
                                }
-                               if (c == CTLQUOTEMARK)
-                                       continue;
                                if (c == '[' && *p == ':') {
                                        found |= match_charclass(p, chr, &end);
                                        if (end != NULL)
@@ -1360,8 +1346,6 @@ patmatch(const char *pattern, const char
                                        wc = (unsigned char)c;
                                if (*p == '-' && p[1] != ']') {
                                        p++;
-                                       while (*p == CTLQUOTEMARK)
-                                               p++;
                                        if (*p == CTLESC)
                                                p++;
                                        if (localeisutf8) {
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to