ccan
9 years agotdb2: add TDB_RDONLY flag, allow setting/unsetting it.
Rusty Russell [Wed, 31 Aug 2011 04:28:15 +0000 (13:58 +0930)]
tdb2: add TDB_RDONLY flag, allow setting/unsetting it.

You can only unset it if the TDB was originally opened O_RDWR.

Also, cleaned up error handling in tdb_allrecord_lock() so we only get
one log message on a r/o database.

9 years agotdb2: return TDB_ERR_RDONLY if trying to start a transaction on a R/O tdb.
Rusty Russell [Wed, 31 Aug 2011 04:27:15 +0000 (13:57 +0930)]
tdb2: return TDB_ERR_RDONLY if trying to start a transaction on a R/O tdb.

This is more accurate than returning TDB_ERR_EINVAL.

9 years agotdb2: save open_flags instead of mmap_flags.
Rusty Russell [Wed, 31 Aug 2011 04:26:15 +0000 (13:56 +0930)]
tdb2: save open_flags instead of mmap_flags.

It's more consistent with what tdb1 does, and slightly more encapsulated.

9 years agotdb2: Hand error code to logging function.
Rusty Russell [Wed, 31 Aug 2011 04:25:15 +0000 (13:55 +0930)]
tdb2: Hand error code to logging function.

Since we've deprecated tdb_error() function (and it didn't work right
from inside the logging function anyway, since we didn't set
tdb->ecode yet) we need to hand it to the log function.

9 years agotdb2: move transaction lock
Rusty Russell [Wed, 31 Aug 2011 01:15:12 +0000 (10:45 +0930)]
tdb2: move transaction lock

Make it the same offset as TDB1.  This isn't strictly necessary, but
it would allow for total unification later, since TDB1 and TDB2's
transaction code is otherwise completely compatible.

9 years agotdb2: enforce TDB_CONVERT
Rusty Russell [Wed, 31 Aug 2011 01:14:12 +0000 (10:44 +0930)]
tdb2: enforce TDB_CONVERT

If the caller actually specifies TDB_CONVERT, fail if the TDB does not
need conversion.  It's unusual for the user to specify TDB_CONVERT
(it's auto-detected) but better to be strict.

9 years agotdb2: cleanup oob handling.
Rusty Russell [Wed, 31 Aug 2011 01:13:12 +0000 (10:43 +0930)]
tdb2: cleanup oob handling.

The tdb_oob() function can fail due to errors, as well as because the length
asked for is greater than the size of the file.  Clean that up:

(1) If probe is true, only fail if there's an error, not if the length is
    too great.
(2) Exit tdb_open() if it tdb_oob() probe fails; this helps cut down
    test time for failtest.
(3) Don't set probe to true in tdb_direct() fail; a minor issue, but it means
    we log failure.

9 years agotdb2: fix tdb_lock offset.
Rusty Russell [Wed, 31 Aug 2011 01:12:12 +0000 (10:42 +0930)]
tdb2: fix tdb_lock offset.

It can be 64 bits, for huge databases.

9 years agotdb2: fix internal tdb_write_convert() error handling in tdb_open()
Rusty Russell [Wed, 31 Aug 2011 01:11:12 +0000 (10:41 +0930)]
tdb2: fix internal tdb_write_convert() error handling in tdb_open()

As noted, failtest was taking a long time, because a failure injected here
was not detected.

9 years agotdb2: Fix to always use 64-bit offset definition
Rusty Russell [Wed, 31 Aug 2011 01:10:12 +0000 (10:40 +0930)]
tdb2: Fix to always use 64-bit offset definition

We use off_t in the tdb2 interface (for tdb_attribute_flock); we need
to make sure that all callers agree on the size.

This also causes a problem in the tests: it's not enough to include
config.h first, we need the _FILE_OFFSET_BITS define from private.h.
Otherwise, we can disagree about the definitions of F_SETLK, F_SETLKW
and off_t, causing strange problems.

9 years agotally: Adapt tally_histogram to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:53:53 +0000 (19:53 +0200)]
tally: Adapt tally_histogram to Samba coding conventions

Autobuild-User: Volker Lendecke <vlendec@samba.org>
Autobuild-Date: Wed Aug 10 21:12:59 CEST 2011 on sn-devel-104

(Imported from SAMBA commit f7b820c3590ac78dd0dea67ac882f53ae6f550d9)

9 years agotally: Adapt get_max_bucket to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:52:58 +0000 (19:52 +0200)]
tally: Adapt get_max_bucket to Samba coding conventions

(Imported from SAMBA commit fed977514019e130322fb21ad5726ee997965898)

9 years agotally: Adapt tally_approx_median to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:52:40 +0000 (19:52 +0200)]
tally: Adapt tally_approx_median to Samba coding conventions

(Imported from SAMBA commit 35550ba641d251a2dc3762b08eda92d0f7ce6bed)

9 years agotally: Adapt bucket_range to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:52:15 +0000 (19:52 +0200)]
tally: Adapt bucket_range to Samba coding conventions

(Imported from SAMBA commit eac2f44cde39d16b827b7e2d360f7a7fb1d940e5)

9 years agotally: Adapt tally_mean to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:51:56 +0000 (19:51 +0200)]
tally: Adapt tally_mean to Samba coding conventions

(Imported from SAMBA commit 06a41594554a1a6881dcbf9d051a822f8f955b56)

9 years agotally: Adapt divls64 to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:51:26 +0000 (19:51 +0200)]
tally: Adapt divls64 to Samba coding conventions

(Imported from SAMBA commit f589af19821e12aba6145492fd4ded58f07131b8)

9 years agotally: Avoid some // style comments in divls64
Volker Lendecke [Wed, 10 Aug 2011 17:50:52 +0000 (19:50 +0200)]
tally: Avoid some // style comments in divls64

(Imported from SAMBA commit b32f086d643eb39c3806e30b19a028e6a59f0054)

9 years agotally: Adapt divlu64 to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:49:55 +0000 (19:49 +0200)]
tally: Adapt divlu64 to Samba coding conventions

(Imported from SAMBA commit ee91004f4bddcda873f8ccde1db16609a66a493b)

9 years agotally: Avoid some // style comments in divlu64
Volker Lendecke [Wed, 10 Aug 2011 17:49:23 +0000 (19:49 +0200)]
tally: Avoid some // style comments in divlu64

(Imported from SAMBA commit 26795b3dd1a90c61424cd8f1761f98bc60b3ddc4)

9 years agotally: Adapt fls64 to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:46:52 +0000 (19:46 +0200)]
tally: Adapt fls64 to Samba coding conventions

(Imported from SAMBA commit 73414d0ee7bbe371b0f9b275b44ce5854a10b9f2)

9 years agotally: Adapt tally_num to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:46:37 +0000 (19:46 +0200)]
tally: Adapt tally_num to Samba coding conventions

(Imported from SAMBA commit 3f67063dfab1a7add95da5157206ccebb2f75df8)

9 years agotally: Adapt tally_add to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:46:24 +0000 (19:46 +0200)]
tally: Adapt tally_add to Samba coding conventions

(Imported from SAMBA commit 9c32c86783bf6a3e126e6e83f51ccdf0ecdd132d)

9 years agotally: Adapt renormalize to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:46:00 +0000 (19:46 +0200)]
tally: Adapt renormalize to Samba coding conventions

(Imported from SAMBA commit 1fa4236c40a727d7ae648e12d14d1f0f9fcf79b5)

9 years agotally: Adapt shift_overflows to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:45:40 +0000 (19:45 +0200)]
tally: Adapt shift_overflows to Samba coding conventions

(Imported from SAMBA commit 4a3913fbb9399685785efa430765e0b5836ded60)

9 years agotally: Adapt bucket_min to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:45:24 +0000 (19:45 +0200)]
tally: Adapt bucket_min to Samba coding conventions

(Imported from SAMBA commit a2d1d0b51485f2d383d1d69fa3bd6b79b9e8d5aa)

9 years agotally: Adapt bucket_of to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:45:14 +0000 (19:45 +0200)]
tally: Adapt bucket_of to Samba coding conventions

(Imported from SAMBA commit 68d0843437b05dc8a36091e4a307bfd912cbc09f)

9 years agotally: Adapt tally_new to Samba coding conventions
Volker Lendecke [Wed, 10 Aug 2011 17:44:45 +0000 (19:44 +0200)]
tally: Adapt tally_new to Samba coding conventions

(Imported from SAMBA commit c6ae297d613fc22b92c34d26c61ec1715058b484)

9 years agotally: Slightly simplify tally_new
Volker Lendecke [Wed, 10 Aug 2011 17:44:10 +0000 (19:44 +0200)]
tally: Slightly simplify tally_new

(Imported from SAMBA commit 066d36a1a635e1115f62c452c49a9830d484c03b)

9 years agotally: Fix a c++ warning
Volker Lendecke [Wed, 10 Aug 2011 17:43:21 +0000 (19:43 +0200)]
tally: Fix a c++ warning

(Imported from SAMBA commit cb5c6f441f394f91bedf641aa76841bdb833e440)

9 years agotally: Fix a c++ warning
Volker Lendecke [Wed, 10 Aug 2011 17:42:54 +0000 (19:42 +0200)]
tally: Fix a c++ warning

(Imported from SAMBA commit 54282e9f4eda083e70c7e56dda2bf425209add6d)

9 years agoMakefile: speed fastcheck
Rusty Russell [Tue, 30 Aug 2011 04:31:26 +0000 (14:01 +0930)]
Makefile: speed fastcheck

Rather than timeout, explicitly disable tests_pass_valgrind and
tests_compile_coverage.  This is important now we run under valgrind
the first time we run the tests, thus would always time out and not
run most of the tests at all!

"make check" takes 7m57s, old "make fastcheck" takes 3m28s, and this takes
only 1m57s, but much more is run (as shown by the larger score total).

9 years agoccanlint: clean up reduced feature handling.
Rusty Russell [Tue, 30 Aug 2011 04:31:25 +0000 (14:01 +0930)]
ccanlint: clean up reduced feature handling.

Putting the reduced config.h in the current directory means that it's
actually being picked up by other tests, such as the string checks.
So move it to a sub-directory where we need an explicit -I.

We also fix the dependencies, so that "--target
tests_pass_without_features" works.

9 years agoccanlint: show each test as we execute it with -vv
Rusty Russell [Tue, 30 Aug 2011 04:31:25 +0000 (14:01 +0930)]
ccanlint: show each test as we execute it with -vv

Tests can be slow to run, and this way we can monitor progress.

9 years agoccanlint: handle duplicate dependencies in _info
Rusty Russell [Tue, 30 Aug 2011 04:31:25 +0000 (14:01 +0930)]
ccanlint: handle duplicate dependencies in _info

We eliminate dependencies as we recurse, but if a single _info file
lists a dependency twice, we add it to the list twice and this skip
over the middle ones.

9 years agoccanlint: add coverage variant of files.
Rusty Russell [Tue, 30 Aug 2011 04:31:05 +0000 (14:01 +0930)]
ccanlint: add coverage variant of files.

Rather than a separate cov_compiled member, we can add to the
compiled[] array, and we reduce duplication significantly.

9 years agoccanlint: keep separate array of compiled versions.
Rusty Russell [Tue, 30 Aug 2011 04:27:08 +0000 (13:57 +0930)]
ccanlint: keep separate array of compiled versions.

Rather than mug the old ->compiled version when we reduce features,
keep both in the structure.  This makes it clear that we are using the
right version (we weren't in all cases, in particular we weren't
recompiling the test helpers correctly.

9 years agoccanlint: run tests under valgrind initially.
Rusty Russell [Mon, 29 Aug 2011 23:57:39 +0000 (09:27 +0930)]
ccanlint: run tests under valgrind initially.

Unless it's not available or suppressed, we might as well run it under
valgrind the first time, which speeds things a little.

We save the valgrind output file for tests_pass_valgrind's use later.

9 years agoccanlint: add is_excluded() helper.
Rusty Russell [Mon, 29 Aug 2011 23:56:39 +0000 (09:26 +0930)]
ccanlint: add is_excluded() helper.

We'll need this in a moment.

9 years agotools: simplify get_safe_ccan_deps
Rusty Russell [Mon, 29 Aug 2011 23:55:39 +0000 (09:25 +0930)]
tools: simplify get_safe_ccan_deps

There's no reason to hand in the name of the compiled _info file,
since we don't compile it up in safe mode.

9 years agoccanlint: fix warning about bogus return value.
Rusty Russell [Mon, 29 Aug 2011 23:54:39 +0000 (09:24 +0930)]
ccanlint: fix warning about bogus return value.

9 years agoccanlint: rename obj_list in examples_compile.c to example_obj_list.
Rusty Russell [Mon, 29 Aug 2011 23:53:39 +0000 (09:23 +0930)]
ccanlint: rename obj_list in examples_compile.c to example_obj_list.

Trivial cleanup, but differentiates from the general obj_list used
elsewhere.

9 years agofailtest: replay --failpath correctly on really failing opens.
Rusty Russell [Mon, 29 Aug 2011 23:52:39 +0000 (09:22 +0930)]
failtest: replay --failpath correctly on really failing opens.

When an open() call fails, we don't inject an error, but we didn't
apply this logic when replaying a failpath, with strange results.

9 years agofailtest: add --show-slowest
Rusty Russell [Mon, 29 Aug 2011 23:51:39 +0000 (09:21 +0930)]
failtest: add --show-slowest

This is useful for seeing where failures cause us to run slowly
(ie. we continue for a long time before terminating).

9 years agofailtest: use ccan/time
Rusty Russell [Mon, 29 Aug 2011 23:50:39 +0000 (09:20 +0930)]
failtest: use ccan/time

9 years agofailtest: use 64 bit offsets if available.
Rusty Russell [Mon, 29 Aug 2011 08:03:25 +0000 (17:33 +0930)]
failtest: use 64 bit offsets if available.

We have to be consistent with the caller, so turn on 64 bit offsets if
available for both the caller and us.

9 years agohtable: fix tools/speed.
Rusty Russell [Mon, 29 Aug 2011 08:02:41 +0000 (17:32 +0930)]
htable: fix tools/speed.

As pointed out by Christian Thaeter, it has bitrotted.

9 years agobuild_assert: Remove stale LGPL license comment.
Joey Adams [Tue, 23 Aug 2011 22:35:53 +0000 (18:35 -0400)]
build_assert: Remove stale LGPL license comment.

9 years agotdb2: suppress valgrind testing on one test.
Rusty Russell [Wed, 24 Aug 2011 03:23:51 +0000 (12:53 +0930)]
tdb2: suppress valgrind testing on one test.

Now valgrind children report failures, this one test fails.

9 years agotdb: don't leak memory in tests.
Rusty Russell [Wed, 24 Aug 2011 03:23:08 +0000 (12:53 +0930)]
tdb: don't leak memory in tests.

9 years agotdb: only mark two files as failing, don't turn off all valgrind tests.
Rusty Russell [Wed, 24 Aug 2011 03:23:00 +0000 (12:53 +0930)]
tdb: only mark two files as failing, don't turn off all valgrind tests.

9 years agotdb: don't define _XOPEN_SOURCE ourselves, let config.h do it.
Rusty Russell [Wed, 24 Aug 2011 03:22:59 +0000 (12:52 +0930)]
tdb: don't define _XOPEN_SOURCE ourselves, let config.h do it.

This is the CCAN Way.  Plus, eliminates a compile warning here.

9 years agotdb: don't use 'private' in headers.
Rusty Russell [Wed, 24 Aug 2011 03:22:57 +0000 (12:52 +0930)]
tdb: don't use 'private' in headers.

As per the SAMBA version.

9 years agoccanlint: tests_pass_valgrind_noleaks: handle FAIL option on tests.
Rusty Russell [Wed, 24 Aug 2011 03:22:54 +0000 (12:52 +0930)]
ccanlint: tests_pass_valgrind_noleaks: handle FAIL option on tests.

Now we can mark test files as FAIL and not be bothered by them.

9 years agoccanlint: allow per-file restrictions, so we don't have to remove all tests.
Rusty Russell [Wed, 24 Aug 2011 03:22:46 +0000 (12:52 +0930)]
ccanlint: allow per-file restrictions, so we don't have to remove all tests.

For example, valgrind can't handle some things, so we may need to
switch it off, but we don't want to do that for every test.

So, start a standard format for per-file restrictions, eg:

    Ccanlint: tests_pass_valgrind test/foo.c:FAIL

For the moment, only tests_pass_valgrind takes options, so it has to
change: we now have a helper which returns the array of options
applicable to a given file.

9 years agofailtest: plug memory leak.
Rusty Russell [Wed, 24 Aug 2011 03:22:28 +0000 (12:52 +0930)]
failtest: plug memory leak.

Valgrind notes that our child processes leak memory.

9 years agoccanlint: make valgrind understand child output.
Rusty Russell [Wed, 24 Aug 2011 03:22:24 +0000 (12:52 +0930)]
ccanlint: make valgrind understand child output.

We turned on --child-silent-after-fork=yes, because the output
confused our dumb parser.  Now we split output by prefix ("==<pid>==")
and then we can sort out the leaks from the errors.

This means we find more errors.... next patch!

9 years agoccanlint: use ccan/time
Rusty Russell [Wed, 24 Aug 2011 03:22:04 +0000 (12:52 +0930)]
ccanlint: use ccan/time

Our own dogfood, and it's yummy!

9 years agotools: reorder object files into alphabetical order.
Rusty Russell [Wed, 24 Aug 2011 03:22:00 +0000 (12:52 +0930)]
tools: reorder object files into alphabetical order.

Simplifies future patches.

9 years agotalloc_link: close memory leak in test.
Rusty Russell [Tue, 23 Aug 2011 02:51:10 +0000 (12:21 +0930)]
talloc_link: close memory leak in test.

9 years agoread_write_all: fix leak in tests.
Rusty Russell [Tue, 23 Aug 2011 02:51:10 +0000 (12:21 +0930)]
read_write_all: fix leak in tests.

9 years agoopt: neaten tests with helpers.
Rusty Russell [Tue, 23 Aug 2011 02:51:05 +0000 (12:21 +0930)]
opt: neaten tests with helpers.

9 years agonoerr: remove bogus LICENSE link.
Rusty Russell [Tue, 23 Aug 2011 02:41:11 +0000 (12:11 +0930)]
noerr: remove bogus LICENSE link.

9 years agojmap: fix jmap_free, tests.
Rusty Russell [Tue, 23 Aug 2011 02:30:13 +0000 (12:00 +0930)]
jmap: fix jmap_free, tests.

Memory leak in tests revealed bug in jmap_free.  Also, out-by-one
error.

9 years agojbitset: fix examples, remove test memory leak.
Rusty Russell [Tue, 23 Aug 2011 02:06:49 +0000 (11:36 +0930)]
jbitset: fix examples, remove test memory leak.

9 years agograb_file: close memory leak in test.
Rusty Russell [Tue, 23 Aug 2011 02:01:04 +0000 (11:31 +0930)]
grab_file: close memory leak in test.

9 years agoalloc: fix !HAVE_BUILTIN_POPCOUNTL code.
Rusty Russell [Tue, 23 Aug 2011 01:54:21 +0000 (11:24 +0930)]
alloc: fix !HAVE_BUILTIN_POPCOUNTL code.

9 years agoccanlint: fix dependencies on tests_pass_without_features.
Rusty Russell [Mon, 22 Aug 2011 07:50:06 +0000 (17:20 +0930)]
ccanlint: fix dependencies on tests_pass_without_features.

We can only test the featureless tests, once we've built them!

9 years agotdb2: fix intermittant failure in run-50-multiple-freelists-fail.c
Rusty Russell [Mon, 22 Aug 2011 03:17:08 +0000 (12:47 +0930)]
tdb2: fix intermittant failure in run-50-multiple-freelists-fail.c

layout.c's TDB creation functions were incorrect in case of a hash
collision, causing occasional failure.  Make it always use the
(previously-failing) seed value, and fix it.

9 years agobdelta: new module for binary diff/patch
Joey Adams [Sat, 20 Aug 2011 02:29:44 +0000 (22:29 -0400)]
bdelta: new module for binary diff/patch

9 years agoblock_pool, ccan_tokenizer, stringmap: add ccanlint license suppressions.
Rusty Russell [Tue, 16 Aug 2011 06:04:14 +0000 (15:34 +0930)]
block_pool, ccan_tokenizer, stringmap: add ccanlint license suppressions.

9 years agoarray_size: relicense under public domain.
Rusty Russell [Tue, 16 Aug 2011 05:47:54 +0000 (15:17 +0930)]
array_size: relicense under public domain.

It's just a header, I don't care what's done with it.

9 years agocheck_type: remove erroneous license line (it's now public domain)
Rusty Russell [Tue, 16 Aug 2011 05:43:37 +0000 (15:13 +0930)]
check_type: remove erroneous license line (it's now public domain)

9 years agocharset: Updated copyright year, and set to version 0.3
Joey Adams [Mon, 15 Aug 2011 06:45:22 +0000 (02:45 -0400)]
charset: Updated copyright year, and set to version 0.3

9 years agoccan_tokenizer: Corrected LICENSE link so it points to BSD-3CLAUSE.
Joey Adams [Mon, 15 Aug 2011 06:41:40 +0000 (02:41 -0400)]
ccan_tokenizer: Corrected LICENSE link so it points to BSD-3CLAUSE.

9 years agobtree: Changed license from BSD-3 to MIT, and set version to 0.2
Joey Adams [Mon, 15 Aug 2011 06:36:33 +0000 (02:36 -0400)]
btree: Changed license from BSD-3 to MIT, and set version to 0.2

NOTE: btree was originally copyright 2010, and has not been
touched by me since then.  I don't know if changing the license
to something more permissive requires updating the copyright year
or not.

9 years agostringmap: Corrected LICENSE link so it points to BSD-3CLAUSE.
Joey Adams [Mon, 15 Aug 2011 06:29:05 +0000 (02:29 -0400)]
stringmap: Corrected LICENSE link so it points to BSD-3CLAUSE.

9 years agoavl: Added LICENSE link, and set version to 0.1
Joey Adams [Mon, 15 Aug 2011 06:26:17 +0000 (02:26 -0400)]
avl: Added LICENSE link, and set version to 0.1

9 years agoblock_pool: Changed license from BSD-3 to MIT, and set version to 0.1
Joey Adams [Mon, 15 Aug 2011 06:06:17 +0000 (02:06 -0400)]
block_pool: Changed license from BSD-3 to MIT, and set version to 0.1

NOTE: block_pool was originally copyright 2009, and has not been
touched by me since then.  I don't know if changing the license
to something more permissive requires updating the copyright year
or not.

9 years agodarray: Changed license from BSD-3 to MIT, and updated copyright year.
Joey Adams [Mon, 15 Aug 2011 05:47:58 +0000 (01:47 -0400)]
darray: Changed license from BSD-3 to MIT, and updated copyright year.

9 years agoopt: complete coverage, enhance opt_free_table.
Rusty Russell [Sun, 14 Aug 2011 01:04:44 +0000 (10:34 +0930)]
opt: complete coverage, enhance opt_free_table.

No point checking malloc failure in usage(), since we don't elsewhere.
We get 100% coverage with -O (due to code elimination) or 64 bit.

9 years agoopt: fix warnings in test, fix endian assumptions.
Rusty Russell [Sun, 14 Aug 2011 00:35:41 +0000 (10:05 +0930)]
opt: fix warnings in test, fix endian assumptions.

In particular, handing an pointer to ULL where a pointer to UL is expected
won't work on big endian.

9 years agoopt: functions to show integer values with kMGTPE suffixes
Douglas Bagnall [Sat, 13 Aug 2011 12:31:42 +0000 (22:01 +0930)]
opt: functions to show integer values with kMGTPE suffixes

As with the set_ functions, there are twelve permutations of integer size,
base, and signedness.  The supported sizes are int, long, and long long.

For example, this:

 char buf1[OPT_SHOW_LEN];
 char buf2[OPT_SHOW_LEN];
 unsigned i = 1024000;
 opt_show_uintval_bi(buf1, &i);
 opt_show_uintval_si(buf2, &i);

will put "1000k" in buf1, and "1024k" in buf2.

Unlike the opt_set_ functions, these use unsigned arithmetic for unsigned values.

(32 bit bug using sizeof(suffixes) instead of strlen(suffixes) fixed by Rusty)

9 years agoopt: incidental comment and whitespace repair
Douglas Bagnall [Sat, 13 Aug 2011 12:19:59 +0000 (21:49 +0930)]
opt: incidental comment and whitespace repair

This comment occurred in a couple of places:

 /* Set an integer value, various forms.  Sets to 1 on arg == NULL. */

One instance was clearly spurious, while the other was misleading.

Another resolution to this mismatch would be to add
"if (arg == NULL){*l = 1; return NULL}" somewhere, but I suspect
it may have been left out/removed because someone thought better.

9 years agoopt: add integer helpers that accept k, M, G, T, P, E suffixes
Douglas Bagnall [Sat, 13 Aug 2011 12:19:59 +0000 (21:49 +0930)]
opt: add integer helpers that accept k, M, G, T, P, E suffixes

These functions come in two flavours: those ending with "_si", which
have 1000-based interpretations of the suffixes; and those ending with
"_bi", which use base 1024.  There are versions for signed and
unsigned int, long, and long long destinations, with tests for all 12
new functions.  The tests get a bit repetitive, I am afraid.

As an example, if the -x option were using the opt_set_intval_bi
function, then all of these would do the same thing:

$ foo -x 5M
$ foo -x $((5 * 1024 * 1024))
$ foo -x 5242880
$ foo -x 5120k

quite what that thing is depends on the size of your int -- people
with 16 bit ints would see an "out of range" error message.

The arithmetic for unsigned variations is actually done using signed
long long integers, so the maximum possible value is LLONG_MAX, not
ULLONG_MAX.  This follows the practice of existing functions, and
avoids tedious work.

9 years agofailtest: fix silent exit when top-level return FAIL_PROBE
Rusty Russell [Mon, 1 Aug 2011 08:29:09 +0000 (17:59 +0930)]
failtest: fix silent exit when top-level return FAIL_PROBE

We were missing failed tests: if the top-level returns FAIL_PROBE, we would
exit; this should only apply to children.

9 years agotdb2: fix line numbers for tests.
Rusty Russell [Mon, 1 Aug 2011 08:29:08 +0000 (17:59 +0930)]
tdb2: fix line numbers for tests.

9 years agocast: downgrade license from LGPL3+ to LGPLv2.1+
Rusty Russell [Fri, 22 Jul 2011 12:13:39 +0000 (21:43 +0930)]
cast: downgrade license from LGPL3+ to LGPLv2.1+

Kirill A. Shutemov asked for libgit.  I would say they should upgrade their
license, but libhx on which these are based is also LGPLv2.1 or later, so
I prefer to match that.

9 years agoisaac, crcsync: acknowledge licensing issues.
Rusty Russell [Thu, 21 Jul 2011 05:20:00 +0000 (14:50 +0930)]
isaac, crcsync: acknowledge licensing issues.

The recently added ccanlint licensing checks revealed several cases
where the published license of a module is misleading: a dependency of
that module has a stricter license (eg. a public domain module which
depends on a GPL one).

Where these are my modules, I've fixed them.  Otherwise I'm overriding
the checks for the moment, and asking the authors what they want to do.

9 years agoccan/noerr: fix compiler warning with const strings.
Rusty Russell [Thu, 21 Jul 2011 05:20:00 +0000 (14:50 +0930)]
ccan/noerr: fix compiler warning with const strings.

9 years agovarious: add LICENSE comments.
Rusty Russell [Thu, 21 Jul 2011 05:19:56 +0000 (14:49 +0930)]
various: add LICENSE comments.

9 years agoccanlint: handle DOS-style \r\n lines when parsing.
Rusty Russell [Thu, 21 Jul 2011 05:14:50 +0000 (14:44 +0930)]
ccanlint: handle DOS-style \r\n lines when parsing.

We don't correctly detect pure-comment lines in ccan/ttxml/ttxml.c
without this.

9 years agotdb2: add full LGPL headers
Rusty Russell [Thu, 21 Jul 2011 05:14:50 +0000 (14:44 +0930)]
tdb2: add full LGPL headers

This is for SAMBA, so we follow their rules and do full license
headers.  Two files were missing them.

9 years agocontainer_of: relicense to Public domain
Rusty Russell [Thu, 21 Jul 2011 05:14:50 +0000 (14:44 +0930)]
container_of: relicense to Public domain

Too trivial to deserve LGPL, and all my code.

9 years agocheck_type: relicense to Public domain
Rusty Russell [Thu, 21 Jul 2011 05:14:49 +0000 (14:44 +0930)]
check_type: relicense to Public domain

Too trivial to deserve LGPL, and all my code.

9 years agohtable: relicense under LGPL
Rusty Russell [Thu, 21 Jul 2011 05:14:49 +0000 (14:44 +0930)]
htable: relicense under LGPL

Various LGPL components depend on it, via ccan/likely.  ccan/likely
really only needs it when CCAN_LIKELY_DEBUG is set, but making it a
conditional dependency is a bit nasty if defining that changes the
license.

So this is the simplest fix.  I might relicense under PD or BSD later,
since the likely module should probably have an even more liberal
license.

9 years agoccanlint: license_depends_compat checks dependencies are compatible.
Rusty Russell [Thu, 21 Jul 2011 05:14:46 +0000 (14:44 +0930)]
ccanlint: license_depends_compat checks dependencies are compatible.

We don't check external dependencies, but internal ccan deps are
pretty easy.

9 years agoccanlint: move license tag matching into common code.
Rusty Russell [Thu, 21 Jul 2011 04:59:06 +0000 (14:29 +0930)]
ccanlint: move license tag matching into common code.

Refactoring helps the next patch.

9 years agowwviaudio: fix license in _info, symlink (LGPL -> GPL)
Rusty Russell [Thu, 21 Jul 2011 04:59:06 +0000 (14:29 +0930)]
wwviaudio: fix license in _info, symlink (LGPL -> GPL)

Comments in code indicate this is actually GPL version 2 or later.

9 years agoogg_to_pcm: fix license in _info, symlink (LGPL -> GPLv2)
Rusty Russell [Thu, 21 Jul 2011 04:59:06 +0000 (14:29 +0930)]
ogg_to_pcm: fix license in _info, symlink (LGPL -> GPLv2)

Comments in code indicate this is actually GPL version 2 only.

9 years agomd4: fix license
Rusty Russell [Thu, 21 Jul 2011 04:59:06 +0000 (14:29 +0930)]
md4: fix license

As ccanlint now says:
  Source files don't contain incompatible licenses (license_file_compat): FAIL
  /home/rusty/devel/cvs/ccan/ccan/md4/md4.c:Found boilerplate for license 'GPLv2+' which is incompatible with 'LGPLv2+'

This is actually GPL code!

Add LICENSE link, too.