gint config_setdouble (const gchar *key, const gdouble val) { config_mutex_lock (); cfg_setfloat (tc, key, val); config_mutex_unlock (); return 0; }
static int parse_args_post(int argc, char *argv[]) { DBG("Parsing arguments post state"); optind = 1; for (;;) { char *gostr = "i:o:p:r:R:s:aUb" \ "L:hvVf:"; struct option long_opts[] = { {"input", 1, 0, 'i'}, {"output", 1, 0, 'o'}, {"policy", 1, 0, 'p'}, {"read-interval", 1, 0, 'r'}, {"rate-interval", 1, 0, 'R'}, {"sleep-interval", 1, 0, 's'}, {"show-all", 0, 0, 'a'}, {"use-si", 0, 0, 'U'}, {"use-bit", 0, 0, 'b'}, {"lifetime", 1, 0, 'L'}, {0, 0, 0, 0}, }; int c = getopt_long(argc, argv, gostr, long_opts, NULL); if (c == -1) break; switch (c) { case 'i': if (input_set(optarg)) return 1; break; case 'o': if (output_set(optarg)) return 1; break; case 'p': cfg_setstr(cfg, "policy", optarg); break; case 'r': cfg_setfloat(cfg, "read_interval", strtod(optarg, NULL)); break; case 'R': cfg_setfloat(cfg, "rate_interval", strtod(optarg, NULL)); break; case 's': cfg_setint(cfg, "sleep_time", strtoul(optarg, NULL, 0)); break; case 'a': cfg_setbool(cfg, "show_all", cfg_true); break; case 'U': cfg_setbool(cfg, "use_si", cfg_true); break; case 'b': cfg_setbool(cfg, "use_bit", cfg_true); break; case 'L': cfg_setint(cfg, "lifetime", strtoul(optarg, NULL, 0)); break; case 'f': /* Already handled in pre getopt loop */ break; default: quit("Aborting...\n"); break; } } return 0; }
static void parse_args_post(int argc, char *argv[]) { optind = 1; for (;;) { char *gostr = "i:I:o:O:p:r:R:s:S:P:wadu:U" \ "L:g:hvVf:"; #ifdef HAVE_GETOPT_LONG struct option long_opts[] = { {"input", 1, 0, 'i'}, {"secondary-input", 1, 0, 'I'}, {"output", 1, 0, 'o'}, {"secondary-output", 1, 0, 'O'}, {"policy", 1, 0, 'p'}, {"read-interval", 1, 0, 'r'}, {"rate-interval", 1, 0, 'R'}, {"sleep-interval", 1, 0, 's'}, {"send-signal", 1, 0, 'S'}, {"pidfile", 1, 0, 'P'}, {"wait-for-signal", 0, 0, 'w'}, {"show-all", 0, 0, 'a'}, {"daemon", 0, 0, 'd'}, {"uid", 1, 0, 'u'}, {"use-si", 0, 0, 'U'}, {"lifetime", 1, 0, 'L'}, {"gid", 1, 0, 'g'}, {0, 0, 0, 0}, }; int c = getopt_long(argc, argv, gostr, long_opts, NULL); #else int c = getopt(argc, argv, gostr; #endif if (c == -1) break; switch (c) { case 'i': input_set(optarg); break; case 'I': input_set_secondary(optarg); break; case 'o': output_set(optarg); break; case 'O': output_set_secondary(optarg); break; case 'p': cfg_setstr(cfg, "policy", optarg); break; case 'r': cfg_setfloat(cfg, "read_interval", strtod(optarg, NULL)); break; case 'R': cfg_setfloat(cfg, "rate_interval", strtod(optarg, NULL)); break; case 's': cfg_setint(cfg, "sleep_time", strtoul(optarg, NULL, 0)); break; case 'S': signal_send(optarg); exit(0); case 'w': cfg_setint(cfg, "signal_driven", 1); break; case 'P': cfg_setstr(cfg, "pidfile", optarg); break; case 'a': cfg_setint(cfg, "show_all", 1); break; case 'd': cfg_setbool(cfg, "daemon", cfg_true); break; case 'u': cfg_setstr(cfg, "uid", optarg); break; case 'U': cfg_setbool(cfg, "use_si", cfg_true); break; case 'L': cfg_setint(cfg, "lifetime", strtoul(optarg, NULL, 0)); break; case 'g': cfg_setstr(cfg, "gid", optarg); break; case 'f': /* Already handled in pre getopt loop */ break; default: quit("Aborting...\n"); break; } } }