Lines Matching refs:pattern

79 	char		pattern;	/* set when file expansion follows */
80 char patfound; /* set if pattern character found */
170 mp->pattern = (mode==1||mode==2);
226 mp->pattern = mp->split && !(flag&ARG_NOGLOB) && !sh_isoption(SH_NOGLOB);
235 mp->pattern = ((flag&ARG_EXP)!=0);
244 if(mp->pattern)
283 mp->split = mp->assign = mp->pattern = mp->patfound = mp->lit = mp->arith = mp->let = 0;
412 * expand argument but do not trim pattern characters
459 if(mp->pattern==2 && *cp=='/')
517 if(c==ESCAPE && mp->pattern)
521 else if(sh_isoption(SH_BRACEEXPAND) && mp->pattern==4 && (*cp==',' || *cp==LBRACE || *cp==RBRACE || *cp=='.'))
542 if(mp->pattern)
544 /* preserve \digit for pattern matching */
551 if(ere && mp->pattern==1 && strchr(".[()*+?{|^$&!",*cp))
598 c = mp->pattern;
642 mp->pattern = c;
646 goto pattern;
647 if(endch==RBRACE && mp->pattern && brace)
650 if(*cp==LPAREN && mp->pattern!=2)
651 goto pattern;
712 int offset=0,oldpat = mp->pattern;
724 mp->pattern = 4;
730 mp->pattern = oldpat;
742 if(mp->pattern && !(mp->quote || mp->lit))
744 mp->patfound = mp->pattern;
762 goto pattern;
764 if(mp->pattern==4 && (mp->quote || mp->lit))
780 pattern:
781 if(!mp->pattern || !(mp->quote || mp->lit))
784 if(n==S_BRACE && endch==0 && mp->pattern)
785 mp->pattern=4;
786 if(n==S_SLASH && mp->pattern==2)
787 mp->pattern=3;
790 if(mp->pattern==3)
825 else if(n==S_SLASH && mp->pattern==2)
827 goto pattern;
831 goto pattern;
1003 int xpattern = mp->pattern;
1009 mp->pattern = flag?4:0;
1015 mp->pattern = xpattern;
1095 char idbuff[3], *id = idbuff, *pattern=0, *repstr=0, *arrmax=0;
1097 int var=1,addsub=0,oldpat=mp->pattern,idnum=0,flag=0,d;
1376 if(type<=1 && np && nv_isvtree(np) && mp->pattern==1 && !mp->split)
1591 mp->pattern = 1+(c=='/');
1599 mp->split = mp->pattern = 0;
1603 mp->pattern = oldpat;
1764 pattern = strdup(argp);
1765 if((type=='/' || c=='/') && (repstr = mac_getstring(pattern)))
1772 mp->pattern = 3;
1811 nmatch=substring(v,pattern,match,flag&STR_MAXIMAL);
1813 nmatch=strgrpmatch(v,pattern,match,elementsof(match)/2,flag);
1923 mp->pattern = 0;
1926 mp->pattern = oldpat;
1941 if(c=='/' && replen>0 && pattern && strmatch("",pattern))
1992 if(pattern)
1993 free(pattern);
2259 int oldpat = mp->pattern;
2275 else if(mp->pattern>=2 || (mp->pattern && nopat) || mp->assign==3)
2290 if(mp->assign==3 && mp->pattern!=4)
2295 mp->pattern = 4;
2299 if(nopat&&(c==S_PAT||c==S_ESC||c==S_BRACT||c==S_ENDCH) && mp->pattern!=3)
2301 else if(mp->pattern==4 && (c==S_ESC||c==S_BRACT||c==S_ENDCH || isastchar(n)))
2307 mp->pattern = oldpat;
2316 else if(mp->pattern==2 && c==S_SLASH)
2318 else if(mp->pattern==3 && c==S_ESC && (state[*(unsigned char*)cp]==S_DIG||(*cp==ESCAPE)))
2336 else if(!mp->quote && mp->split && (mp->ifs||mp->pattern))
2340 if(mp->pattern)
2372 mp->patfound = mp->pattern;
2376 mp->patfound = mp->pattern;
2424 if(mp->pattern)
2472 else if(split) /* pattern is null string */
2474 else /* pattern expands to nothing */
2780 * Given pattern/string, replace / with 0 and return pointer to string
2784 static char *mac_getstring(char *pattern)
2786 register char *cp=pattern, *rep=0, *dp;