Lines Matching refs:match

68 			new[i].match.string = sdup(myself, T,
69 m[i].match.string);
70 if (new[i].match.string == 0 && m[i].match.string != 0)
74 new[i].match.single.lo =
75 am(myself, m[i].match.single.numRange *
76 sizeof (new[i].match.single.lo[0]));
77 new[i].match.single.hi =
78 am(myself, m[i].match.single.numRange *
79 sizeof (new[i].match.single.hi[0]));
80 if (new[i].match.single.lo != 0)
81 memcpy(new[i].match.single.lo,
82 m[i].match.single.lo,
83 m[i].match.single.numRange);
84 else if (m[i].match.single.lo != 0)
86 if (new[i].match.single.hi != 0)
87 memcpy(new[i].match.single.hi,
88 m[i].match.single.hi,
89 m[i].match.single.numRange);
90 else if (m[i].match.single.hi != 0)
94 new[i].match.berString = sdup(myself, T,
95 m[i].match.berString);
96 if (new[i].match.berString == 0 &&
97 m[i].match.berString != 0)
129 sfree(m[i].match.string);
132 sfree(m[i].match.single.lo);
133 sfree(m[i].match.single.hi);
136 sfree(m[i].match.berString);
780 bp2buf(myself, &b, "%s", NIL(f->match.string));
784 for (i = 0; i < f->match.single.numRange; i++) {
785 if (f->match.single.lo[i] ==
786 f->match.single.hi[i])
788 f->match.single.lo[i]);
791 f->match.single.lo[i],
792 f->match.single.hi[i]);
802 bp2buf(myself, &b, "%s", NIL(f->match.berString));
829 (f->type == mmt_berstring) ? f->match.berString : 0, NULL);
851 val->val[0].value = sdup(myself, T, f->match.string);
1759 bool_t match;
1787 if (f[curf].match.berString[0] != 'a') {
1806 * Since an item match is somewhat like an any match, in that
1887 if ((mstr = f[curf].match.string) == 0 || *mstr == '\0') {
1889 * Count this as a successful match of an empty
1900 * match one or more whitespaces from the input
1910 * "%s %s %s" to match inputs like "foo bar".
1915 /* No match string in 'str' => failure */
1923 /* Success; save start of match string if requested */
1937 match = FALSE;
1938 /* Skip ahead until we match */
1940 unsigned char *lo = f[curf].match.single.lo;
1941 unsigned char *hi = f[curf].match.single.hi;
1943 for (i = 0; i < f[curf].match.single.numRange;
1946 match = TRUE;
1950 if (match)
1953 if (!match)
1958 match = FALSE;
1959 for (i = 0; i < f[curf].match.single.numRange; i++) {
1960 if (*str >= f[curf].match.single.lo[i] &&
1961 *str <= f[curf].match.single.hi[i]) {
1962 match = TRUE;
1966 if (!match)
1976 * Because a wildcard-match isn't necessarily uniquely
2008 if (f[curf].match.limit == eos) {
2045 * Returns 1 in case of a match, 0 otherwise.
2069 * Perform a match operation. For example, given the rule
2083 * f The match format
2113 else if (ftmp->type == mmt_berstring && ftmp->match.berString &&
2114 ftmp->match.berString[0] == 'a')
2173 /* For each input value, perform the match operation */
2274 * We match the whole string, even if we find a value for
2466 * A match doesn't produce an assignable value per se,