| Index: fusl/src/misc/getsubopt.c
|
| diff --git a/fusl/src/misc/getsubopt.c b/fusl/src/misc/getsubopt.c
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..53ee9573f2fce5430b13424dfabb77f9253d0b97
|
| --- /dev/null
|
| +++ b/fusl/src/misc/getsubopt.c
|
| @@ -0,0 +1,23 @@
|
| +#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;
|
| +}
|
|
|