Browse Source

daemon/options: split option registration and parsing.

This allows us to add extra options before parsing.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
ppa-0.6.1
Rusty Russell 8 years ago
parent
commit
a72dd8d9de
  1. 1
      daemon/lightningd.c
  2. 9
      daemon/options.c
  3. 3
      daemon/options.h
  4. 1
      lightningd/lightningd.c

1
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. */

9
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);

3
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.
*/

1
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. */

Loading…
Cancel
Save