Lines Matching refs:end

38 parse_space (const char **pp, const char *end)  in parse_space()  argument
40 while (*pp < end && ISSPACE (**pp)) in parse_space()
46 parse_char (const char **pp, const char *end, char c) in parse_char() argument
48 parse_space (pp, end); in parse_char()
50 if (*pp == end || **pp != c) in parse_char()
58 parse_uint (const char **pp, const char *end, unsigned int *pv) in parse_uint() argument
61 unsigned int len = MIN (ARRAY_LENGTH (buf) - 1, (unsigned int) (end - *pp)); in parse_uint()
82 parse_bool (const char **pp, const char *end, unsigned int *pv) in parse_bool() argument
84 parse_space (pp, end); in parse_bool()
87 while (*pp < end && ISALPHA(**pp)) in parse_bool()
102 parse_feature_value_prefix (const char **pp, const char *end, hb_feature_t *feature) in parse_feature_value_prefix() argument
104 if (parse_char (pp, end, '-')) in parse_feature_value_prefix()
107 parse_char (pp, end, '+'); in parse_feature_value_prefix()
115 parse_feature_tag (const char **pp, const char *end, hb_feature_t *feature) in parse_feature_tag() argument
117 parse_space (pp, end); in parse_feature_tag()
121 if (*pp < end && (**pp == '\'' || **pp == '"')) in parse_feature_tag()
128 while (*pp < end && ISALNUM(**pp)) in parse_feature_tag()
142 if (*pp == end || **pp != quote) in parse_feature_tag()
151 parse_feature_indices (const char **pp, const char *end, hb_feature_t *feature) in parse_feature_indices() argument
153 parse_space (pp, end); in parse_feature_indices()
158 feature->end = (unsigned int) -1; in parse_feature_indices()
160 if (!parse_char (pp, end, '[')) in parse_feature_indices()
163 has_start = parse_uint (pp, end, &feature->start); in parse_feature_indices()
165 if (parse_char (pp, end, ':')) { in parse_feature_indices()
166 parse_uint (pp, end, &feature->end); in parse_feature_indices()
169 feature->end = feature->start + 1; in parse_feature_indices()
172 return parse_char (pp, end, ']'); in parse_feature_indices()
176 parse_feature_value_postfix (const char **pp, const char *end, hb_feature_t *feature) in parse_feature_value_postfix() argument
178 bool had_equal = parse_char (pp, end, '='); in parse_feature_value_postfix()
179 bool had_value = parse_uint (pp, end, &feature->value) || in parse_feature_value_postfix()
180 parse_bool (pp, end, &feature->value); in parse_feature_value_postfix()
189 parse_one_feature (const char **pp, const char *end, hb_feature_t *feature) in parse_one_feature() argument
191 return parse_feature_value_prefix (pp, end, feature) && in parse_one_feature()
192 parse_feature_tag (pp, end, feature) && in parse_one_feature()
193 parse_feature_indices (pp, end, feature) && in parse_one_feature()
194 parse_feature_value_postfix (pp, end, feature) && in parse_one_feature()
195 parse_space (pp, end) && in parse_one_feature()
196 *pp == end; in parse_one_feature()
256 if (feature->start != 0 || feature->end != (unsigned int) -1) in hb_feature_to_string()
261 if (feature->end != feature->start + 1) { in hb_feature_to_string()
263 if (feature->end != (unsigned int) -1) in hb_feature_to_string()
264 len += MAX (0, snprintf (s + len, ARRAY_LENGTH (s) - len, "%u", feature->end)); in hb_feature_to_string()