Signed-off-by: Tokunori Ikegami <ikegami.t@gmail.com>
{
void *value = (void *)(char *)s->default_value;
char *endptr;
- const char *fopts = NULL;
- FILE *f;
int ret = 0;
char **opts = ((char **)value);
int remaining_space = CFG_MAX_SUBOPTS - 2;
ret = -EINVAL;
}
break;
- case CFG_FILE_A:
- fopts = "a";
- fallthrough;
- case CFG_FILE_R:
- if (!fopts)
- fopts = "r";
- fallthrough;
- case CFG_FILE_W:
- if (!fopts)
- fopts = "w";
- fallthrough;
- case CFG_FILE_AP:
- if (!fopts)
- fopts = "a+";
- fallthrough;
- case CFG_FILE_RP:
- if (!fopts)
- fopts = "r+";
- fallthrough;
- case CFG_FILE_WP:
- if (!fopts)
- fopts = "w+";
- f = fopen(optarg, fopts);
- if (!f) {
- fprintf(stderr, "Unable to open %s file: %s\n", s->option, optarg);
- ret = -EINVAL;
- } else {
- *((FILE **)value) = f;
- }
- break;
case CFG_FLAG:
*((bool *)value) = true;
break;
CFG_POSITIVE,
CFG_INCREMENT,
CFG_SUBOPTS,
- CFG_FILE_A,
- CFG_FILE_W,
- CFG_FILE_R,
- CFG_FILE_AP,
- CFG_FILE_WP,
- CFG_FILE_RP,
};
#define OPT_ARGS(n) \