Newer
Older
tuved / src / config.c
@Charlie Root Charlie Root on 15 Apr 2019 1007 bytes Sync
#include <stdio.h>
#include <stdlib.h>
#include <libconfig.h>
#include <unistd.h>

int parseConfig() {
  config_t cfg;

  config_setting_t *setting;

  config_init(&cfg);

  if (access("./tuved.cfg", F_OK) != -1) {
    if (!config_read_file(&cfg, "./tuved.cfg")) {
      fprintf(stderr, "%s:%d - %s\n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg));
      config_destroy(&cfg);
      return(EXIT_FAILURE);
    }
  }
  else if (access("/usr/local/etc/tuved.cfg", F_OK) != -1) {
    if (!config_read_file(&cfg, "/usr/local/etc/tuved.cfg")) {
      fprintf(stderr, "%s:%d - %s\n", config_error_file(&cfg), config_error_line(&cfg), config_error_text(&cfg));
      config_destroy(&cfg);
      return(EXIT_FAILURE);
    }
  }
  else {
    config_destroy(&cfg);
    return(EXIT_FAILURE);
  }

  setting = config_lookup(&cfg, "daemon");

  if (setting != NULL) {
    int i = 9999;

    config_setting_lookup_int(setting, "port", &i);

    //printf("port: %i", i); 
  }

  return(0);

}