Lines Matching defs:pattern

77 	char		pattern;	/* set when file expansion follows */
78 char patfound; /* set if pattern character found */
168 mp->pattern = (mode==1||mode==2);
224 mp->pattern = mp->split && !(flag&ARG_NOGLOB) && !sh_isoption(SH_NOGLOB);
233 mp->pattern = ((flag&ARG_EXP)!=0);
242 if(mp->pattern)
281 mp->split = mp->assign = mp->pattern = mp->patfound = mp->lit = mp->arith = mp->let = 0;
409 * expand argument but do not trim pattern characters
456 if(mp->pattern==2 && *cp=='/')
514 if(c==ESCAPE && mp->pattern)
518 else if(sh_isoption(SH_BRACEEXPAND) && mp->pattern==4 && (*cp==',' || *cp==LBRACE || *cp==RBRACE || *cp=='.'))
539 if(mp->pattern)
541 /* preserve \digit for pattern matching */
548 if(ere && mp->pattern==1 && strchr(".[()*+?{|^$&!",*cp))
595 c = mp->pattern;
639 mp->pattern = c;
643 goto pattern;
644 if(endch==RBRACE && *cp==LPAREN && mp->pattern && brace)
645 goto pattern;
704 int offset=0,oldpat = mp->pattern;
716 mp->pattern = 4;
722 mp->pattern = oldpat;
734 if(mp->pattern && !(mp->quote || mp->lit))
736 mp->patfound = mp->pattern;
754 goto pattern;
756 if(mp->pattern==4 && (mp->quote || mp->lit))
772 pattern:
773 if(!mp->pattern || !(mp->quote || mp->lit))
776 if(n==S_BRACE && endch==0 && mp->pattern)
777 mp->pattern=4;
778 if(n==S_SLASH && mp->pattern==2)
779 mp->pattern=3;
782 if(mp->pattern==3)
810 else if(n==S_SLASH && mp->pattern==2)
812 goto pattern;
816 goto pattern;
856 mp->pattern = 3;
1004 int xpattern = mp->pattern;
1010 mp->pattern = flag?4:0;
1016 mp->pattern = xpattern;
1096 char idbuff[3], *id = idbuff, *pattern=0, *repstr, *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)
1588 mp->pattern = 1+(c=='/');
1596 mp->split = mp->pattern = 0;
1600 mp->pattern = oldpat;
1757 pattern = strdup(argp);
1758 if((type=='/' || c=='/') && (repstr = mac_getstring(pattern)))
1787 nmatch=substring(v,pattern,match,flag&STR_MAXIMAL);
1789 nmatch=strgrpmatch(v,pattern,match,elementsof(match)/2,flag);
1899 mp->pattern = 0;
1902 mp->pattern = oldpat;
1914 if(pattern)
1915 free((void*)pattern);
1919 if(c=='/' && replen>0 && pattern && strmatch("",pattern))
2220 int oldpat = mp->pattern;
2232 else if(mp->pattern>=2 || (mp->pattern && nopat) || mp->assign==3)
2247 if(mp->assign==3 && mp->pattern!=4)
2252 mp->pattern = 4;
2256 if(nopat&&(c==S_PAT||c==S_ESC||c==S_BRACT||c==S_ENDCH) && mp->pattern!=3)
2258 else if(mp->pattern==4 && (c==S_ESC||c==S_BRACT||c==S_ENDCH || isastchar(n)))
2264 mp->pattern = oldpat;
2273 else if(mp->pattern==2 && c==S_SLASH)
2275 else if(mp->pattern==3 && c==S_ESC && (state[*(unsigned char*)cp]==S_DIG||(*cp==ESCAPE)))
2293 else if(!mp->quote && mp->split && (mp->ifs||mp->pattern))
2297 if(mp->pattern)
2329 mp->patfound = mp->pattern;
2333 mp->patfound = mp->pattern;
2381 if(mp->pattern)
2429 else if(split) /* pattern is null string */
2431 else /* pattern expands to nothing */
2702 * Given pattern/string, replace / with 0 and return pointer to string
2706 static char *mac_getstring(char *pattern)
2708 register char *cp=pattern, *rep=0, *dp;