diff --git a/daemon/lightningd.c b/daemon/lightningd.c index 93af1fdab..c0ea8932c 100644 --- a/daemon/lightningd.c +++ b/daemon/lightningd.c @@ -71,6 +71,7 @@ int main(int argc, char *argv[]) | SECP256K1_CONTEXT_SIGN); /* Handle options and config; move to .lightningd */ + register_opts(dstate); handle_opts(dstate, argc, argv); /* Activate crash log now we're in the right place. */ diff --git a/daemon/options.c b/daemon/options.c index 7a19925cc..9885e7d91 100644 --- a/daemon/options.c +++ b/daemon/options.c @@ -447,10 +447,8 @@ static void opt_parse_from_config(struct lightningd_state *dstate) tal_free(contents); } -bool handle_opts(struct lightningd_state *dstate, int argc, char *argv[]) +void register_opts(struct lightningd_state *dstate) { - bool newdir = false; - opt_set_alloc(opt_allocfn, tal_reallocfn, tal_freefn); opt_register_early_noarg("--help|-h", opt_usage_and_exit, @@ -469,6 +467,11 @@ bool handle_opts(struct lightningd_state *dstate, int argc, char *argv[]) &dstate->config_dir, &dstate->rpc_filename); config_register_opts(dstate); dev_register_opts(dstate); +} + +bool handle_opts(struct lightningd_state *dstate, int argc, char *argv[]) +{ + bool newdir = false; /* Get any configdir/testnet options first. */ opt_early_parse(argc, argv, opt_log_stderr_exit); diff --git a/daemon/options.h b/daemon/options.h index 8654fb6c3..dd9bf3c2e 100644 --- a/daemon/options.h +++ b/daemon/options.h @@ -5,6 +5,9 @@ struct lightningd_state; +/* You can register additional options *after* this if you want. */ +void register_opts(struct lightningd_state *dstate); + /* After this, we're in the .lightning dir, config file parsed. * If we just created the dir, returns true. */ diff --git a/lightningd/lightningd.c b/lightningd/lightningd.c index 77e3a4289..869a60217 100644 --- a/lightningd/lightningd.c +++ b/lightningd/lightningd.c @@ -176,6 +176,7 @@ int main(int argc, char *argv[]) ld->daemon_dir = find_my_path(ld, argv[0]); /* Handle options and config; move to .lightningd */ + register_opts(&ld->dstate); newdir = handle_opts(&ld->dstate, argc, argv); /* Activate crash log now we're in the right place. */