Lines Matching refs:end

49 parse_space (const char **pp, const char *end)
51 while (*pp < end && ISSPACE (**pp))
57 parse_char (const char **pp, const char *end, char c)
59 parse_space (pp, end);
61 if (*pp == end || **pp != c)
69 parse_uint (const char **pp, const char *end, unsigned int *pv)
72 unsigned int len = MIN (ARRAY_LENGTH (buf) - 1, (unsigned int) (end - *pp));
93 parse_bool (const char **pp, const char *end, unsigned int *pv)
95 parse_space (pp, end);
98 while (*pp < end && ISALPHA(**pp))
113 parse_feature_value_prefix (const char **pp, const char *end, hb_feature_t *feature)
115 if (parse_char (pp, end, '-'))
118 parse_char (pp, end, '+');
126 parse_feature_tag (const char **pp, const char *end, hb_feature_t *feature)
128 parse_space (pp, end);
132 if (*pp < end && (**pp == '\'' || **pp == '"'))
139 while (*pp < end && ISALNUM(**pp))
153 if (*pp == end || **pp != quote)
162 parse_feature_indices (const char **pp, const char *end, hb_feature_t *feature)
164 parse_space (pp, end);
169 feature->end = (unsigned int) -1;
171 if (!parse_char (pp, end, '['))
174 has_start = parse_uint (pp, end, &feature->start);
176 if (parse_char (pp, end, ':')) {
177 parse_uint (pp, end, &feature->end);
180 feature->end = feature->start + 1;
183 return parse_char (pp, end, ']');
187 parse_feature_value_postfix (const char **pp, const char *end, hb_feature_t *feature)
189 bool had_equal = parse_char (pp, end, '=');
190 bool had_value = parse_uint (pp, end, &feature->value) ||
191 parse_bool (pp, end, &feature->value);
200 parse_one_feature (const char **pp, const char *end, hb_feature_t *feature)
202 return parse_feature_value_prefix (pp, end, feature) &&
203 parse_feature_tag (pp, end, feature) &&
204 parse_feature_indices (pp, end, feature) &&
205 parse_feature_value_postfix (pp, end, feature) &&
206 parse_space (pp, end) &&
207 *pp == end;
272 if (feature->start != 0 || feature->end != (unsigned int) -1)
277 if (feature->end != feature->start + 1) {
279 if (feature->end != (unsigned int) -1)
280 len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->end));