ccan
7 years agorfc822: switch to ccan/tal. origin/rfc822
Rusty Russell [Thu, 3 Jan 2013 01:06:55 +0000 (11:36 +1030)]
rfc822: switch to ccan/tal.

We use TAL_USE_TALLOC to use libtalloc as the backend: you can test that with
ccanlint --compiler="cc -DTAL_USE_TALLOC".

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: use tal/talloc backend #ifdef TAL_USE_TALLOC.
Rusty Russell [Thu, 3 Jan 2013 01:06:55 +0000 (11:36 +1030)]
tal/str: use tal/talloc backend #ifdef TAL_USE_TALLOC.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: ignore "unused" non-ccan dependencies.
Rusty Russell [Thu, 3 Jan 2013 01:06:48 +0000 (11:36 +1030)]
ccanlint: ignore "unused" non-ccan dependencies.

We can't really tell if non-ccan dependencies are used, so don't try.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/talloc: new module for backending tal onto talloc.
Rusty Russell [Thu, 3 Jan 2013 01:04:22 +0000 (11:34 +1030)]
tal/talloc: new module for backending tal onto talloc.

David Gibson points out that a project may already be using talloc, so
this gives a simple adapter if one module uses tal.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agorfc822: fix sigaction test, wean off ccan-specific talloc_set_allocator()
Rusty Russell [Fri, 7 Dec 2012 05:56:37 +0000 (16:26 +1030)]
rfc822: fix sigaction test, wean off ccan-specific talloc_set_allocator()

The first ok() line was actually failing, because sigaction returns 0
on success, but because the program exit(0) out the abort handler,
that wasn't being seen.

So remove tap and just abort and assert our way through the test,
which I think is clearer.

We use macros to mug the talloc entry points, since talloc_set_allocator()
is not in mainline talloc.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agorfc822: beef up _info example.
Rusty Russell [Fri, 7 Dec 2012 05:56:37 +0000 (16:26 +1030)]
rfc822: beef up _info example.

Now it's a useful little command line utility, with tests.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: fix --compiler and --cflags options to apply to _info files as well.
Rusty Russell [Fri, 7 Dec 2012 05:56:07 +0000 (16:26 +1030)]
ccanlint: fix --compiler and --cflags options to apply to _info files as well.

We weren't using the compiler and cflags options in tools/compile.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: manifest.c should use path_canon.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
tools: manifest.c should use path_canon.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: remove redundant num_lines in struct ccan_file.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
ccanlint: remove redundant num_lines in struct ccan_file.

We can use tal_count.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: print module name properly for nested modules.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
ccanlint: print module name properly for nested modules.

eg:
tal/str: Module's tests cover all the code (tests_coverage): PASS (+3/6)
tal/str: Total score: 55/58

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: use tal/path instead of opencoding most paths.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
tools: use tal/path instead of opencoding most paths.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: use tal/path instead of writing own path handlers.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
tools: use tal/path instead of writing own path handlers.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: use tal instead of talloc.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
tools: use tal instead of talloc.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: use rbuf instead of grab_file.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
tools: use rbuf instead of grab_file.

Slowly removing the talloc dependency.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agorbuf: new module.
Rusty Russell [Mon, 3 Dec 2012 11:36:40 +0000 (22:06 +1030)]
rbuf: new module.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/link: new module for reference-count style coding for tal.
Rusty Russell [Mon, 3 Dec 2012 11:36:38 +0000 (22:06 +1030)]
tal/link: new module for reference-count style coding for tal.

Tests and example copied from talloc_link, which I also wrote.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: add tal_append_fmt() and tal_append_vfmt() helpers.
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal/str: add tal_append_fmt() and tal_append_vfmt() helpers.

They are far too convenient, despite their inefficiency.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: rename tal_asprintf/tal_vasprintf to tal_fmt/tal_vfmt.
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal/str: rename tal_asprintf/tal_vasprintf to tal_fmt/tal_vfmt.

Shorter, sweeter, and less legacy.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: add tal_strcat().
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal/str: add tal_strcat().

Useful for joining two strings.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add tal_expand().
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal: add tal_expand().

Helper to reallocate and append to an array.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: move tal string functions here from tal.
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal/str: move tal string functions here from tal.

They don't need anything internal to tal, they're just helpers.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: use tal_ prefix.
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal/str: use tal_ prefix.

It's short, and much clearer.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: make tal_count() work for strsplit.
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal/str: make tal_count() work for strsplit.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add tal_count() and length properties for arrays.
Rusty Russell [Mon, 3 Dec 2012 08:59:39 +0000 (19:29 +1030)]
tal: add tal_count() and length properties for arrays.

Unlike talloc, we don't have a count on everything, just on array
allocations.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: adding or removing a notifier/destructor can be const.
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: adding or removing a notifier/destructor can be const.

You don't need write access to the context to attach a destructor;
it's meta.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: optimize case where no (non-destructor) notifiers are used.
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: optimize case where no (non-destructor) notifiers are used.

$ for i in `seq 10`; do ./samba-allocs talloc.dump --tal; done | stats.c --trim-outliers
Before:
Read 25998 nodes
Tal time:                2857988-2981158(2904324)ns
Tal_free time:           2417170-2582088(2470931)ns
Single tal_free time:    1551654-1609583(1575984)ns

After:
Read 25998 nodes
Tal time:                2780974-2901323(2839352)ns
Tal_free time:           2241725-2355309(2285165)ns
Single tal_free time:    1549908-1612485(1566609)ns

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: use notifier infrastructure for destructors.
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: use notifier infrastructure for destructors.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add general notifiers.
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: add general notifiers.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add del_destructor().
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: add del_destructor().

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: check headers more carefully.
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: check headers more carefully.

We sanity check tal headers by ensuring that the pointers are in the
bounds of things we've allocated.  But the first one we check is the
prop ptr, which may also be a literal: this is_literal() dereferences
the pointer, which means we usually crash here if it's not a tal
object.

Move that last, and we have far more success with our sanity checking.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: simplify.
Rusty Russell [Mon, 3 Dec 2012 08:59:38 +0000 (19:29 +1030)]
tal: simplify.

All the effort trying to keep the header size down to 2 pointers turns
out to be wasted.  In addition, getting the parent of a tal pointer is
now much faster.

./samba-allocs talloc.dump --tal-size:
Before:
Virtual size = 9633792, RSS = 3952640
After:
Virtual size = 9793536, RSS = 3948544

And we're much faster now, esp. on free.

./samba-allocs talloc.dump --tal:
Before:
Tal time:                2718068ns
Tal_free time:           3360258ns
Single tal_free time:    1667412ns
After:
Tal time:                2788287ns
Tal_free time:           2290167ns
Single tal_free time:    1566998ns

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Header from folded patch 'tal-fix-set-destroying-bit.patch':

tal: fix destroying bit usage.

Actually looking at a destroying contexts' parent didn't work, and a couple
of places didn't filter out the destroying bit.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: handle nested modules when mentioned in examples.
Rusty Russell [Mon, 3 Dec 2012 08:59:23 +0000 (19:29 +1030)]
ccanlint: handle nested modules when mentioned in examples.

If we see an ccan include line in an example, we add that to the
dependencies to try to build the example, but we didn't handle nested
modules.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: don't abort on malformed documentation lines.
Rusty Russell [Mon, 3 Dec 2012 07:55:41 +0000 (18:25 +1030)]
tools: don't abort on malformed documentation lines.

ccanlint would abort with 'Malformed line 53' if there was a bad header.
That's very poor, and deeply unhelpful.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoMakefile: score nested modules.
Rusty Russell [Mon, 3 Dec 2012 07:54:41 +0000 (18:24 +1030)]
Makefile: score nested modules.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: fix benchmark/Makefile
Rusty Russell [Thu, 22 Nov 2012 10:07:01 +0000 (20:37 +1030)]
tal: fix benchmark/Makefile

We need ccan/take here.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/path: new module
Rusty Russell [Thu, 22 Nov 2012 01:12:25 +0000 (11:42 +1030)]
tal/path: new module

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Header from folded patch 'path-talloc-take.patch':

tal/path: accept take() for arguments.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoconfigurator: test for HAVE_FCHDIR
Rusty Russell [Thu, 22 Nov 2012 01:12:25 +0000 (11:42 +1030)]
configurator: test for HAVE_FCHDIR

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: accept take() for arguments.
Rusty Russell [Thu, 22 Nov 2012 01:12:25 +0000 (11:42 +1030)]
tal/str: accept take() for arguments.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal/str: new module.
Rusty Russell [Thu, 22 Nov 2012 01:12:22 +0000 (11:42 +1030)]
tal/str: new module.

Tal-enhanced string routines, copied from str_talloc (which I also wrote).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoalloc: move into antithread/alloc.
Rusty Russell [Thu, 22 Nov 2012 01:12:11 +0000 (11:42 +1030)]
alloc: move into antithread/alloc.

Our first nested module; easy because noone else relies on it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoweb: generate correct pages for submodules.
Rusty Russell [Thu, 22 Nov 2012 00:32:21 +0000 (11:02 +1030)]
web: generate correct pages for submodules.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: don't assume modules are immediately below ccan/ dir.
Rusty Russell [Thu, 22 Nov 2012 00:32:19 +0000 (11:02 +1030)]
tools: don't assume modules are immediately below ccan/ dir.

Removing this assumption should allow nested modules.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoMakefile: remove FASTTIMEOUT
Rusty Russell [Thu, 22 Nov 2012 00:32:17 +0000 (11:02 +1030)]
Makefile: remove FASTTIMEOUT

Far more effective to just skip valgrind and gcov if you want fast
results; that's what we do for the summary already.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoMakefile: list modules explicitly.
Rusty Russell [Thu, 22 Nov 2012 00:32:15 +0000 (11:02 +1030)]
Makefile: list modules explicitly.

Clumsier than using wildcards, but that breaks down with nested modules
anyway.  In the longer term, we want ccantool to do the building, but for
the moment make is a necessary evil.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: fix dependencies.
Rusty Russell [Wed, 21 Nov 2012 23:38:53 +0000 (10:08 +1030)]
tools: fix dependencies.

In particular, we might need the C files for foreach and err.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: fix _info documentation addition.
Rusty Russell [Wed, 21 Nov 2012 23:38:53 +0000 (10:08 +1030)]
ccanlint: fix _info documentation addition.

Firstly, we should always ask before altering files.  Secondly, we are
not in the module directory: we need to use m->info_file->fullname.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoMakefile: generate config.h more carefully
Rusty Russell [Wed, 21 Nov 2012 23:38:53 +0000 (10:08 +1030)]
Makefile: generate config.h more carefully

Don't risk reading partially-constructed files.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoMakefile: add -Wundef to the default CFLAGS
Rusty Russell [Wed, 21 Nov 2012 23:38:53 +0000 (10:08 +1030)]
Makefile: add -Wundef to the default CFLAGS

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoTAGS: new Makefile target.
Rusty Russell [Wed, 21 Nov 2012 23:38:53 +0000 (10:08 +1030)]
TAGS: new Makefile target.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: make tal_free() return NULL
Rusty Russell [Wed, 21 Nov 2012 23:38:50 +0000 (10:08 +1030)]
tal: make tal_free() return NULL

This makes it convenient to do:

ptr = tal_free(ptr);

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: take implies NULL passthrough.
Rusty Russell [Wed, 21 Nov 2012 23:37:50 +0000 (10:07 +1030)]
tal: take implies NULL passthrough.

This makes error handling much more convenient, since take is usually
used for chaining functions.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: remove TAL_TAKE in favor of ccan/take.
Rusty Russell [Wed, 21 Nov 2012 23:35:27 +0000 (10:05 +1030)]
tal: remove TAL_TAKE in favor of ccan/take.

TAL_TAKE is awkward to use, particularly on functions which take multiple
arguments.  Instead, record annotations for pointers due to be freed in
the callee.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotake: new module for parameter ownership.
Rusty Russell [Wed, 21 Nov 2012 23:28:31 +0000 (09:58 +1030)]
take: new module for parameter ownership.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: tal_dup()
Rusty Russell [Wed, 21 Nov 2012 03:02:06 +0000 (13:32 +1030)]
tal: tal_dup()

Sometimes you want to duplicate and enlarge in one step: particularly with
TAL_TAKE.  It's also typesafe, unlike tal_memdup().

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: Make tal_resize() easier to use.
Rusty Russell [Tue, 20 Nov 2012 05:17:30 +0000 (15:47 +1030)]
tal: Make tal_resize() easier to use.

Instead of trying to force people to use the return value, pass a pointer.
This makes it easier if you want to handle failure: no overwriting the old
pointer!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: make sure tal_free() preserves errno.
Rusty Russell [Mon, 19 Nov 2012 02:22:41 +0000 (12:52 +1030)]
tal: make sure tal_free() preserves errno.

Always good form to have cleanup functions preserve errno.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add test for group growth.
Rusty Russell [Mon, 19 Nov 2012 00:28:25 +0000 (10:58 +1030)]
tal: add test for group growth.

Rusty forgets a git add.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: tal_steal() fix.
Rusty Russell [Mon, 19 Nov 2012 00:23:57 +0000 (10:53 +1030)]
tal: tal_steal() fix.

We call remove_node() in tal_steal, then re-use the node.  So it's important
that we always unlink the group property from the node for that case.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: tal_parent(NULL) should be NULL.
Rusty Russell [Mon, 19 Nov 2012 00:23:09 +0000 (10:53 +1030)]
tal: tal_parent(NULL) should be NULL.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: neaten child property initialization.
Rusty Russell [Mon, 19 Nov 2012 00:14:29 +0000 (10:44 +1030)]
tal: neaten child property initialization.

Don't open-code the list_head_init: left over from performance
debugging.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: bounds checking fixes.
Rusty Russell [Mon, 19 Nov 2012 00:13:29 +0000 (10:43 +1030)]
tal: bounds checking fixes.

First, we need to update the bounds for the group property allocated
with the children property, just in case it's at the end of the
allocations.

Second, we need to allow the tal_check() code to accept the pointer to
the null parent's group property.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add benchmark based on Samba4's talloc usage.
Rusty Russell [Sun, 18 Nov 2012 03:45:53 +0000 (14:15 +1030)]
tal: add benchmark based on Samba4's talloc usage.

This is based on a very simple dump of S4's talloc tree, which we try
to duplicate using tal.  The benchmarks are simply to allocate all the
nodes, free all the nodes individually, and a top-level free.

Size results (32-bit x86):
$ ./samba-allocs talloc.dump --talloc-size
Read 25998 nodes
Virtual size = 10469376, RSS = 4759552
$ ./samba-allocs talloc.dump --tal-size
Read 25998 nodes
Virtual size = 9629696, RSS = 3948544

Speed results:
$ ./samba-allocs talloc.dump
Read 25998 nodes
Malloc time:             1912082ns
Free time:               1384892ns
Talloc time:             2851531ns
talloc_free time:        2133801ns
Single talloc_free time: 1696298ns
Tal time:                2686952ns
Tal_free time:           3316153ns
Single tal_free time:    1639407ns

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add talloc's speed benchmark.
Rusty Russell [Sun, 18 Nov 2012 03:37:37 +0000 (14:07 +1030)]
tal: add talloc's speed benchmark.

We modify it a bit (to do more allocations before freeing).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add typenames by default.
Rusty Russell [Sun, 18 Nov 2012 03:37:36 +0000 (14:07 +1030)]
tal: add typenames by default.

The really size-conscious can override them, but it's great for
debugging to have names on the nodes.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: add TAL_TAKE.
Rusty Russell [Sun, 18 Nov 2012 03:37:35 +0000 (14:07 +1030)]
tal: add TAL_TAKE.

TAL_TAKE provides a magic context meaning "consume my args and return
a replacement".  This is useful for writing convenience functions,
though not so useful in the standard routines here.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotal: new module.
Rusty Russell [Sun, 18 Nov 2012 03:37:17 +0000 (14:07 +1030)]
tal: new module.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agolikely: relicense to CC0.
Rusty Russell [Thu, 15 Nov 2012 02:28:34 +0000 (12:58 +1030)]
likely: relicense to CC0.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotypesafe_cb: relicense to CC0.
Rusty Russell [Thu, 15 Nov 2012 02:28:25 +0000 (12:58 +1030)]
typesafe_cb: relicense to CC0.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agolikely: make dependencies correctly conditional on CCAN_LIKELY_DEBUG.
Rusty Russell [Thu, 15 Nov 2012 02:26:08 +0000 (12:56 +1030)]
likely: make dependencies correctly conditional on CCAN_LIKELY_DEBUG.

Without this, it's a trivial header.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agorfc822: Update rfc822 module to use testdepends
David Gibson [Mon, 12 Nov 2012 07:14:26 +0000 (18:14 +1100)]
rfc822: Update rfc822 module to use testdepends

Several modules were only listed as dependencies because they were used in
the testcases.  That in turn gave some bogus incompatible license warnings
which we partially suppressed from _info.  Now that ccanlint supports
testdepends, use that to clean it up.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
7 years agotalloc: move ccan/failtest to testdepends.
Rusty Russell [Mon, 12 Nov 2012 06:37:51 +0000 (17:07 +1030)]
talloc: move ccan/failtest to testdepends.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agostr_talloc: remove unused ccan/noerr dependency.
Rusty Russell [Mon, 12 Nov 2012 06:37:51 +0000 (17:07 +1030)]
str_talloc: remove unused ccan/noerr dependency.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agograb_file: move ccan/str_alloc to testdepends
Rusty Russell [Mon, 12 Nov 2012 06:37:50 +0000 (17:07 +1030)]
grab_file: move ccan/str_alloc to testdepends

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agocrcsync: move array_size to testdepends.
Rusty Russell [Mon, 12 Nov 2012 06:37:50 +0000 (17:07 +1030)]
crcsync: move array_size to testdepends.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoasort: move array_size to testdepends.
Rusty Russell [Mon, 12 Nov 2012 06:37:50 +0000 (17:07 +1030)]
asort: move array_size to testdepends.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoasearch: move array_size to testdepends.
Rusty Russell [Mon, 12 Nov 2012 06:37:24 +0000 (17:07 +1030)]
asearch: move array_size to testdepends.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoalignof: remove unnecessary ccan/build_assert dependency.
Rusty Russell [Mon, 12 Nov 2012 06:36:24 +0000 (17:06 +1030)]
alignof: remove unnecessary ccan/build_assert dependency.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: detect unused dependencies, too.
Rusty Russell [Mon, 12 Nov 2012 06:35:24 +0000 (17:05 +1030)]
ccanlint: detect unused dependencies, too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoccanlint: add testdepends support.
Rusty Russell [Mon, 12 Nov 2012 06:34:24 +0000 (17:04 +1030)]
ccanlint: add testdepends support.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: enhance get_libs to get libraries for tests, too.
Rusty Russell [Mon, 12 Nov 2012 06:33:24 +0000 (17:03 +1030)]
tools: enhance get_libs to get libraries for tests, too.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agotools: add testdepends handling in _info.
Rusty Russell [Mon, 12 Nov 2012 04:23:40 +0000 (14:53 +1030)]
tools: add testdepends handling in _info.

This allows us to separate dependencies only needed for testing.
This matters: they don't have the same impact on licensing, nor necessarily
on end-users.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agoREADME: update.
Rusty Russell [Sun, 11 Nov 2012 03:06:18 +0000 (13:36 +1030)]
README: update.

Especially important since it's so prominent on github.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
7 years agohash: switch to CC0 license.
Rusty Russell [Thu, 1 Nov 2012 23:17:28 +0000 (09:47 +1030)]
hash: switch to CC0 license.

As per email from Andreas (the only other contributor):
From: Andreas Schlick <schlick@lavabit.com>
Subject: Re: Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au>
Date: Thu, 01 Nov 2012 12:51:47 +0100

Hi!

> Since Public Domain is a slippery concept outside certain countries,
> it has been suggested that I formalize it to Creative Commons Zero.
>
> I want to change the License string (and add a symlink) to the
> following trivial modules.  Please Ack.

Sure, ack.

 Andreas

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agoRelicense all public domain modules to CC0.
Rusty Russell [Thu, 1 Nov 2012 05:07:41 +0000 (15:37 +1030)]
Relicense all public domain modules to CC0.

I wrote all of most of them, for the others, here's the CCAN mailing
list thread authorizing it:

From: Timothy B. Terriberry <tterribe@xiph.org>
Subject: Re: [ccan] Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: ccan@ozlabs.org
Date: Wed, 31 Oct 2012 02:53:50 -0400

Rusty Russell <rusty@rustcorp.com.au> wrote:

> I want to change the License string (and add a symlink) to the following
> trivial modules.  Please Ack.

> isaac

Ack.

From: Alessandro Guido <ag@alessandroguido.name>
Subject: Re: Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au>
Date: Wed, 31 Oct 2012 10:59:53 +0100

Acked-by: Alessandro Guido <ag@alessandroguido.name>
From: Brad Hards <bradh@frogmouth.net>
Subject: Re: Changing from Public Domain to CC0
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: Joey Adams <joeyadams3.14159@gmail.com>, Alessandro Guido <ag@alessandroguido.name>, Andreas Schlick <schlick@lavabit.com>, ccan@ozlabs.org
Date: Wed, 31 Oct 2012 23:43:24 +1100

On 31/10/12 17:43, Rusty Russell wrote:
> Damn lawyers!
>
> Since Public Domain is a slippery concept outside certain countries, it
> has been suggested that I formalize it to Creative Commons Zero.
>
> I want to change the License string (and add a symlink) to the following
> trivial modules.  Please Ack.

Ack.

More generally, anything I've put into CCAN is so trivial that you can
relicense it (to any Free / Open Source license) as part of any
relicensing you can otherwise get agreement to.

Brad

[Sorry if this comes out in HTML - I'm stuck with unsat tools while
travelling].

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agotlist: remove unused var warning in example.
Rusty Russell [Wed, 31 Oct 2012 11:31:59 +0000 (22:01 +1030)]
tlist: remove unused var warning in example.

Compiler:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h:186:15: warning: variable ‘first’ set but not used [-Wunused-but-set-variable]

Compiler:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/tlist/tlist.h:205:15: warning: variable ‘last’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agotime: remove unused var warning in example.
Rusty Russell [Wed, 31 Oct 2012 11:31:47 +0000 (22:01 +1030)]
time: remove unused var warning in example.

Compiler:
/home/rusty/devel/cvs/ccan/ccan/time/time.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/time/time.h:334:16: warning: variable ‘tv’ set but not used [-Wunused-but-set-variable]

Compiler:
/home/rusty/devel/cvs/ccan/ccan/time/time.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/time/time.h:353:17: warning: variable ‘ts’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agotalloc: remove const warning in _info example.
Rusty Russell [Wed, 31 Oct 2012 11:29:50 +0000 (21:59 +1030)]
talloc: remove const warning in _info example.

Compiler:
/home/rusty/devel/cvs/ccan/ccan/talloc/_info: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/talloc/_info:84:9: warning: passing argument 2 of ‘open_output_cmd’ discards ‘const’ qualifier from pointer target type [enabled by default]
/home/rusty/devel/cvs/ccan/ccan/talloc/_info:52:24: note: expected ‘char *’ but argument is of type ‘const char *’

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agolist: fix unused var warning.
Rusty Russell [Wed, 31 Oct 2012 11:23:17 +0000 (21:53 +1030)]
list: fix unused var warning.

/home/rusty/devel/cvs/ccan/ccan/list/list.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/list/list.h:280:15: warning: variable ‘first’ set but not used [-Wunused-but-set-variable]

/home/rusty/devel/cvs/ccan/ccan/list/list.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/list/list.h:304:15: warning: variable ‘last’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agolbalance: fix unused var warning.
Rusty Russell [Wed, 31 Oct 2012 11:05:41 +0000 (21:35 +1030)]
lbalance: fix unused var warning.

/home/rusty/devel/cvs/ccan/ccan/lbalance/lbalance.c:Compiling object files gave warnings:
/home/rusty/devel/cvs/ccan/ccan/lbalance/lbalance.c: In function ‘best_target’:
/home/rusty/devel/cvs/ccan/ccan/lbalance/lbalance.c:245:18: warning: variable ‘best’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agoforeach: remove unused var warning.
Rusty Russell [Wed, 31 Oct 2012 11:05:27 +0000 (21:35 +1030)]
foreach: remove unused var warning.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agocrcsync: fix memory leak in tests.
Rusty Russell [Wed, 31 Oct 2012 11:04:20 +0000 (21:34 +1030)]
crcsync: fix memory leak in tests.

/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:==6923== 112 bytes in 1 blocks are definitely lost in loss record 2 of 3
==6923==    at 0x402BA7A: malloc (vg_replace_malloc.c:261)
==6923==    by 0x80492EE: crcblocks (run-crash.c:20)
==6923==    by 0x8049448: main (run-crash.c:62)
==6923== 2,217 (2,212 direct, 5 indirect) bytes in 1 blocks are definitely lost in loss record 3 of 3
==6923==    at 0x402BA7A: malloc (vg_replace_malloc.c:261)
==6923==    by 0x8048AA0: crc_context_new (crcsync.c:85)
==6923==    by 0x8049476: main (run-crash.c:64)

/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run.c:==11793== 512 bytes in 1 blocks are definitely lost in loss record 1 of 2
==11793==    at 0x402A52B: calloc (vg_replace_malloc.c:462)
==11793==    by 0x8049A3F: main (run.c:128)
==11793== 512 bytes in 1 blocks are definitely lost in loss record 2 of 2
==11793==    at 0x402A52B: calloc (vg_replace_malloc.c:462)
==11793==    by 0x8049A57: main (run.c:129)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agocrcsync: fix constness warning.
Rusty Russell [Wed, 31 Oct 2012 11:04:18 +0000 (21:34 +1030)]
crcsync: fix constness warning.

/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:Compile gave warnings:
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:30:3: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]
/home/rusty/devel/cvs/ccan/ccan/crcsync/test/run-crash.c:35:3: warning: initialization discards ‘const’ qualifier from pointer target type [enabled by default]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agocrc: remove gratuitous trailing whitespace.
Rusty Russell [Wed, 31 Oct 2012 11:03:59 +0000 (21:33 +1030)]
crc: remove gratuitous trailing whitespace.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agocheck_type: remove gratuitous trailing whitespace.
Rusty Russell [Wed, 31 Oct 2012 11:03:47 +0000 (21:33 +1030)]
check_type: remove gratuitous trailing whitespace.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agoalloc: remove valgrind warning from test.
Rusty Russell [Wed, 31 Oct 2012 11:03:18 +0000 (21:33 +1030)]
alloc: remove valgrind warning from test.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agoalignof: fix unused var warning with gcc
Rusty Russell [Wed, 31 Oct 2012 11:02:54 +0000 (21:32 +1030)]
alignof: fix unused var warning with gcc

/home/rusty/devel/cvs/ccan/ccan/alignof/test/run.c:32:7: warning: variable ‘c2’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agostr: fix unused var warning with gcc
Rusty Russell [Wed, 31 Oct 2012 11:02:37 +0000 (21:32 +1030)]
str: fix unused var warning with gcc

Compiler:
/home/rusty/devel/cvs/ccan/ccan/str/str.h: In function ‘main’:
/home/rusty/devel/cvs/ccan/ccan/str/str.h:69:5: warning: variable ‘i’ set but not used [-Wunused-but-set-variable]

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agoccanlint: add #line directives to examples.
Rusty Russell [Wed, 31 Oct 2012 10:59:27 +0000 (21:29 +1030)]
ccanlint: add #line directives to examples.

This means error messages come out in the right place.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agoccanlint: Understand Creative Commons Zero license.
Rusty Russell [Wed, 31 Oct 2012 07:11:43 +0000 (17:41 +1030)]
ccanlint: Understand Creative Commons Zero license.

Public domain for those who don't have it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
8 years agolicenses: Add Creative Commons Zero.
Rusty Russell [Wed, 31 Oct 2012 06:19:21 +0000 (16:49 +1030)]
licenses: Add Creative Commons Zero.

http://creativecommons.org/publicdomain/zero/1.0/legalcode

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>