Bernhard Reutner-Fischer [Thu, 1 Jun 2006 18:30:42 +0000 (18:30 -0000)]
- look at bb_applet_name. Should close bugs #892 and #893
also restructure code a bit so the fix only adds 1 byte..
Bernhard Reutner-Fischer [Thu, 1 Jun 2006 14:36:14 +0000 (14:36 -0000)]
- shrink logread a bit.
text data bss dec hex filename
862 26 188 1076 434 logread.o.orig
825 26 188 1039 40f logread.o
Paul Fox [Thu, 1 Jun 2006 13:17:49 +0000 (13:17 -0000)]
make halt and poweroff messages more accurate (i.e., claim "we're about to",
rather than "it's done", and combine with reboot handler to save space.
Rob Landley [Thu, 1 Jun 2006 00:52:30 +0000 (00:52 -0000)]
Shaun Jackman pointed out that KERNEL_VERSION() is used without guards, so
defining it in a guard is silly.
Rob Landley [Thu, 1 Jun 2006 00:51:38 +0000 (00:51 -0000)]
The common case APPLET() macro only needs three arguments.
Rob Landley [Wed, 31 May 2006 23:54:50 +0000 (23:54 -0000)]
Bugfix from Shaun Jackman: don't attempt to write 64 bytes and then fail if
the write wasn't 192 bytes long.
Rob Landley [Wed, 31 May 2006 23:23:42 +0000 (23:23 -0000)]
Add CONFIG_NITPICK. (And tweak a couple other help entries while I'm there.)
Nothing's actually using it yet, but we need it.
Rob Landley [Wed, 31 May 2006 22:52:57 +0000 (22:52 -0000)]
Patch from Tito to remove long options from hdparm.
Rob Landley [Wed, 31 May 2006 22:24:33 +0000 (22:24 -0000)]
Use BB endianness macro.
Rob Landley [Wed, 31 May 2006 22:09:03 +0000 (22:09 -0000)]
Header file cleanup. platform.h apparently needs to be included early on so it
can figure out what header files to include, and override stuff that comes
later. But applets shouldn't include platform.h directly, they should include
busybox.h or libbb.h. Since busybox.h already includes libbb.h, move libbb.h
to the top of busybox.h and platform.h near the top of libbb.h (right after
bbconfig.h, which is something platform.h also needs access to).
While we're at it, move some stuff from busybox.h to libbb.h so we have one
big file to audit/clean up/try to make sense of instead of many.
Rob Landley [Wed, 31 May 2006 19:36:04 +0000 (19:36 -0000)]
Add catv (separate applet instead of cat -v). Also cleanup cat.c comments,
the following of which (from cat.c) belongs in svn history instead of the
source code:
/* Mar 16, 2003 Manuel Novoa III (mjn3@codepoet.org)
*
* This is a new implementation of 'cat' which aims to be SUSv3 compliant.
*
* Changes from the previous implementation include:
* 1) Multiple '-' args are accepted as required by SUSv3. The previous
* implementation would close stdin and segfault on a subsequent '-'.
* 2) The '-u' options is required by SUSv3. Note that the specified
* behavior for '-u' is done by default, so all we need do is accept
* the option.
*/
Bernhard Reutner-Fischer [Wed, 31 May 2006 18:57:56 +0000 (18:57 -0000)]
- fix IMA compile error i introduced when adding this untested snippet.
Bernhard Reutner-Fischer [Wed, 31 May 2006 15:36:20 +0000 (15:36 -0000)]
ha! a scratch-buffer! ;)
put the isdigit hack into it to help landley out..
Bernhard Reutner-Fischer [Wed, 31 May 2006 14:12:51 +0000 (14:12 -0000)]
- make getopt_ulflags aware of CONFIG_GETOPT_LONG
Bernhard Reutner-Fischer [Wed, 31 May 2006 14:11:38 +0000 (14:11 -0000)]
- add CONFIG_FEATURE_WGET_LONG_OPTIONS
Bernhard Reutner-Fischer [Wed, 31 May 2006 13:31:16 +0000 (13:31 -0000)]
- convert xcalloc(1,x) to xzalloc
Bernhard Reutner-Fischer [Wed, 31 May 2006 12:22:13 +0000 (12:22 -0000)]
- shrink klogd a bit
text data bss dec hex filename
569 0 0 569 239 sysklogd/klogd.o.orig
537 0 0 537 219 sysklogd/klogd.o
Bernhard Reutner-Fischer [Wed, 31 May 2006 10:19:51 +0000 (10:19 -0000)]
- s/defined(__uClinux__)/BB_NOMMU/
This needs a second pass to:
+ add bb_daemon(unsigned char no_chdir, unsigned char no_close, const char*flag)
+ eventually globally export argc and argv, so we don't need to pass it to
bb_daemon().
Bernhard Reutner-Fischer [Wed, 31 May 2006 10:04:03 +0000 (10:04 -0000)]
- conditionally define BB_NOMMU
Rob Landley [Tue, 30 May 2006 19:19:45 +0000 (19:19 -0000)]
Since we have less than 100k of usage.h data anyway, using bzip -9 is silly.
That says use 900k chunks when compressing, which needs about 4 megs of data
structures to undo the Burrows-Wheeler transform. Switching it down to
bzip -1 (100k chunks) should have no impact on the compression (since it
still all fits in one chunk) but should reduce runtime decompression memory
requirements to something like 500k. Still larger than gunzip, but not
egregiously so.
Rob Landley [Tue, 30 May 2006 18:49:05 +0000 (18:49 -0000)]
Test to see if I can rename a file without blanking its history...
Rob Landley [Tue, 30 May 2006 18:31:37 +0000 (18:31 -0000)]
Note about BB_NOMMU.
Bernhard Reutner-Fischer [Tue, 30 May 2006 18:17:21 +0000 (18:17 -0000)]
- consolidate "Sending SIG%s to all processes"; untested..
text data bss dec hex filename
5379 32 8 5419 152b init/init.o.oorig
5358 32 8 5398 1516 init/init.o
Bernhard Reutner-Fischer [Tue, 30 May 2006 15:49:10 +0000 (15:49 -0000)]
- this could use a brother which deals with glibc based systems..
Bernhard Reutner-Fischer [Tue, 30 May 2006 12:16:54 +0000 (12:16 -0000)]
- remove useless variable "status" from init_main.
http://www.opengroup.org/onlinepubs/
009695399/functions/waitpid.html suggests
that we need not specify a status if we don't want, and we don't.
"If wait() or waitpid() return because the status of a child process is available, these functions shall return a value equal to the process ID of the child process. In this case, if the value of the argument stat_loc is not a null pointer, information shall be stored in the location pointed to by stat_loc. "
text data bss dec hex filename
5391 32 8 5431 1537 init/init.o.06
5379 32 8 5419 152b init/init.o
Bernhard Reutner-Fischer [Tue, 30 May 2006 12:10:29 +0000 (12:10 -0000)]
- use config_buffer for message()
- add second argument to waitfor(*action,pid); if action==NULL then use pid tor
wait for. If an action was given, we wait for the action to finish just as
before. In run() remove second and third occurance of the same functionality
the waitfor() call now provides.
Adjust the former only caller of waitfor accordingly.
PS: Not using waitfor but creating a second function used a few bytes more than
simply extending and reusing waitfor.
text data bss dec hex filename
5426 32 8 5466 155a init/init.o.orig
5391 32 8 5431 1537 init/init.o
Rob Landley [Tue, 30 May 2006 06:28:03 +0000 (06:28 -0000)]
Put parentheses around some of the SWAP() macros, as pointed out by Peter
Kjellerstedt.
Rob Landley [Mon, 29 May 2006 20:56:27 +0000 (20:56 -0000)]
Teach bloatometer about .rodata, and tweak the display into something that
has a better chance of getting merged.
Bernhard Reutner-Fischer [Mon, 29 May 2006 20:01:52 +0000 (20:01 -0000)]
- cleanup conftest temporary files.
Bernhard Reutner-Fischer [Mon, 29 May 2006 13:08:35 +0000 (13:08 -0000)]
- DEBUG_INIT -> config CONFIG_DEBUG_INIT
Bernhard Reutner-Fischer [Mon, 29 May 2006 13:01:37 +0000 (13:01 -0000)]
- landley, remove this?
Bernhard Reutner-Fischer [Mon, 29 May 2006 12:57:52 +0000 (12:57 -0000)]
- set_term() doesn't need an argument. (Like r15220 this is just compile-tested)
text data bss dec hex filename
5432 32 8 5472 1560 init/init.o.r15220
5426 32 8 5466 155a init/init.o
Bernhard Reutner-Fischer [Mon, 29 May 2006 12:54:16 +0000 (12:54 -0000)]
- move common code into new open_new_terminal() function;
text data bss dec hex filename
864434 10244 645892
1520570 1733ba busybox_old
864386 10244 645892
1520522 17338a busybox_unstripped
add/remove: 1/0 grow/shrink: 0/2 up/down: 92/-143 (-51)
function old new delta
open_new_terminal - 92 +92
exec_signal 345 276 -69
run 1527 1453 -74
Again, 48 != 51 so let's trust the former..
Bernhard Reutner-Fischer [Mon, 29 May 2006 12:12:45 +0000 (12:12 -0000)]
- just whitespace
Bernhard Reutner-Fischer [Mon, 29 May 2006 12:10:23 +0000 (12:10 -0000)]
- ls: remove unused variable
- dpkg.c, diff: use xstat
text data bss dec hex filename
848823 9100 645216
1503139 16efa3 busybox_old
848679 9100 645216
1502995 16ef13 busybox_unstripped
bloatcheck is completely useless as it sees -79 for this, which is bogus.
Rob Landley [Mon, 29 May 2006 07:42:02 +0000 (07:42 -0000)]
More size shrinkage.
Rob Landley [Mon, 29 May 2006 06:43:55 +0000 (06:43 -0000)]
Size reductions, mostly switching things to use libbb functions.
Rob Landley [Mon, 29 May 2006 05:51:12 +0000 (05:51 -0000)]
Add SWAP_LE?? and SWAP_BE?? macros, and make things use them. Converts values
to/from little endian or big endian, which is a NOP if that's what the current
platform already is.
Rob Landley [Mon, 29 May 2006 05:21:29 +0000 (05:21 -0000)]
This is not C++.
Rob Landley [Mon, 29 May 2006 05:06:06 +0000 (05:06 -0000)]
A few new todo items from email with Bernhard.
Rob Landley [Mon, 29 May 2006 05:00:44 +0000 (05:00 -0000)]
Remove _() and N_() from platform.h. #define them as NOP macros in the two
files still using them. I didn't remove them from e2fsck.c to avoid stomping
pending cleanup patches from Garrett, and I didn't bother to remove them from
fdisk.c because that entire file needs to be rewritten from scratch.
Rob Landley [Mon, 29 May 2006 04:49:55 +0000 (04:49 -0000)]
Remove _().
Rob Landley [Mon, 29 May 2006 04:37:28 +0000 (04:37 -0000)]
Remove _().
Rob Landley [Sun, 28 May 2006 02:10:21 +0000 (02:10 -0000)]
I changed last10 to last25, and just bumped it up to 50 so I renamed it
"recent.html". There's a symlink from each of the old names for the moment,
I'll zap those eventually...
Rob Landley [Sun, 28 May 2006 01:56:08 +0000 (01:56 -0000)]
Fix hdparm to use PRIu64 instead of typecasting to long long (which is 128 bits
on 64 bit platforms), and move #include <inttypes.h> to libbb.h.
Rob Landley [Sun, 28 May 2006 01:40:26 +0000 (01:40 -0000)]
Put the ending quote on the help entry...
Rob Landley [Sun, 28 May 2006 01:19:06 +0000 (01:19 -0000)]
Fix some warnings in allbareconfig.
Rob Landley [Sun, 28 May 2006 01:06:36 +0000 (01:06 -0000)]
My first bout of untangling udhcp. Make lots of gratuitous #defines go
away, substitutie BB_VER for an external VERSION, use busybox CONFIG symbols
rather than checking for them then defining others, etc. Lots more cleanup
to do...
Rob Landley [Sat, 27 May 2006 22:08:01 +0000 (22:08 -0000)]
Move portability stuff to platform.h, and clean up adjtimex.c a bit while
I'm in the area.
Rob Landley [Sat, 27 May 2006 21:42:58 +0000 (21:42 -0000)]
Consolidate #include <sys/time.h> so libbb.h does it.
Rob Landley [Sat, 27 May 2006 21:30:34 +0000 (21:30 -0000)]
Update FAQ to mention make baseline when talking about make bloatcheck.
Rob Landley [Sat, 27 May 2006 21:24:16 +0000 (21:24 -0000)]
Consolidate the .PHONY targets and add "make baseline" for bloatcheck.
Bernhard Reutner-Fischer [Sat, 27 May 2006 09:36:43 +0000 (09:36 -0000)]
- use the defines CURRENT_TTY and VC_1; also shrink xargs a tiny bit:
add/remove: 0/0 grow/shrink: 2/6 up/down: 5/-37 (-32)
function old new delta
static.add_interface 271 274 +3
static.glob3 36 38 +2
static.renice_main 409 408 -1
static.readcmd 1083 1081 -2
static.changepath 176 174 -2
static.parse_opts 56 51 -5
static.rx_main 1095 1088 -7
static.xargs_main 759 739 -20
----------------------------------------------------------------
Result :-) -32
Rob Landley [Fri, 26 May 2006 23:44:51 +0000 (23:44 -0000)]
Change llist_add_* to take the address of the list rather than returning the new
head, and change all the callers.
Rob Landley [Fri, 26 May 2006 23:00:10 +0000 (23:00 -0000)]
Slight sanity fix: data is void *, not char *. And it's called data
almost everywhere, so be consistent.
Bernhard Reutner-Fischer [Fri, 26 May 2006 20:34:02 +0000 (20:34 -0000)]
- provide fallback defines for non-linux
Bernhard Reutner-Fischer [Fri, 26 May 2006 20:33:12 +0000 (20:33 -0000)]
- provide fallback defines for non-linux
Bernhard Reutner-Fischer [Fri, 26 May 2006 20:19:22 +0000 (20:19 -0000)]
- add central knob to turn off getopt_long everywhere. EXPERIMENTAL!
Adds "Enable getopt long" under "General options", default y.
Send patches to fix getopt_ulflags and run_parts.c if you turn this off..
See http://busybox.net/lists/busybox/2006-May/021828.html for a start to run-parts
Bernhard Reutner-Fischer [Fri, 26 May 2006 19:58:58 +0000 (19:58 -0000)]
- use strtol instead of strtoll if the latter does not exist
- add and use wrapper for attribute
- add and use replacement for vasprintf if it is unavailable
Bernhard Reutner-Fischer [Fri, 26 May 2006 14:41:40 +0000 (14:41 -0000)]
- introduce and use bb_path_wtmp_file for portability (saves 11 Bytes).
- fix last.c to also look at the double-underscore UT_ defines.
Bernhard Reutner-Fischer [Fri, 26 May 2006 14:24:56 +0000 (14:24 -0000)]
- use portability wrapper define bb_setpgrp.
Bernhard Reutner-Fischer [Fri, 26 May 2006 14:05:48 +0000 (14:05 -0000)]
- work around bug in gcc-3.4.x on ARM
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:54:07 +0000 (13:54 -0000)]
- move llist to top of file so we can potentially use it in all prototypes easily
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:38:43 +0000 (13:38 -0000)]
- make find_mount_point conditional on df and eject; Fixes `make hosttools´ on
hosts where mntent.h does not exist.
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:34:25 +0000 (13:34 -0000)]
- add workaround for tar being broken since it uses a non-portable constant.
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:28:39 +0000 (13:28 -0000)]
- use the SED given by the user
- use the portable `` instead of $(). There is no bbsh, so this is needed.
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:22:57 +0000 (13:22 -0000)]
- add target hosttools (see make help)
- rename check_gcc to check_cc and pass the CC to use as arg#1; peruse check_cc for HOSTCFLAGS
- add and use check_strip
- add checks for {,no-}whole-archive and {start,end}-group LD flags
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:13:11 +0000 (13:13 -0000)]
- use ATTRIBUTE_ALWAYS_INLINE if requested
- use shorter boilerplate while at it
Bernhard Reutner-Fischer [Fri, 26 May 2006 13:10:10 +0000 (13:10 -0000)]
- move libc checks from busybox.h to platform.h
- add ATTRIBUTE_ALWAYS_INLINE, endian handling for DEC UNIX, some more
compiler dependent defines to platform.h
- add conditional bb_setpgrp define to platform.h
- remove superfluous specifying args from "#define fdprintf dprintf"
Bernhard Reutner-Fischer [Fri, 26 May 2006 10:29:40 +0000 (10:29 -0000)]
- patch from Tito to pretty print the overall delta
Mike Frysinger [Fri, 26 May 2006 02:05:19 +0000 (02:05 -0000)]
Yann E. MORIN. writes:
hdparm has a uint64_t passed to printf with a %llu format (which is ok, because
it's the same size), but without first being casted(?) to unsigned long long int.
Which is kinda funny because it's done OK on a few lines above...
Mike Frysinger [Fri, 26 May 2006 01:56:42 +0000 (01:56 -0000)]
errno and h_errno values are not the same #876 by rfelker
Mike Frysinger [Fri, 26 May 2006 01:48:17 +0000 (01:48 -0000)]
fix spelling mistakes
Mike Frysinger [Fri, 26 May 2006 01:41:04 +0000 (01:41 -0000)]
check for queueing dependancy dependancies typos
Mike Frysinger [Fri, 26 May 2006 01:38:19 +0000 (01:38 -0000)]
queuing is spelled correctly
Rob Landley [Thu, 25 May 2006 23:02:40 +0000 (23:02 -0000)]
Rich Felker suggested removing dprintf() from watch, and one thing led to
another... This adds bb_xspawn() support, which does vfork/exec. (I don't
know why using a static instead of a local adds ~40 bytes, but using
the local doesn't work...)
Rob Landley [Thu, 25 May 2006 21:13:30 +0000 (21:13 -0000)]
And fix the error I just introduced. :)
Rob Landley [Thu, 25 May 2006 21:12:40 +0000 (21:12 -0000)]
Remove pointless #define.
Rob Landley [Thu, 25 May 2006 18:53:06 +0000 (18:53 -0000)]
Patch from Tito:
Remove -v verbose -V version -q quiet flags
Remove parse_opt_v2();
Rename parse_opt_v3() to parse_xfermode()
Remove if_strcat()
Rearrange code in dump_identity() to reduce size
Modify some strings so that they could be optimized by the compiler
Minor code clean up
Remove unneeded #define <shm.h>
#if BB_BIG_ENDIAN && !defined(__USE_XOPEN)
# define __USE_XOPEN
#endif
Must be before #include <unistd.h> and #include "busybox.h"
(noticed by Bernhard Fischer <rep.nop@aon.at>)
Remove duplicate code in do_time()
Rob Landley [Thu, 25 May 2006 18:31:11 +0000 (18:31 -0000)]
Remove a pointless #define.
Bernhard Reutner-Fischer [Thu, 25 May 2006 13:24:02 +0000 (13:24 -0000)]
make the testsuite a little less brittle:
- 'function fn_name\n{' breaks on older FreeBSD default shells, so use the more
widely supported 'fn_name () {'. This needs more fixing..
- test for integers ought to use the proper operators
- test for strings ought to use quoting of the strings to be fair to strange
implementations of test(1)
- make sure not to ignore return-codes != 0 from commands; Some shells exit
immediately on this (much like explicitely requesting set -e in e.g. bash)
TODO:
*) Some older shells do not allow a space after the test-condition in an "if"
statement. This doesn't work:
if [ $status -ne 0 ] ; then
as opposed to this:
if [ $status -ne 0 ]; then
or this
if [ $status -ne 0 ]
then
*) strict spacing between commands. In some shells you have to say:
foo ; bar ; baz
The affected shells barf on stuff like ommitting the space, so this doesn't
work:
foo; bar ;baz
*) $() vs. ``
The former isn't really portable as opposed to the latter.
*) fix frong assumption that the testsuite is run from the source-dir.
This is a complete misconception and renders the testsuite completely useless.
That said, i note that IMO a test-harness ought to do it's best to work in
a wide variety of environments, everything else defeats it's purpose.
Rob Landley [Wed, 24 May 2006 17:58:00 +0000 (17:58 -0000)]
Two more issues pointed out by Bernhard.
Rob Landley [Wed, 24 May 2006 17:45:47 +0000 (17:45 -0000)]
Yann Morin spotted some leftover flotsam from halfway through the recent
llist.c interface change that accidentally got checked in. My bad.
Rob Landley [Tue, 23 May 2006 00:28:06 +0000 (00:28 -0000)]
It takes _talent_ to implement a version of nohup that does everything except
the actual blocking of HUP.
Bernhard Reutner-Fischer [Sun, 21 May 2006 22:06:59 +0000 (22:06 -0000)]
- set x bit
Rob Landley [Sun, 21 May 2006 18:33:27 +0000 (18:33 -0000)]
Convert to a global struct, the way sed was. Now I have two, I can work out
the infrastructure to merge global structs into a union...
Rob Landley [Sun, 21 May 2006 18:30:35 +0000 (18:30 -0000)]
Minor cleanups: Convert a few calloc() calls to xzalloc, remove unnecessary
memset, collate variable declarations...
Rob Landley [Sun, 21 May 2006 18:28:13 +0000 (18:28 -0000)]
New version of nohup that's much smaller, less paranoid, consistent,
vaguely portable, and licensed GPLv2 "or later".
Bernhard Reutner-Fischer [Sun, 21 May 2006 15:05:49 +0000 (15:05 -0000)]
- fix wrong path to scripts/usage; It is in the builddir and not in the srcdir.
- flag .depend as .NOTPARALLEL to workaround bug in make-3.80 and make-3.81
Some more details on the second workaround (i.e. kludge):
make-3.80 silently fails, while make-3.81 is at least self-conscious enough to
admit:
include/usage_compressed.h: .config scripts/usage
# Implicit rule search has not been done.
# File does not exist.
# File has not been updated.
# Dependencies commands running (THIS IS A BUG).
# commands to execute (from `/home/cow/src/bb2/Makefile', line 430):
$(Q)$(SHELL) $(top_srcdir)/scripts/usage_compressed "$(top_builddir)/scripts" > $@
I'm giving up on trying to run the rest of the prerequisites of .depend in
parallel and just (try to) indicate that the prerequisites of .depend are
not to be run in parallel.
While this makes `make distclean defconfig;make -j´ work for me, it is not a
real -- longterm -- solution; FIXME
Bernhard Reutner-Fischer [Sun, 21 May 2006 10:45:01 +0000 (10:45 -0000)]
- check for existing usage binary, so it get's more obvious that the toplevel
Makefile uses the wrong path to the binary (it's in top_builddir and not in top_srcdir)
Bernhard Reutner-Fischer [Sun, 21 May 2006 10:04:46 +0000 (10:04 -0000)]
- there is no _usage.h anymore, so don't rm it in distclean.
Bernhard Reutner-Fischer [Sun, 21 May 2006 09:02:12 +0000 (09:02 -0000)]
- do not create usage_compressed.h if CONFIG_FEATURE_COMPRESS_USAGE is not set
Bernhard Reutner-Fischer [Sun, 21 May 2006 08:25:45 +0000 (08:25 -0000)]
- there is no "sh". Use $(SHELL)
Bernhard Reutner-Fischer [Sat, 20 May 2006 14:14:05 +0000 (14:14 -0000)]
- silence warning about no return in function returning non-void
- put CONFIG_DEBUG_CROND_OPTION into config
no changes in size when debugging is disabled.
Rob Landley [Fri, 19 May 2006 22:54:42 +0000 (22:54 -0000)]
Patch from Robert P. Day to remove #ifdefed out SLIP support code that we
have no CONFIG option to enable, and which existing SLIP users don't seem
to miss.
Rob Landley [Fri, 19 May 2006 22:42:23 +0000 (22:42 -0000)]
Remove unused function parameter, from Garrett.
Rob Landley [Fri, 19 May 2006 22:14:19 +0000 (22:14 -0000)]
Add diffutils and dhcp to list of packages we provide replacements for.
Bernhard Reutner-Fischer [Fri, 19 May 2006 20:48:22 +0000 (20:48 -0000)]
- backout erroneously checked in snippet..
Rob Landley [Fri, 19 May 2006 20:47:55 +0000 (20:47 -0000)]
First quick stab at organizing TODO under whose TODO item it is.
Rob Landley [Fri, 19 May 2006 20:36:49 +0000 (20:36 -0000)]
A pending item in my tree I might as well check in: I plan to migrate calloc()
and bb_calloc() calls to bb_xzalloc() which allocates prezeroed memory but
only takes one argument (the size).