]>
git.ozlabs.org Git - ccan/log
Rusty Russell [Thu, 21 Oct 2010 07:54:19 +0000 (18:24 +1030)]
license: more changing of licence -> license.
Rusty Russell [Thu, 21 Oct 2010 07:51:27 +0000 (18:21 +1030)]
webpages: make sure target of licence links is included in tarballs.
Rusty Russell [Wed, 20 Oct 2010 05:40:16 +0000 (16:10 +1030)]
avl: new module
Rusty Russell [Wed, 20 Oct 2010 03:49:11 +0000 (14:19 +1030)]
tdb2: 64 bit fixes.
Rusty Russell [Wed, 20 Oct 2010 02:28:49 +0000 (12:58 +1030)]
typesafe_cb: 64 bit fixes.
In particular, gcc warns about cast from int to pointer.
Rusty Russell [Wed, 20 Oct 2010 02:28:20 +0000 (12:58 +1030)]
tdb: 64-bit fixes.
Rusty Russell [Wed, 20 Oct 2010 02:21:50 +0000 (12:51 +1030)]
tally: fixes for 64 bit machines.
Rusty Russell [Wed, 20 Oct 2010 02:20:18 +0000 (12:50 +1030)]
read_write_all: don't rely on write to pipe blocking in tests.
Instead, directly control write().
Rusty Russell [Wed, 20 Oct 2010 02:10:00 +0000 (12:40 +1030)]
opt: 64-bit compile fixes
%.* => unsigned, not size_t.
Rusty Russell [Wed, 20 Oct 2010 02:09:21 +0000 (12:39 +1030)]
ccan_tokenizer: 64-bit compile fixes.
%zu for size_t printf.
Rusty Russell [Wed, 20 Oct 2010 02:08:39 +0000 (12:38 +1030)]
alloc: fix 64-bit
Make sure we use 1UL to bitshift, not 1.
Rusty Russell [Wed, 20 Oct 2010 02:07:45 +0000 (12:37 +1030)]
tools: fixes for 64-bit.
printf's %.* means an unsigned arg, not a size_t.
Rusty Russell [Mon, 18 Oct 2010 02:54:20 +0000 (13:24 +1030)]
tdb2: fix infinite loop in tdb_check
check_free_list returns a length, not bool.
Rusty Russell [Mon, 18 Oct 2010 02:47:42 +0000 (13:17 +1030)]
tdb2: add tdb_attribute_seed for setting hash seed.
Particularly useful for reproduction, like tdbtorture.
Rusty Russell [Sun, 17 Oct 2010 05:33:02 +0000 (16:03 +1030)]
licence->license: US English is the standard for code.
If a Swedish-speaking Finn writes code in English, why should I complain about
a few weird spellings?
Rusty Russell [Sun, 17 Oct 2010 04:10:21 +0000 (14:40 +1030)]
tdb2: clarify locking heirarchy; hashes, freelist, then expand lock.
Rusty Russell [Fri, 15 Oct 2010 10:38:03 +0000 (21:08 +1030)]
tdb2: fix run-summary test
(Was succeeding in finding "Free bucket 8" string, because of "Free bucket 80:".
Rusty Russell [Thu, 14 Oct 2010 12:30:00 +0000 (23:00 +1030)]
opt: list ccan/typesafe_cb as a dependency.
Rusty Russell [Fri, 8 Oct 2010 00:56:17 +0000 (11:26 +1030)]
ccanlint: use opt package.
Now we get long options!
Rusty Russell [Thu, 7 Oct 2010 23:41:11 +0000 (10:11 +1030)]
opt: add opt_log_stderr_exit helper, and opt_usage NULL option.
The former encapsulates a common "just exit on error" case, the latter
avoids having to repeat the extra usage string.
(We actually would have crashed before if someone passed NULL there, even
though the documentation said you could).
Rusty Russell [Thu, 7 Oct 2010 04:12:20 +0000 (14:42 +1030)]
opt: fix example to compile.
Rusty Russell [Thu, 7 Oct 2010 03:35:20 +0000 (14:05 +1030)]
opt: remove gratuitous { } in initializers.
A little less typing for users.
Rusty Russell [Thu, 7 Oct 2010 03:29:42 +0000 (13:59 +1030)]
compiler, list, noerr, sparse_bsearch, str, str_talloc, stringmap, talloc_link, tdb, tdb2, typesafe_cb: fix examples
Phew, now they call compile!
Rusty Russell [Thu, 7 Oct 2010 03:26:11 +0000 (13:56 +1030)]
ccanlint: yet more modifications to example extraction and compile.
Now (with fixes) every ccanlint example compiles!
Rusty Russell [Thu, 7 Oct 2010 02:43:26 +0000 (13:13 +1030)]
ccanlint: rename files on collision even with keep=true.
Rusty Russell [Thu, 7 Oct 2010 02:42:57 +0000 (13:12 +1030)]
tools: fix bug in doc-extract, handle spaces in summary line
/**
* struct foo - some description
So, <identifier> here can have a space in it.
Rusty Russell [Thu, 7 Oct 2010 02:41:02 +0000 (13:11 +1030)]
compiler, talloc: warn if return from realloc-like functions isn't used.
This hit my doc extraction tool, so fix it!
Rusty Russell [Wed, 6 Oct 2010 17:11:20 +0000 (03:41 +1030)]
tdb: fixed unitialized vars.
Rusty Russell [Wed, 6 Oct 2010 17:10:03 +0000 (03:40 +1030)]
tdb2: fix uninitialized var.
Rusty Russell [Wed, 6 Oct 2010 17:01:55 +0000 (03:31 +1030)]
modules: update documentation examples so they compile under ccanlint.
This is everything up to the list module... now it's time for sleep.
Rusty Russell [Wed, 6 Oct 2010 16:59:30 +0000 (03:29 +1030)]
ccanlint: yet more heuristics for compiling examples.
Including intuiting ccan depends based on headers...
Rusty Russell [Wed, 6 Oct 2010 14:33:39 +0000 (01:03 +1030)]
array: fix example compile.
Rusty Russell [Wed, 6 Oct 2010 14:30:51 +0000 (01:00 +1030)]
hash: fix examples so they compile.
Rusty Russell [Wed, 6 Oct 2010 14:30:25 +0000 (01:00 +1030)]
talloc: fix examples so they compile.
Rusty Russell [Wed, 6 Oct 2010 14:29:55 +0000 (00:59 +1030)]
opt: fix examples so they compile.
Rusty Russell [Wed, 6 Oct 2010 14:29:09 +0000 (00:59 +1030)]
alloc: fix examples so they compile.
Rusty Russell [Wed, 6 Oct 2010 14:27:28 +0000 (00:57 +1030)]
tap: make examples compilable by ccanlint.
In particular, we can assume "somefunc()" exists in our examples.
Rusty Russell [Wed, 6 Oct 2010 14:25:49 +0000 (00:55 +1030)]
ccanlint: more heuristics for compiling examples.
Try to glue consecutive examples together if all else fails (works well for
ccan/alloc/alloc.h). This means we should put examples into list in order.
Rusty Russell [Wed, 6 Oct 2010 14:25:14 +0000 (00:55 +1030)]
tools: "See Also:" can be a section in documentation, so allow it.
Rusty Russell [Wed, 6 Oct 2010 03:31:24 +0000 (14:01 +1030)]
ccanlint: more heuristics for compiling examples.
These are from hash: the entire example is indented, there is no main(), and
there are unused static functions.
Rusty Russell [Wed, 6 Oct 2010 03:29:08 +0000 (13:59 +1030)]
ccanlint: really fix failing test logic.
Some of the compulsory tests don't have a total_score; treat that as "1".
And don't print out a score if the total is <= 1.
Rusty Russell [Wed, 6 Oct 2010 03:28:30 +0000 (13:58 +1030)]
ccanlint: link api tests against compiled objects
Don't assume that ../modulename.o already built!
Rusty Russell [Wed, 6 Oct 2010 02:25:38 +0000 (12:55 +1030)]
ccanlint: add somefunc() to help examples compile.
And don't require the module.o to already exist: link against generated .o files.
Rusty Russell [Wed, 6 Oct 2010 01:47:47 +0000 (12:17 +1030)]
ccanlint: actually try to compile examples.
Includes primitive attempt to place fragments into appropriate framework to
compile them.
Rusty Russell [Wed, 6 Oct 2010 01:45:31 +0000 (12:15 +1030)]
ccanlint: load file contents on demand, fix names for extracted examples.
We had example names like "example-opt.h-opt_parse", which got trimmed to
"example-opt". By using a basename of example-opt.h-opt_parse.c, we only
strip the final ".c" not the middle ".h".
Rusty Russell [Wed, 6 Oct 2010 01:44:35 +0000 (12:14 +1030)]
ccanlint: make sure we stop on failure of compulsory test.
Rusty Russell [Tue, 5 Oct 2010 23:11:11 +0000 (09:41 +1030)]
ccanlint: fix -k has_examples
Rusty Russell [Tue, 5 Oct 2010 12:10:18 +0000 (22:40 +1030)]
opt: fix warnings with gcc and -O.
Rusty Russell [Tue, 5 Oct 2010 12:03:56 +0000 (22:33 +1030)]
opt: minor API tweaks.
Don't allow NULL descs, and put them in macro. Users can use "", but make
sure it's explicit, not an accidental omission.
Use errx() instead of assert() for API usage errors.
Rename opt_flags to opt_type.
Rusty Russell [Tue, 5 Oct 2010 07:01:36 +0000 (17:31 +1030)]
opt: allow parameter names in arguments.
Rusty Russell [Tue, 5 Oct 2010 07:00:30 +0000 (17:30 +1030)]
opt: remove unused debug function and code, test a few more corner cases.
Rusty Russell [Tue, 5 Oct 2010 06:06:09 +0000 (16:36 +1030)]
opt: clarify option iteration a little.
I still don't like the duplication, but it's clearer and not much longer.
Rusty Russell [Tue, 5 Oct 2010 05:26:19 +0000 (15:56 +1030)]
opt: fix reporting of arguments when multiple arguments exist.
longidx is not updated in this case. We should open-code option parsing.
Rusty Russell [Sun, 3 Oct 2010 11:53:29 +0000 (22:23 +1030)]
opt: Put actual options inside names.
This is more explicit than separate short and long (great for grep!) and
simpler.
Rusty Russell [Thu, 30 Sep 2010 01:36:10 +0000 (11:06 +0930)]
opt: add support for showing default value.
Rusty Russell [Wed, 29 Sep 2010 22:57:58 +0000 (08:27 +0930)]
opt: new module to parse commandline options.
Rusty Russell [Sun, 26 Sep 2010 07:36:09 +0000 (17:06 +0930)]
compiler: use everywhere.
This includes renaming ATTRIBUTE_UNLIKELY_FUNCTION to ATTRIBUTE_COLD,
and removing unlikely_func macro from ccan/likely.
Rusty Russell [Sun, 26 Sep 2010 07:34:03 +0000 (17:04 +0930)]
read_write_all: use calloc instead of huge stack var in tests.
Valgrind was giving a spurious error.
Rusty Russell [Sun, 26 Sep 2010 07:33:30 +0000 (17:03 +0930)]
ogg_to_pcm: fix build.
Rusty Russell [Sun, 26 Sep 2010 07:32:25 +0000 (17:02 +0930)]
noerr: don't leave tmpnam entries in /tmp in tests.
Rusty Russell [Sun, 26 Sep 2010 07:31:22 +0000 (17:01 +0930)]
tdb2: another test.
Rusty Russell [Sun, 26 Sep 2010 07:30:32 +0000 (17:00 +0930)]
tdb2: make sure summary always has a graph in it.
We were getting occasional failures: if all values are the same it's a 1-line
graph and there's no "|" anywhere.
Rusty Russell [Sun, 26 Sep 2010 06:20:00 +0000 (15:50 +0930)]
config: more attributes defined.
Rusty Russell [Sun, 26 Sep 2010 06:01:38 +0000 (15:31 +0930)]
compiler: header for compiler-specific wrappers.
Currently they sit in each module.
Rusty Russell [Sun, 26 Sep 2010 05:58:11 +0000 (15:28 +0930)]
ccanlint: handle gcov where there's actually no C code
Macro packages do this.
Rusty Russell [Sat, 25 Sep 2010 15:18:55 +0000 (00:48 +0930)]
antithread: flesh out _info, update licence to GPLv3.
Rusty Russell [Sat, 25 Sep 2010 15:18:27 +0000 (00:48 +0930)]
antithread: update example Makefile and arabella example.
Rusty Russell [Sat, 25 Sep 2010 15:12:46 +0000 (00:42 +0930)]
alloc: fix case where poolsize is not a power of 2.
Rusty Russell [Sat, 25 Sep 2010 14:22:35 +0000 (23:52 +0930)]
hash: fix overrun in test code.
Rusty Russell [Sat, 25 Sep 2010 12:36:20 +0000 (22:06 +0930)]
tools/ccanlint: extract examples in separate test.
This is a precursor to doing something useful with them.
Rusty Russell [Sat, 25 Sep 2010 12:34:16 +0000 (22:04 +0930)]
alloc: fix uninitialized entry (thanks valgrind!)
Rusty Russell [Sat, 25 Sep 2010 07:55:17 +0000 (17:25 +0930)]
tdb2: tools/
As per-tdb's tools.
Rusty Russell [Sat, 25 Sep 2010 07:54:50 +0000 (17:24 +0930)]
tdb: separate key and data size summary in tdb_summary().
Rusty Russell [Sat, 25 Sep 2010 07:39:44 +0000 (17:09 +0930)]
tdb2: tdb_summary() implementation for tdb2.
Rusty Russell [Sat, 25 Sep 2010 04:29:00 +0000 (13:59 +0930)]
tdb2: Move min size constant out where summary.c can see it.
Rusty Russell [Sat, 25 Sep 2010 04:27:51 +0000 (13:57 +0930)]
tdb2: don't use probe arg to oob()
We want it to complain if it's wrong...
Rusty Russell [Sat, 25 Sep 2010 02:24:35 +0000 (11:54 +0930)]
tdb: use optimal tally size for summary histograms.
Rusty Russell [Sat, 25 Sep 2010 02:22:27 +0000 (11:52 +0930)]
tally: invert histograms so maximum is on top.
Rusty Russell [Sat, 25 Sep 2010 02:15:12 +0000 (11:45 +0930)]
tally: don't add extra bucket unless buckets == 0
That way we match our comment about optimal tally_new() arg matching histogram height.
Rusty Russell [Sat, 25 Sep 2010 02:11:38 +0000 (11:41 +0930)]
tally: simplify, add Y axis to graph.
Rusty Russell [Fri, 24 Sep 2010 07:57:51 +0000 (17:27 +0930)]
tdb: implement tdb_summary.
Including pretty graphs!
Rusty Russell [Fri, 24 Sep 2010 07:42:07 +0000 (17:12 +0930)]
tally: implement tally_total()
Not as trivial as you might think, with overflow and underflow.
Rusty Russell [Fri, 24 Sep 2010 05:24:46 +0000 (14:54 +0930)]
tdb: TDB_INCOMPATIBLE_HASH, to allow safe changing of default hash.
This flag to tdb_open/tdb_open_ex effects creation of a new database:
1) Uses the Jenkins lookup3 hash instead of the old gdbm hash if none is
specified,
2) Places a non-zero field in header->rwlocks, so older versions of TDB will
refuse to open it.
This means that the caller (ie Samba) can set this flag to safely
change the hash function. Versions of TDB from this one on will either
use the correct hash or refuse to open (if a different hash is specified).
Older TDB versions will see the nonzero rwlocks field and refuse to open
it under any conditions.
Rusty Russell [Fri, 24 Sep 2010 04:59:42 +0000 (14:29 +0930)]
tdb: automatically identify Jenkins hash tdbs
If the caller to tdb_open_ex() doesn't specify a hash, and tdb_old_hash
doesn't match, try tdb_jenkins_hash.
This makes life simpler, especially with the upcoming TDB_INCOMPATIBLE_HASH
flag.
Rusty Russell [Fri, 24 Sep 2010 04:07:04 +0000 (13:37 +0930)]
tdb: add Bob Jenkins lookup3 hash as helper hash.
This is a better hash than the default: shipping it with tdb makes it easy
for callers to use it as the hash by passing it to tdb_open_ex().
Rusty Russell [Thu, 23 Sep 2010 07:20:30 +0000 (16:50 +0930)]
tdb: add mktdb tool.
Rusty Russell [Thu, 23 Sep 2010 05:43:03 +0000 (15:13 +0930)]
tally: new module for tallying numbers.
Rusty Russell [Tue, 14 Sep 2010 11:06:48 +0000 (20:36 +0930)]
tools: restore -Wmissing-prototypes -Wmissing-declarations
Rusty Russell [Tue, 14 Sep 2010 11:06:12 +0000 (20:36 +0930)]
tdb: fix test helper to include own header, fix function definition.
Rusty Russell [Tue, 14 Sep 2010 11:05:34 +0000 (20:35 +0930)]
tdb2: add missing prototype, move tdb_firstkey/tdb_nextkey to traverse.c
Rusty Russell [Tue, 14 Sep 2010 10:36:17 +0000 (20:06 +0930)]
tdb2: implement tdb_firstkey/tdb_nextkey.
Rusty Russell [Tue, 14 Sep 2010 01:08:30 +0000 (10:38 +0930)]
tdb2: add tdb_errorstr(), clean up error codes.
Also remove TDB_DISALLOW_NESTING flag, since that's the default now.
Rusty Russell [Tue, 14 Sep 2010 00:36:04 +0000 (10:06 +0930)]
tdb2: update design doc.
Rusty Russell [Mon, 13 Sep 2010 10:12:34 +0000 (19:42 +0930)]
tdb: put example hashes into header, so we notice incorrect hash_fn.
This is Stefan Metzmacher <metze@samba.org>'s patch with minor
changes:
1) Use the TDB_MAGIC constant so both hashes aren't of strings.
2) Check the hash in tdb_check (paranoia, really).
3) Additional check in the (unlikely!) case where both examples hash to 0.
4) Cosmetic changes to var names and complaint message.
Rusty Russell [Mon, 13 Sep 2010 09:17:14 +0000 (18:47 +0930)]
tdb: fix tdb_check() on other-endian tdbs.
We must not endian-convert the magic string, just the rest.
Rusty Russell [Mon, 13 Sep 2010 09:08:20 +0000 (18:38 +0930)]
tdb: fix tdb_check() on read-only TDBs to actually work.
But make sure we can still do tdb_check() inside a transaction (weird,
but we previously allowed it).
Rusty Russell [Mon, 13 Sep 2010 07:53:29 +0000 (17:23 +0930)]
tdb: support tdb_check() on r/o databases.
(Imported from SAMBA commit
bc1c82ea137e1bf6cb55139a666c56ebb2226b23 )
Author: Jeremy Allison <jra@samba.org>
Date: Wed Jul 28 05:15:40 2010 -0700
Fix tdb_check() to work with read-only tdb databases. The function tdb_lockall() uses F_WRLCK internally, which doesn't work on a fd opened with O_RDONLY. Use tdb_lockall_read() instead.
Jeremy.
Rusty Russell [Mon, 13 Sep 2010 07:32:47 +0000 (17:02 +0930)]
alloc: No need for tiny.c to be executable.
Rusty Russell [Mon, 13 Sep 2010 06:31:32 +0000 (16:01 +0930)]
ccanlint: append NULL terminator to generated dependencies.
Interestingly, valgrind didn't even notice. But it crashed on (some) PowerPC.
Rusty Russell [Mon, 13 Sep 2010 04:29:15 +0000 (13:59 +0930)]
tdb2: fix remapping inside tdb_traverse_read
Because we (temporarily!) marked the tdb read_only=true, any remap would
mmap PROT_READ, and the next store would SEGV.
Pulled in more test infrastructure from tdb.