Browse Source

plugins: don't hand empty strings for unset options.

This was deeply surprising to me; there's a difference between a value not being
specified, and it being specified as "".

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
htlc_accepted_hook
Rusty Russell 6 years ago
committed by Christian Decker
parent
commit
8b2a84a0c7
  1. 2
      doc/PLUGINS.md
  2. 5
      lightningd/plugin.c

2
doc/PLUGINS.md

@ -40,7 +40,7 @@ methods are required:
- `getmanifest` asks the plugin for command line options and JSON-RPC
commands that should be passed through
- `init` is called after the command line options have been
parsed and passes them through with the real values. This is also
parsed and passes them through with the real values (if specified). This is also
the signal that `lightningd`'s JSON-RPC over Unix Socket is now up
and ready to receive incoming requests from the plugin.

5
lightningd/plugin.c

@ -1000,9 +1000,8 @@ static void plugin_config(struct plugin *plugin)
list_for_each(&plugin->plugin_opts, opt, list) {
/* Trim the `--` that we added before */
name = opt->name + 2;
if (!opt->value)
opt->value = "";
json_add_string(req->stream, name, opt->value);
if (opt->value)
json_add_string(req->stream, name, opt->value);
}
json_object_end(req->stream); /* end of .params.options */

Loading…
Cancel
Save