+
+
+
+reread.c
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+#include <err.h>
+#include <string.h>
+#include <signal.h>
+#include <unistd.h>
+#include <locale.h>
+#include "confuse.h"
+cfg_t *cfg = 0;
+const char *config_filename = "./reread.conf";
+void read_config(void)
+{
+
+
+ CFG_END()
+ };
+ cfg_opt_t opts[] = {
+
+
+
+ CFG_END()
+ };
+ char *buf = ""
+ " delay = 3\n" "# message = \"asdfasfasfd tersf\"\n" " argument one { value = 1 }\n" " argument two { value=foo}\n";
+ cfg_free(cfg);
+ cfg = cfg_init(opts, 0);
+
+ errx(1, "Failed parsing configuration!\n");
+ cfg_parse(cfg, config_filename);
+}
+void sighandler(int sig)
+{
+ read_config();
+ signal(SIGHUP, sighandler);
+}
+static int loop = 1;
+void usr1handler(int sig)
+{
+ loop = 0;
+}
+int main(void)
+{
+ unsigned int i;
+ /* Localize messages & types according to environment, since v2.9 */
+#ifdef LC_MESSAGES
+ setlocale(LC_MESSAGES, "");
+ setlocale(LC_CTYPE, "");
+#endif
+ read_config();
+ signal(SIGHUP, sighandler);
+ signal(SIGUSR1, usr1handler);
+ while (loop) {
+
+
+
+ }
+ printf("\n");
+ }
+ cfg_free(cfg);
+ cfg = 0;
+ return 0;
+}
+DLLIMPORT cfg_t *__export cfg_init(cfg_opt_t *opts, cfg_flag_t flags)
Create and initialize a cfg_t structure.
Definition: confuse.c:1816
DLLIMPORT unsigned int __export cfg_size(cfg_t *cfg, const char *name)
Return the number of values this option has.
Definition: confuse.c:406
A configuration file parser library.
DLLIMPORT int __export cfg_parse_buf(cfg_t *cfg, const char *buf)
Same as cfg_parse() above, but takes a character buffer as argument.
Definition: confuse.c:1777
DLLIMPORT cfg_t *__export cfg_getnsec(cfg_t *cfg, const char *name, unsigned int index)
Indexed version of cfg_getsec(), used for sections with the CFGF_MULTI flag set.
Definition: confuse.c:563
DLLIMPORT int __export cfg_parse(cfg_t *cfg, const char *filename)
Parse a configuration file.
Definition: confuse.c:1746
#define CFGF_MULTI
option may be specified multiple times (only applies to sections)
Definition: confuse.h:87
DLLIMPORT long int __export cfg_getint(cfg_t *cfg, const char *name)
Returns the value of an integer option.
Definition: confuse.c:444
#define CFG_SUCCESS
Return codes from cfg_parse(), cfg_parse_boolean(), and cfg_set*() functions.
Definition: confuse.h:105
DLLIMPORT char *__export cfg_getstr(cfg_t *cfg, const char *name)
Returns the value of a string option.
Definition: confuse.c:519
+Generated by + + 1.8.17 + +