Lines Matching refs:str
49 static const char* skip_ws(const char str[])
51 SkASSERT(str);
52 while (is_ws(*str))
53 str++;
54 return str;
57 static const char* skip_sep(const char str[])
59 SkASSERT(str);
60 while (is_sep(*str))
61 str++;
62 return str;
65 int SkParse::Count(const char str[])
73 if ((c = *str++) == '\0')
78 if ((c = *str++) == '\0')
86 int SkParse::Count(const char str[], char separator)
94 if ((c = *str++) == '\0')
99 if ((c = *str++) == '\0')
107 const char* SkParse::FindHex(const char str[], uint32_t* value)
109 SkASSERT(str);
110 str = skip_ws(str);
112 if (!is_hex(*str))
119 while ((digit = to_hex(*str)) >= 0)
124 str += 1;
127 if (*str == 0 || is_ws(*str))
131 return str;
136 const char* SkParse::FindS32(const char str[], int32_t* value)
138 SkASSERT(str);
139 str = skip_ws(str);
142 if (*str == '-')
145 str += 1;
148 if (!is_digit(*str))
152 while (is_digit(*str))
154 n = 10*n + *str - '0';
155 str += 1;
159 return str;
162 const char* SkParse::FindMSec(const char str[], SkMSec* value)
164 SkASSERT(str);
165 str = skip_ws(str);
168 if (*str == '-')
171 str += 1;
174 if (!is_digit(*str))
178 while (is_digit(*str))
180 n = 10*n + *str - '0';
181 str += 1;
184 if (*str == '.') {
185 str++;
186 while (is_digit(*str))
188 n = 10*n + *str - '0';
189 str += 1;
198 return str;
201 const char* SkParse::FindScalar(const char str[], SkScalar* value) {
202 SkASSERT(str);
203 str = skip_ws(str);
206 float v = (float)strtod(str, &stop);
207 if (str == stop) {
216 const char* SkParse::FindScalars(const char str[], SkScalar value[], int count)
224 str = SkParse::FindScalar(str, value);
225 if (--count == 0 || str == NULL)
229 str = skip_sep(str);
234 return str;
237 static bool lookup_str(const char str[], const char** table, int count)
240 if (!strcmp(str, table[count]))
245 bool SkParse::FindBool(const char str[], bool* value)
250 if (lookup_str(str, gYes, SK_ARRAY_COUNT(gYes)))
255 else if (lookup_str(str, gNo, SK_ARRAY_COUNT(gNo)))