summaryrefslogtreecommitdiff
path: root/shared/config-parser.c
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2013-09-21 22:36:50 -0700
committerKristian Høgsberg <krh@bitplanet.net>2013-09-21 23:05:12 -0700
commit81c2c2eb5ec17d2749164ff970a85638e3d0caa8 (patch)
tree944a8e62d97805eb16737595c54e530f41906761 /shared/config-parser.c
parentb159560da26ee26cf71264e6dddf80030a6a5bf3 (diff)
shared: Remove no longer used parse_config_file()
Diffstat (limited to 'shared/config-parser.c')
-rw-r--r--shared/config-parser.c128
1 files changed, 0 insertions, 128 deletions
diff --git a/shared/config-parser.c b/shared/config-parser.c
index f98209cb..d5491c27 100644
--- a/shared/config-parser.c
+++ b/shared/config-parser.c
@@ -41,134 +41,6 @@
const __typeof__( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
-static int
-handle_key(const struct config_key *key, const char *value)
-{
- char *end, *s;
- int i, len;
- unsigned int ui;
-
- switch (key->type) {
- case CONFIG_KEY_INTEGER:
- i = strtol(value, &end, 0);
- if (*end != '\n') {
- fprintf(stderr, "invalid integer: %s\n", value);
- return -1;
- }
- *(int *)key->data = i;
- return 0;
-
- case CONFIG_KEY_UNSIGNED_INTEGER:
- ui = strtoul(value, &end, 0);
- if (*end != '\n') {
- fprintf(stderr, "invalid integer: %s\n", value);
- return -1;
- }
- *(unsigned int *)key->data = ui;
- return 0;
-
- case CONFIG_KEY_STRING:
- len = strlen(value);
- while (len > 0 && isspace(value[len - 1]))
- len--;
- s = malloc(len + 1);
- if (s == NULL)
- return -1;
- memcpy(s, value, len);
- s[len] = '\0';
- *(char **)key->data = s;
- return 0;
-
- case CONFIG_KEY_BOOLEAN:
- if (strcmp(value, "false\n") == 0)
- *(int *)key->data = 0;
- else if (strcmp(value, "true\n") == 0)
- *(int *)key->data = 1;
- else {
- fprintf(stderr, "invalid bool: %s\n", value);
- return -1;
- }
- return 0;
-
- default:
- assert(0);
- break;
- }
-
- return -1;
-}
-
-int
-parse_config_file(int fd,
- const struct config_section *sections, int num_sections,
- void *data)
-{
- FILE *fp;
- char line[512], *p;
- const struct config_section *current = NULL;
- int i;
-
- if (fd == -1)
- return -1;
-
- fp = fdopen(dup(fd), "r");
- if (fp == NULL) {
- perror("couldn't open config file");
- return -1;
- }
-
- rewind(fp);
-
- while (fgets(line, sizeof line, fp)) {
- if (line[0] == '#' || line[0] == '\n') {
- continue;
- } if (line[0] == '[') {
- p = strchr(&line[1], ']');
- if (!p || p[1] != '\n') {
- fprintf(stderr, "malformed "
- "section header: %s\n", line);
- fclose(fp);
- return -1;
- }
- if (current && current->done)
- current->done(data);
- p[0] = '\0';
- for (i = 0; i < num_sections; i++) {
- if (strcmp(sections[i].name, &line[1]) == 0) {
- current = &sections[i];
- break;
- }
- }
- if (i == num_sections)
- current = NULL;
- } else if (p = strchr(line, '='), p != NULL) {
- if (current == NULL)
- continue;
- p[0] = '\0';
- for (i = 0; i < current->num_keys; i++) {
- if (strcmp(current->keys[i].name, line) == 0) {
- if (handle_key(&current->keys[i], &p[1]) < 0) {
- fclose(fp);
- return -1;
- }
- break;
- }
- }
- } else {
- fprintf(stderr, "malformed config line: %s\n", line);
- fclose(fp);
- return -1;
- }
- }
-
- if (current && current->done)
- current->done(data);
-
- fclose(fp);
-
- return 0;
-}
-
int
open_config_file(const char *name)
{