Lines Matching refs:str

156 int __snd_ctl_ascii_elem_id_parse(snd_ctl_elem_id_t *dst, const char *str,
163 while (isspace(*str))
164 str++;
165 if (!(*str))
168 while (*str) {
169 if (!strncasecmp(str, "numid=", 6)) {
170 str += 6;
171 numid = atoi(str);
176 snd_ctl_elem_id_set_numid(dst, atoi(str));
177 while (isdigit(*str))
178 str++;
179 } else if (!strncasecmp(str, "iface=", 6)) {
180 str += 6;
181 if (!strncasecmp(str, "card", 4)) {
183 str += 4;
184 } else if (!strncasecmp(str, "mixer", 5)) {
186 str += 5;
187 } else if (!strncasecmp(str, "pcm", 3)) {
189 str += 3;
190 } else if (!strncasecmp(str, "rawmidi", 7)) {
192 str += 7;
193 } else if (!strncasecmp(str, "timer", 5)) {
195 str += 5;
196 } else if (!strncasecmp(str, "sequencer", 9)) {
198 str += 9;
202 } else if (!strncasecmp(str, "name=", 5)) {
204 str += 5;
207 if (*str == '\'' || *str == '\"') {
208 c = *str++;
209 while (*str && *str != c) {
211 *ptr++ = *str;
214 str++;
216 if (*str == c)
217 str++;
219 while (*str && *str != ',') {
221 *ptr++ = *str;
224 str++;
229 } else if (!strncasecmp(str, "index=", 6)) {
230 str += 6;
231 snd_ctl_elem_id_set_index(dst, atoi(str));
232 while (isdigit(*str))
233 str++;
234 } else if (!strncasecmp(str, "device=", 7)) {
235 str += 7;
236 snd_ctl_elem_id_set_device(dst, atoi(str));
237 while (isdigit(*str))
238 str++;
239 } else if (!strncasecmp(str, "subdevice=", 10)) {
240 str += 10;
241 snd_ctl_elem_id_set_subdevice(dst, atoi(str));
242 while (isdigit(*str))
243 str++;
245 if (*str == ',') {
246 str++;
251 if (ret_ptr && isspace(*str))
253 if (*str)
261 *ret_ptr = str;
269 * \param str source ASCII string
272 int snd_ctl_ascii_elem_id_parse(snd_ctl_elem_id_t *dst, const char *str)
274 return __snd_ctl_ascii_elem_id_parse(dst, str, NULL);