diff options
Diffstat (limited to 'accel-pppd/triton/options.c')
-rw-r--r-- | accel-pppd/triton/options.c | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/accel-pppd/triton/options.c b/accel-pppd/triton/options.c new file mode 100644 index 0000000..a5214e2 --- /dev/null +++ b/accel-pppd/triton/options.c @@ -0,0 +1,48 @@ +#include <stdlib.h> +#include <string.h> + +#include "triton_p.h" +#include "conf_file.h" + +#include "memdebug.h" + +static struct conf_file_sect_t *sect=NULL; + +static const char* find_option(const char *name) +{ + struct option_t *opt; + + if (!sect) + { + sect=conf_file_get_section("options"); + if (!sect) return 0; + } + + list_for_each_entry(opt,§->items,entry) + { + if (strcmp(opt->name,name)==0) + return opt->val; + } + + return NULL; +} +int triton_get_int_option(const char *str) +{ + const char *val=find_option(str); + if (!val) return 0; + + return atoi(val); +} +const char* triton_get_str_option(const char *str) +{ + const char *val=find_option(str); + + return val; +} +double triton_get_double_option(const char *str) +{ + const char *val=find_option(str); + if (!val) return 0; + + return atof(val); +} |