1234567891011121314151617181920212223 |
- #include <stdlib.h>
- #include <string.h>
- int getsubopt(char **opt, char *const *keys, char **val)
- {
- char *s = *opt;
- int i;
- *val = NULL;
- *opt = strchr(s, ',');
- if (*opt) *(*opt)++ = 0;
- else *opt = s + strlen(s);
- for (i=0; keys[i]; i++) {
- size_t l = strlen(keys[i]);
- if (strncmp(keys[i], s, l)) continue;
- if (s[l] == '=')
- *val = s + l + 1;
- else if (s[l]) continue;
- return i;
- }
- return -1;
- }
|