-static int mount_find_pri(const char *options, int *ret) {
- const char *opt;
- char *end;
- unsigned long r;
-
- assert(ret);
-
- if (!options)
- return 0;
-
- opt = mount_test_option(options, "pri");
- if (!opt)
- return 0;
-
- opt += strlen("pri");
- if (*opt != '=')
- return -EINVAL;
-
- errno = 0;
- r = strtoul(opt + 1, &end, 10);
- if (errno > 0)
- return -errno;
-
- if (end == opt + 1 || (*end != ',' && *end != 0))
- return -EINVAL;
-
- *ret = (int) r;
- return 1;
-}
-
-static int mount_find_discard(const char *options, char **ret) {
- const char *opt;
- char *ans;
- size_t len;
-
- assert(ret);
-
- if (!options)
- return 0;
-
- opt = mount_test_option(options, "discard");
- if (!opt)
- return 0;
-
- opt += strlen("discard");
- if (*opt == ',' || *opt == '\0')
- ans = strdup("all");
- else {
- if (*opt != '=')
- return -EINVAL;
-
- len = strcspn(opt + 1, ",");
- if (len == 0)
- return -EINVAL;
-
- ans = strndup(opt + 1, len);
- }
-
- if (!ans)
- return -ENOMEM;
-
- *ret = ans;
- return 1;
-}
-