Bool env_get_boolean ( const char *name, Bool default_value) { char *variable_value; variable_value = env_get_string (name, NULL); return (variable_value? (conv_str_bool (variable_value) != 0): default_value); }
static void test_stob (char *line) { int result; int offset = 0; char *string; string = get_token (line, &offset); result = conv_str_bool (string); printf (" stob: %-55s", line); printf (" => %d\n", result); if (conv_reason) printf ("Error: %s\n", conv_reason_text [conv_reason]); }
int set_arg_argv(const char * argv) { struct argdef * arg; char * name; char * val; if ((name = strdup(argv)) == NULL) { return(0); } if ((val = strchr(name, '=')) == NULL) { fprintf(stderr, "%s: malformed argument \"%s\"\n", PROGNAME, argv); goto fail; } *val = '\0'; val++; if ((arg = find_named_arg(name)) == NULL) { fprintf(stderr, "%s: ignoring unknown argument \"%s\"\n", PROGNAME, name); goto fail; } /* Found a matching name; convert the variable argument. */ switch (arg->arg_type) { case ARG_NUMERIC: if (!conv_str_u64(val, &arg->arg_val.nval)) { goto fail; } break; case ARG_SIZE: if (!conv_str_size(val, &arg->arg_val.nval)) { goto fail; } break; case ARG_BOOL: if (!conv_str_bool(val, &arg->arg_val.bval)) { goto fail; } break; case ARG_PATHNAME: if (!(arg->arg_val.pval = strdup(val))) { goto fail; } break; default: fprintf(stderr, "%s: argument \"%s\" is of " "unknown type\n", PROGNAME, name); goto fail; } free(name); return(1); fail: free(name); return(0); }