mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-02-21 14:24:09 +01:00
ccan: update to latest version, get json_out_finished update.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
parent
becd4fe576
commit
d970addd4b
4 changed files with 51 additions and 4 deletions
|
@ -1,3 +1,3 @@
|
|||
CCAN imported from http://ccodearchive.net.
|
||||
|
||||
CCAN version: init-2500-gcbc7cbf1
|
||||
CCAN version: init-2502-gb45a3266
|
||||
|
|
|
@ -337,11 +337,12 @@ char *json_out_direct(struct json_out *jout, size_t len)
|
|||
return p;
|
||||
}
|
||||
|
||||
void json_out_finished(const struct json_out *jout)
|
||||
void json_out_finished(struct json_out *jout)
|
||||
{
|
||||
#ifdef CCAN_JSON_OUT_DEBUG
|
||||
assert(tal_count(jout->wrapping) == 0);
|
||||
#endif
|
||||
jout->empty = true;
|
||||
}
|
||||
|
||||
const char *json_out_contents(const struct json_out *jout, size_t *len)
|
||||
|
|
|
@ -177,9 +177,12 @@ bool json_out_add_splice(struct json_out *jout,
|
|||
* @jout: the json_out object written to.
|
||||
*
|
||||
* This simply causes internal assertions that all arrays and objects are
|
||||
* finished. It needs CCAN_JSON_OUT_DEBUG defined to have any effect.
|
||||
* finished. If CCAN_JSON_OUT_DEBUG is defined, it does sanity checks.
|
||||
*
|
||||
* This also resets the empty flag, so there will be no comma added if
|
||||
* another JSON object is written.
|
||||
*/
|
||||
void json_out_finished(const struct json_out *jout);
|
||||
void json_out_finished(struct json_out *jout);
|
||||
|
||||
/**
|
||||
* json_out_contents - read contents from json_out stream.
|
||||
|
|
43
ccan/ccan/opt/test/run-unregister.c
Normal file
43
ccan/ccan/opt/test/run-unregister.c
Normal file
|
@ -0,0 +1,43 @@
|
|||
#include <ccan/tap/tap.h>
|
||||
#include <stdlib.h>
|
||||
#include <ccan/opt/opt.c>
|
||||
#include <ccan/opt/usage.c>
|
||||
#include <ccan/opt/helpers.c>
|
||||
#include <ccan/opt/parse.c>
|
||||
#include "utils.h"
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
const char *myname = argv[0];
|
||||
|
||||
plan_tests(15);
|
||||
|
||||
opt_register_noarg("--aaa|-a", test_noarg, NULL, "AAAAAAll");
|
||||
opt_register_arg("-b", test_arg, NULL, "bbb", "b");
|
||||
|
||||
/* We can't unregister wrong ones, but can unregister correct one */
|
||||
ok1(!opt_unregister("--aaa"));
|
||||
ok1(!opt_unregister("-a"));
|
||||
ok1(opt_unregister("--aaa|-a"));
|
||||
|
||||
/* Arg parsing works as if we'd never registered it */
|
||||
ok1(parse_args(&argc, &argv, "-bbbb", NULL));
|
||||
ok1(argc == 1);
|
||||
ok1(argv[0] == myname);
|
||||
ok1(argv[1] == NULL);
|
||||
ok1(test_cb_called == 1);
|
||||
|
||||
ok1(!parse_args(&argc, &argv, "--aaa", NULL));
|
||||
|
||||
/* We can still add another one OK. */
|
||||
opt_register_noarg("-c", test_noarg, NULL, "AAAAAAll");
|
||||
ok1(parse_args(&argc, &argv, "-c", NULL));
|
||||
ok1(argc == 1);
|
||||
ok1(argv[0] == myname);
|
||||
ok1(argv[1] == NULL);
|
||||
ok1(test_cb_called == 2);
|
||||
|
||||
/* parse_args allocates argv */
|
||||
free(argv);
|
||||
return exit_status();
|
||||
}
|
Loading…
Add table
Reference in a new issue