Denis Vlasenko
524176680d
Tried to find sha1_crypt - nope... ok, save few bytes in md5_sha1_sum.c
...
(time to sleep, 02:28 in the morning)...
2006-09-28 00:29:00 +00:00
Denis Vlasenko
ce97960a6e
usage.h: remove ugly tricks. We have USE_FEATURE_xxx now.
...
Few bugs are now exposed...
2006-09-27 23:31:08 +00:00
Denis Vlasenko
c16bd212e3
silly switch style fix
2006-09-27 19:51:06 +00:00
Rob Landley
29d94b907f
Another attempt at untangling the logic so the compiler can follow it and not
...
generate pointless warnings.
2006-09-23 19:56:21 +00:00
Denis Vlasenko
c290563319
remove unneeded #includes, fix indentation
2006-09-23 16:01:09 +00:00
Rob Landley
b97f07f5a1
Follow-up to 16172: this also doesn't produce a warning for me on gcc 4.1,
...
without having to feed the compiler nonsense.
2006-09-22 19:11:59 +00:00
Bernhard Reutner-Fischer
3503ff72c6
- pull r15578 from busybox_scratch branch:
...
- fix bug where it would behave wrong if ./nohup.out was not writable.
- debloat and make it readable while at it.
$ size coreutils/nohup.o*
text data bss dec hex filename
362 0 0 362 16a coreutils/nohup.o.trunk
344 0 0 344 158 coreutils/nohup.o
$ make bloatcheck
function old new delta
nohup_main 324 310 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-14) Total: -14 bytes
2006-09-21 22:10:24 +00:00
Bernhard Reutner-Fischer
42f67026a1
- silence gcc warning about a funcptr possibly being used uninitialized.
...
This is a perfect example on where we should NOT care if the functor is not
initialized since the result will not be what the user may expect.
Safe bet would be to init to NULL, but let's try normal uu for good measure.
- fix commentary typo while at it.
2006-09-21 20:40:56 +00:00
Bernhard Reutner-Fischer
a6585774f9
- fix embarrassing typo of mine. Closes bug #1038
2006-09-20 15:29:13 +00:00
Denis Vlasenko
79deb66c35
stty: fix few bugs found in testing
2006-09-19 15:12:12 +00:00
Denis Vlasenko
debaf2fe02
stty: reorder code, reducing need in forward declarations.
...
added few missed bits of error checking for parameters.
2006-09-19 14:31:44 +00:00
Denis Vlasenko
20b253d2d8
stty: convert "enum mode_type" into unnamed enum
...
(reduces code obfuscation); deindent set_mode;
add _or_die suffixes to few functions
2006-09-19 14:24:23 +00:00
Denis Vlasenko
8971cdaeca
stty: reduce #ifdef forest
2006-09-19 14:20:22 +00:00
Denis Vlasenko
e40c04b826
stty: simplify linewrapping code a bit
2006-09-19 14:19:42 +00:00
Denis Vlasenko
9efb070dcb
stty: style fixes
2006-09-19 14:17:10 +00:00
Denis Vlasenko
7eab79acc5
stty: fix a longstanding FIXME (was able to die half-way setting term params)
2006-09-19 14:16:28 +00:00
Denis Vlasenko
9213a9e0f2
whitespace cleanup
2006-09-17 16:28:10 +00:00
Bernhard Reutner-Fischer
7fee0c4357
- fix copy'n paste errors that got introduced when switching to the shorter boilerplate.
...
No object code changes.
2006-09-13 16:39:19 +00:00
Denis Vlasenko
9cac521f07
using [xa]sprintf for string concatenation is neat and saves
...
~100 bytes according to bloatcheck. Also this fixes bug in rpm
2006-09-09 12:24:19 +00:00
Denis Vlasenko
bd8f43dbab
few random readability enhansements. No code changes
2006-09-08 17:31:55 +00:00
Denis Vlasenko
a9801658ee
getty, sulogin: convert to using bb_msg for syslog output
2006-09-07 16:20:03 +00:00
Denis Vlasenko
21afc7dc29
uuencode: common implementation for wget and uuencode (closing bug 694)
2006-09-03 15:49:40 +00:00
Bernhard Reutner-Fischer
73561cc75a
- pull from busybox_scratch: r15829:15850
...
Various fixes, cleanups and shrinkage:
saves 952 Bytes:
text data bss dec hex filename
1087742 15853 790632 1894227 1ce753 ../busybox/busybox.old
1086790 15853 790632 1893275 1ce39b busybox
via:
# scripts/bloat-o-meter ../busybox/busybox_unstripped.old busybox_unstripped
function old new delta
ipcrm_main 756 822 +66
getval - 61 +61
maybe_set_utc - 40 +40
udhcpc_main 2896 2912 +16
md5_hash_block 428 437 +9
opt 8 16 +8
qgravechar 106 110 +4
make_bitmap 292 295 +3
inflate_unzip 2056 2059 +3
add_partition 1412 1414 +2
__parsespent 156 158 +2
qrealloc 41 42 +1
format - 1 +1
catv_main 313 314 +1
watch_main 293 292 -1
varunset 81 80 -1
part 1 - -1
check_if_skip 837 836 -1
start_stop_daemon_main 840 837 -3
create_lost_and_found 175 172 -3
supress_non_delimited_lines 4 - -4
static.l 4 - -4
static.c 5 1 -4
bsd_sum_file 237 233 -4
eval2 338 332 -6
arithmetic_common 166 158 -8
cmpfunc 22 5 -17
cksum_main 294 275 -19
cmp_main 465 439 -26
dd_main 1535 1508 -27
rmmod_main 376 333 -43
cut_file 727 644 -83
ipcs_main 3809 3721 -88
cut_main 722 614 -108
date_main 1443 1263 -180
remove_ids 222 - -222
------------------------------------------------------------------------------
(add/remove: 3/4 grow/shrink: 11/18 up/down: 217/-853) Total: -636 bytes
2006-08-28 23:31:54 +00:00
Rob Landley
ecb29573e9
"Jordan Crouse" <jordan.crouse@amd.com> says:
...
The following patch makes coreutils/test.c act fail gracefully if getgroups()
returns a -1. This fixes a problem on the One Laptop Per Child ROM image
whereby we were getting odd Memory exhausted messages for '[' and 'test'.
Found by Mitch Bradley <wmb@firmworks.com>
(Tweaked by Rob: no need to initialize a static to NULL, or realloc something
that's only allocated when it's NULL.)
2006-08-22 23:40:28 +00:00
Bernhard Reutner-Fischer
d591a360d3
- merge -r15463:15564 from busybox_scratch branch through these changesets:
...
------------------------------------------------------------------------
r15465 | aldot | 2006-06-21 20:48:06 +0200 (Wed, 21 Jun 2006) | 3 lines
- use CONFIG_BUSYBOX_EXEC_PATH as before it one was broken by a recent revert.
- use xchdir() since all is invain if it fails there anyways, supposedly
------------------------------------------------------------------------
r15466 | aldot | 2006-06-21 20:55:16 +0200 (Wed, 21 Jun 2006) | 2 lines
- adjust docs to take CONFIG_BUSYBOX_EXEC_PATH into account.
------------------------------------------------------------------------
r15467 | aldot | 2006-06-21 21:31:24 +0200 (Wed, 21 Jun 2006) | 18 lines
- partial fallout of my TREE_USED touchup against gcc-4.2: rip unused vars, save
s 144 bytes
text data bss dec hex filename
862434 10156 645924 1518514 172bb2 busybox.old
862322 10156 645892 1518370 172b22 busybox
function old new delta
z_len 4 - -4
textend 4 - -4
part_nb 4 - -4
insize 4 - -4
ifile_size 4 - -4
do_link 4 - -4
new_text 70 60 -10
ipaddr_list_link 33 23 -10
gzip_main 898 822 -76
------------------------------------------------------------------------------
(add/remove: 0/6 grow/shrink: 0/3 up/down: 0/-120) Total: -120 bytes
------------------------------------------------------------------------
r15468 | aldot | 2006-06-21 21:43:05 +0200 (Wed, 21 Jun 2006) | 19 lines
- remove useless global exports
function old new delta
rpm_main 940 1601 +661
rpm_getstring 107 112 +5
rpm_getint 148 153 +5
loop_through_files 103 106 +3
fileaction_dobackup 115 113 -2
fileaction_list 5 - -5
rpm_getcount 42 - -42
extract_cpio_gz 161 - -161
rpm_gettags 504 - -504
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 4/1 up/down: 674/-714) Total: -40 bytes
text data bss dec hex filename
862322 10156 645892 1518370 172b22 busybox.old
862290 10156 645892 1518338 172b02 busybox
------------------------------------------------------------------------
r15555 | aldot | 2006-06-30 14:10:11 +0200 (Fri, 30 Jun 2006) | 22 lines
- shrink syslog a little bit, move a big buffer (for 'line') off the bss, fold s
emaphore stuff into single caller manually.
stats:
function old new delta
logMessage 395 427 +32
message 1245 1257 +12
opts - 4 +4
small 1 - -1
local_logging 4 - -4
doRemoteLog 4 - -4
circular_logging 4 - -4
syslogd_main 1299 1285 -14
static.res 36 16 -20
.rodata 186650 186586 -64
static.line 1025 - -1025
------------------------------------------------------------------------------
(add/remove: 1/5 grow/shrink: 2/3 up/down: 48/-1136) Total: -1088 bytes
cow@s37:~/src/busybox_scratch$ size sysklogd/syslogd.o{.orig,}
text data bss dec hex filename
3723 348 5242 9313 2461 sysklogd/syslogd.o.orig
3697 348 4188 8233 2029 sysklogd/syslogd.o
==============================================================================
Overall bloatcheck for the changeset mentioned above:
function old new delta
rpm_main 953 1608 +655
logMessage 395 427 +32
message 1245 1257 +12
opts - 4 +4
rpm_getstring 107 110 +3
rpm_getint 148 151 +3
loop_through_files 103 104 +1
small 1 - -1
fileaction_dobackup 115 113 -2
z_len 4 - -4
textend 4 - -4
part_nb 4 - -4
local_logging 4 - -4
insize 4 - -4
ifile_size 4 - -4
do_link 4 - -4
doRemoteLog 4 - -4
circular_logging 4 - -4
fileaction_list 5 - -5
new_text 70 60 -10
ipaddr_list_link 33 23 -10
clear_bufs 31 21 -10
syslogd_main 1287 1273 -14
builtin_help 190 176 -14
static.res 36 16 -20
builtin_source 229 199 -30
rpm_getcount 42 - -42
gzip_main 842 786 -56
.rodata 227176 227112 -64
lash_main 609 527 -82
busy_loop 3883 3739 -144
extract_cpio_gz 155 - -155
rpm_gettags 501 - -501
static.line 1025 - -1025
------------------------------------------------------------------------------
(add/remove: 1/15 grow/shrink: 6/12 up/down: 710/-2221) Total: -1511 bytes
2006-08-20 17:35:13 +00:00
Rob Landley
519d7df930
Another whack at scripts/individual. Now builds 212 applets.
2006-08-09 20:56:23 +00:00
Rob Landley
236c6755d2
Teach md5sum and sha1sum to work the way other applets do so I don't have to
...
teach scripts/individual new tricks. And while I'm at it, teach
scripts/individual other new tricks. Now builds 198 applets, some of which
I should teach it to hardlink together because they're really the same app...
2006-08-06 02:13:36 +00:00
Rob Landley
081e38483e
Remove xcalloc() and convert its callers to xzalloc(). About half of them
...
were using "1" as one of the arguments anyway, and as for the rest a multiply
and a push isn't noticeably bigger than pushing two arguments on the stack.
2006-08-03 20:07:35 +00:00
Rob Landley
86b4d64aa3
These should have been part of 15767 too.
2006-08-03 17:58:17 +00:00
Rob Landley
d921b2ecc0
Remove bb_ prefixes from xfuncs.c (and a few other places), consolidate
...
things like xasprintf() into xfuncs.c, remove xprint_file_by_name() (it only
had one user), clean up lots of #includes... General cleanup pass. What I've
been doing for the last couple days.
And it conflicts! I've removed httpd.c from this checkin due to somebody else
touching that file. It builds for me. I have to catch a bus. (Now you know
why I'm looking forward to Mercurial.)
2006-08-03 15:41:12 +00:00
Rob Landley
565bc33332
Remove code that can't be reached.
2006-07-31 22:50:12 +00:00
Rob Landley
7cc6b69bb0
Patch from Shaun Jackman, set optind by hand if we don't call getopt.
2006-07-26 16:10:39 +00:00
Mike Frysinger
8840759c61
move lchown/chown define out of specific files and into platform.h where it belongs
2006-07-20 19:31:07 +00:00
Rob Landley
534374755d
Cleaup read() and write() variants, plus a couple of new functions like
...
xlseek and fdlength() for the new mkswap.
2006-07-16 08:14:35 +00:00
Rob Landley
91ed1a4a41
Patch from Suresh Rajashekara moving comments and #includes and such around.
2006-07-14 17:59:36 +00:00
"Robert P. J. Day"
801ab14013
Add one-line GPL boilerplate to numerous (but not all yet) source files.
2006-07-12 07:56:04 +00:00
"Robert P. J. Day"
63fc1a9e08
Standardize on the vi editing directives being on the first line.
2006-07-02 19:47:05 +00:00
"Robert P. J. Day"
edd9ca5743
More removal of "#if 0" content.
2006-07-01 14:52:12 +00:00
"Robert P. J. Day"
68229837ff
Remove all usage of the "register" storage class specifier.
2006-07-01 13:08:46 +00:00
Rob Landley
ab58d5cf8a
Make warnings go away.
2006-06-30 19:04:09 +00:00
Rob Landley
cd545287c5
Fix bug 744 by moving the flushing logic into the exhausted read buffer test.
...
(Also some other minor cleanups while I was there, shouldn't affect the
resulting binary.)
2006-06-30 16:35:40 +00:00
Rob Landley
2b8a05a775
I broke allbareconfig with half-finished cleanups I'd forgotten weren't done.
...
Got both to a decent stopping point. (There's a lot more cleanup to do on ls.c
but now is not the time...)
2006-06-20 17:43:01 +00:00
Rob Landley
7a260f01ce
Make some 64 bit warnings go away on x86-64.
2006-06-19 03:20:03 +00:00
Rob Landley
290fcb4213
Undo all of the ugliness and some of the bloat from 15412.
2006-06-18 23:59:03 +00:00
Rob Landley
ea224be6aa
skip_whitespace() shouldn't claim its return value is const, it doesn't know
...
that and callers wind up typecasting it back.
2006-06-18 20:20:07 +00:00
Rob Landley
9947a244d4
Patch from Rich Felker:
...
- duplicated format bit 14 forced LIST_EXEC always-on
- -p option was behaving just like -F (SUSv3 says -p only shows / for
dirs, not other special symbols)
- tests for LIST_EXEC in color functions were nonsense (constant
tests). i assume they were supposed to be (all_fmt & LIST_EXEC)
however having coloring of executable files depend on -F seems
undesirable.
2006-06-15 22:11:10 +00:00
Rob Landley
39218932b1
Fix bug found by Joey Hess and forwarded by Bastian Bunk. Add Joey Hess's
...
test case to the testsuite, plus another one that would have been broken by
the first attempt at a fix.
2006-06-15 20:50:38 +00:00
Paul Fox
6ab037872f
made "test" an ash built-in.
...
moved the contents of libbb/bb_echo.c back into coreutils/echo.c,
which is a more reasonable place for them than libbb. this
forces anyone who wants echo and test to be builtin to ash to
also have them available as applets. their cost is very small,
and the number of people who wouldn't want them as applets is
also very small.
added warning about shell builtins vs. CONFIG_FEATURE_SH_STANDALONE_SHELL,
which conflicts with their use.
thanks to nathanael copa for debugging help.
some string size optimization in test.c may have been lost with
this commit, but this is a good new baseline.
2006-06-08 21:37:26 +00:00
Bernhard Reutner-Fischer
19008b8373
- reuse strings and messages. Saves about 600B
2006-06-07 20:17:41 +00:00
Rob Landley
eb29d6ce6a
Remove a config entry that leaked in from my tree before I decided to
...
implement cat -v as a separate applet.
2006-06-06 22:59:37 +00:00
Bernhard Reutner-Fischer
1b9d7c9aa9
- use bb_msg_{read,write}_error where appropriate.
...
text data bss dec hex filename
825015 9100 645216 1479331 1692a3 busybox.old
824919 9100 645216 1479235 169243 busybox
2006-06-03 22:45:37 +00:00
Bernhard Reutner-Fischer
b5353a20f3
- look at bb_applet_name. Should close bugs #892 and #893
...
also restructure code a bit so the fix only adds 1 byte..
2006-06-01 18:30:42 +00:00
Rob Landley
8abbee474c
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.
*/
2006-05-31 19:36:04 +00:00
Bernhard Reutner-Fischer
bbc225e13d
- just whitespace
2006-05-29 12:12:45 +00:00
Bernhard Reutner-Fischer
d2c306e862
- 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.
2006-05-29 12:10:23 +00:00
Rob Landley
81dab2cf83
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.
2006-05-28 01:56:08 +00:00
Rob Landley
c44bc986b7
Fix some warnings in allbareconfig.
2006-05-28 01:19:06 +00:00
Rob Landley
299a6b4d7b
Consolidate #include <sys/time.h> so libbb.h does it.
2006-05-27 21:42:58 +00:00
Bernhard Reutner-Fischer
01d23ade57
- 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
2006-05-26 20:19:22 +00:00
Rob Landley
399d2b5c24
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...)
2006-05-25 23:02:40 +00:00
Rob Landley
027ea1aeac
Two more issues pointed out by Bernhard.
2006-05-24 17:58:00 +00:00
Rob Landley
fa6b5e62c2
It takes _talent_ to implement a version of nohup that does everything except
...
the actual blocking of HUP.
2006-05-23 00:28:06 +00:00
Rob Landley
c020f5f518
New version of nohup that's much smaller, less paranoid, consistent,
...
vaguely portable, and licensed GPLv2 "or later".
2006-05-21 18:28:13 +00:00
Bernhard Reutner-Fischer
b1629b1b2a
- remove emacs layout block as suggested by Robert P.J. Day
...
- use shorter boilerplate while at it
2006-05-19 19:29:19 +00:00
Bernhard Reutner-Fischer
c7801c4634
- use shorter boilerplate.
2006-05-19 18:35:03 +00:00
Bernhard Reutner-Fischer
14aa06f29c
- do not use non-standard u_int.
...
- do not use _PATH_DEVNULL gnuism but bb_dev_null.
Thanks to Rich Felker.
2006-05-19 13:02:27 +00:00
Rob Landley
2686d3bc38
Rob Sullivan cleaned up the longstanding patch from Hideki IWAMOTO to add
...
ibs and obs support to dd, and made it configurable. I cleaned it up a bit
further and moved conv= into the same config option.
2006-05-16 16:52:12 +00:00
Rob Landley
34b5319d86
Make md5 calculation always go through an the buffer so that A) we don't
...
handle packets out of sequence if some data goes through the buffer and
some doesn't, B) it works on systems that can't handle aligned access,
C) we just have one code path to worry about.
While we're at it, sizeof() and RESERVE_CONFIG_BUFFER() really don't combine
well, which is why md5sum has been reading and processing data 4 bytes at a
time. I suspect that the existence of CONFIG_MD5_SIZE_VS_SPEED to do loop
unrolling and such in the algorithm was an attempt to work around that bug.
2006-05-16 02:38:26 +00:00
Mike Frysinger
d9b6b844e5
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:41 +00:00
Mike Frysinger
39440e520c
pull Rules.mak from top_srcdir as pointed out by Robert P. J. Day on the mailing list
2006-05-13 02:33:09 +00:00
Bernhard Reutner-Fischer
eba32f429b
- typo in error-message: s/algotithm/algorithm
...
- whitespace cleanup
2006-05-10 07:59:32 +00:00
Rob Landley
f893250a3b
Replace isnan() and isinf() with inline tests so uClibc doesn't want us to
...
link sort against libm. This adds 22 bytes for glibc but is a win for uClibc,
and since glibc is bigger than all of busybox it seems kind of silly to worry
about it.
2006-05-09 23:14:39 +00:00
Bernhard Reutner-Fischer
4f7953cc3c
- add helptext for CONFIG_UNIX2DOS
2006-05-05 11:55:53 +00:00
Rob Landley
425e7584a4
Patch from Rich Felker to make ls use libc's qsort.
2006-05-03 20:22:03 +00:00
Rob Landley
c5598177bc
Patch from Jason Schoon to add optional SIGUSR1 support to dd.
2006-05-02 22:44:04 +00:00
Rob Landley
2631486f1b
Patch from Shaun Jackman:
...
ls has an ugly bug. ls uses an array of pointers, the elements of
which are all in a linked list. To free the elements, instead of
freeing all the elements in the array, array[0..nelements], it frees
by iterating the linked list starting at array[0], which it assumes is
the head of the list. Unfortunately, ls also sorts the array! So,
array[0] is no longer the head, but somewhere in the middle of the
linked list. This patch fixes this bug, and also adds an
ENABLE_FEATURE_CLEAN_UP stanza.
2006-05-02 19:46:52 +00:00
Rob Landley
d5b9428bb6
Re-wordwrap the new tests, and fix seq.c to pass them.
2006-04-27 22:36:32 +00:00
Rob Landley
5fe8d5b9c5
Convert a chunk of usage.h to USE_ and SKIP_ (more to do there), and fix a
...
DEFALT typo in du while I was there.
2006-04-25 22:40:53 +00:00
Rob Landley
998dbee6d9
Patch from Jean Wolter:
...
it looks like the introduced support for character classes and
equivalence classes is not correct. The attached patch tries to fix
some symptoms and tries to make tr behave like gnu tr for the added
test cases. The patch
- removes if clauses with side effects
- fixes handling of buffer pointer (strcat added characters to the
buffer without increasing the buffer pointer)
- re-arranges character classes to match ASCII order
regards,
Jean
2006-04-19 22:22:06 +00:00
Rob Landley
856489b63c
New applet cksum, from Rob Sullivan.
2006-04-18 20:57:28 +00:00
Rob Landley
e4386342b4
Simplify the GPL boilerplate.
2006-04-18 20:41:51 +00:00
Bernhard Reutner-Fischer
18260d5099
- typo: s/derefernce/dereference/g
...
Thanks to P.J. Day.
2006-04-18 14:17:49 +00:00
Rob Landley
0edbad1a7c
Glenn gave permission for GPLv2 "or later".
2006-04-17 22:49:30 +00:00
Mike Frysinger
0436b9f482
use strchr() not index()
2006-04-16 05:54:31 +00:00
Rob Landley
2ec922eed5
Patch from Robert P Day: let menuconfig indent stuff for us, we don't have
...
to do it in Config.in.
2006-04-13 23:22:16 +00:00
Bernhard Reutner-Fischer
c2cb0f32b4
- patch from Denis Vlasenko to add and use bb_xopen3()
2006-04-13 12:45:04 +00:00
Bernhard Reutner-Fischer
d9cf7ac781
- patch from Denis Vlasenko to add and use bb_xchdir()
2006-04-12 18:39:58 +00:00
Bernhard Reutner-Fischer
fc5f318896
- use C99 %j format to print intmax.
...
Closes bugs #802 and #743
2006-04-12 08:03:11 +00:00
Bernhard Reutner-Fischer
cb44816ba3
- add and use bb_opendir(), bb_xopendir().
...
text data bss dec hex filename
889445 9392 1035784 1934621 1d851d busybox.gcc-4.2.orig
889297 9392 1035784 1934473 1d8489 busybox.gcc-4.2
889009 9820 1037860 1936689 1d8d31 busybox.gcc-4.1.orig
888817 9820 1037860 1936497 1d8c71 busybox.gcc-4.1
2006-04-12 07:35:12 +00:00
Rob Landley
998f449375
We use -funsigned-char now, so having a separate RESERVE_CONFIG_UBUFFER is
...
a bit silly. Wean of that where it currently makes no difference...
2006-04-10 16:40:47 +00:00
Bernhard Reutner-Fischer
bc14214018
- patch from Rob Sullivan to add support for -L
2006-04-06 16:07:08 +00:00
Bernhard Reutner-Fischer
5fb0fecc1f
- shrink it a little bit and make it buildable with gcc-2.95
...
text data bss dec hex filename
7332 4 92 7428 1d04 diff.o-gcc-4.2-HEAD.orig
7185 4 92 7281 1c71 diff.o-gcc-4.2-HEAD.new
7336 4 92 7432 1d08 diff.o-gcc-4.1-HEAD.orig
7148 4 92 7244 1c4c diff.o-gcc-4.1-HEAD.new
7485 4 92 7581 1d9d diff.o-gcc-4.0.orig
7318 4 92 7414 1cf6 diff.o-gcc-4.0.new
7511 4 92 7607 1db7 diff.o-gcc-3.4.orig
7252 4 92 7348 1cb4 diff.o-gcc-3.4.new
8214 4 92 8310 2076 diff.o-gcc-3.3.orig
7882 4 92 7978 1f2a diff.o-gcc-3.3.new
- - - - - diff.o-gcc-2.95.orig
8238 8 88 8334 208e diff.o-gcc-2.95.new
2006-04-06 11:28:19 +00:00
Bernhard Reutner-Fischer
cc4003f778
- remove unused args.
...
text data bss dec hex filename
7353 4 92 7449 1d19 coreutils/diff.o-gcc-4.2.oorig
7332 4 92 7428 1d04 coreutils/diff.o
2006-04-06 08:23:11 +00:00
Bernhard Reutner-Fischer
693a93608a
- move code around to avoid the need for the prototypes.
2006-04-06 08:15:24 +00:00
Bernhard Reutner-Fischer
8f7d389700
- new applet diff. Rob Sullivan writes:
...
Here's my attempt at a mini diff applet - it's adapted from the code at
http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/diff/ , and only supports
unified diffs.
I've busyboxified everything to a reasonable degree, so I think the code is
suitable enough to be included, but there's still a fair bit of cleaning up
to be done.
2006-04-06 08:11:08 +00:00
Bernhard Reutner-Fischer
e11a01cc34
- include inttypes.h as pointed out by Jason Schoon.
...
- use shorter boilerplate and switch to USE_FEATURE_STAT_FORMAT while at it.
2006-04-05 17:19:37 +00:00
Bernhard Reutner-Fischer
465874f3a3
- use proper macros to print intmax_t.
...
PRIuMAX and PRIxMAX are defined in inttypes depending on the wordsize.
2006-04-05 14:57:59 +00:00
Rob Landley
e104d5fdcb
Some tests were always true. We need comm.tests...
2006-04-04 19:26:37 +00:00
Bernhard Reutner-Fischer
101a470068
- make append_option and multiconvert static.
2006-04-03 15:46:14 +00:00
Bernhard Reutner-Fischer
a1bccc0ba8
- typos: s/compatability/compatibility/g;s/compatable/compatible/g;
2006-04-02 20:17:55 +00:00
Bernhard Reutner-Fischer
d409c3a2f7
- Rich Felker writes: fix invalid printf format strings
...
http://busybox.net/lists/busybox/2006-March/019568.html
text data bss dec hex filename
900619 10316 1038724 1949659 1dbfdb busybox.oorig
900603 10316 1038724 1949643 1dbfcb busybox
2006-03-29 22:34:47 +00:00
Rob Landley
c370ea89fa
Turn #if 0 into a comment.
2006-03-27 17:00:11 +00:00
Mike Frysinger
948a09d6f2
dont printf arguments given by user for security sanity
2006-03-23 02:07:20 +00:00
Rob Landley
2324a7c9e5
Fix "seq 1 1".
2006-03-22 17:11:44 +00:00
Rob Landley
cebea726e8
Another header suggestion from Shaun Jackman.
2006-03-22 00:46:36 +00:00
Bernhard Reutner-Fischer
99a072d524
- tito writes: this patch fixes some comments in dos2unix that are wrong
...
or that reports non existent features (that i've ripped out...)
2006-03-18 23:05:37 +00:00
Rob Landley
330ac853e3
Tito shrank dos2unix.
2006-03-14 21:49:18 +00:00
Bernhard Reutner-Fischer
df10094870
- revert back to r14406
2006-03-13 19:04:00 +00:00
Rob Landley
c5b1d4d6b1
Patch from Denis Vlasenko to add xstat() and use it.
2006-03-13 15:45:16 +00:00
Rob Landley
e01d746fe9
Cleanup patch from tito.
2006-03-12 19:26:01 +00:00
Rob Landley
1c60d9762e
Size reduction by Tito.
2006-03-11 18:22:35 +00:00
Rob Landley
bc68cd14cc
Patch from Denis Vlasenko turning static const int (which gets emitted into
...
the busybox binary) into enums (which don't).
2006-03-10 19:22:06 +00:00
Bernhard Reutner-Fischer
07a79e75f5
- backout using features which are not available with the previous stable
...
version of make (3.71.1).
2006-03-09 09:03:37 +00:00
Rob Landley
dfba741457
Robert P. Day removed 8 gazillion occurrences of "extern" on function
...
definitions. (That should only be on prototypes.)
2006-03-06 20:47:33 +00:00
Rob Landley
1f5e25bf3e
Walt Wimer noticed that mknod couldn't handle major or minor > 255. Now our
...
limit checking autodetects what the system supports (at compile time).
2006-03-06 19:31:39 +00:00
Bernhard Reutner-Fischer
e3ec99de82
- remove unused lists *-m
2006-03-02 18:23:13 +00:00
Bernhard Reutner-Fischer
022eb311d5
- use absolute path for top_builddir and top_srcdir.
...
Fixes make trying to include the very same file in an endless loop.
2006-03-02 17:33:25 +00:00
Bernhard Reutner-Fischer
5d26126b9e
- fixes parallel builds (make -j)
...
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00
Rob Landley
08abe64d91
Selinux fix from Jan Kiszka.
2006-03-01 20:48:44 +00:00
"Vladimir N. Oleynik"
5c2b238b3a
more busybox's style: close bug 745
2006-02-28 10:15:42 +00:00
Rob Landley
2b26fd5570
A few changes falling out from the effort to make sed handle embedded NUL bytes.
...
Checking in to reduce the diff between my tree and svn...
2006-02-24 02:30:39 +00:00
Rob Landley
73a20f3551
"sed 2 -2 10" was very unhappy. Made the thing bigger fixing it,
...
fiddled a bit to get the size back down as much as I could...
2006-02-23 19:54:48 +00:00
Rob Landley
0a7c8ef6e2
Patch from Denis Vlasenko to constify things and fix a few typos.
2006-02-22 17:01:00 +00:00
Rob Landley
d6e14d8bee
Don't build directory libraries unless we're building an applet that needs it.
...
Cherry-picked from Devin Bayer's big MacOS X patch.
2006-02-21 19:11:35 +00:00
Rob Landley
5cf7c2df66
Patch from Devin Bayer to split up hash_fd.c into md5.c and sha1.c. (I tweaked
...
md5_sha1_sum.c to convert some #ifdef CONFIG to if(ENABLE).)
2006-02-21 06:44:43 +00:00
Rob Landley
c5789a6e23
Walter Harms added -D to date, and I did a code cleanup while I was in the
...
area. Probably broke something...
2006-02-21 05:06:42 +00:00
Mike Frysinger
dfd902b7ff
rfelker writes in Bug 736: stty.c includes unneeded, obsolete header memory.h
2006-02-19 22:43:58 +00:00
Mike Frysinger
4b33f7aa41
rfelker writes in Bug 734: Nothing from err.h is used, but cal.c includes it, breaking compile on systems lacking this function.
2006-02-19 22:41:41 +00:00
Rob Landley
02794e1516
Fix bug 674: sum's block count should always round up.
2006-02-14 17:47:05 +00:00
Rob Landley
30a6bba65f
Bug 677: there are apparently still people using telnet.
2006-02-06 02:49:45 +00:00
Mike Frysinger
b38673fb9f
make the build system puuuuuuuuuuurty
2006-02-02 01:41:53 +00:00
"Vladimir N. Oleynik"
87be316149
more better for me signed<->unsigned and the const keyword usage
2006-01-31 14:25:52 +00:00
"Vladimir N. Oleynik"
57545c810a
avoid signed<->unsigned warning
2006-01-31 12:06:57 +00:00
Eric Andersen
5e678873f9
clean up yet more annoying signed/unsigned mismatches and fixup
...
yet more incorrect types
2006-01-30 19:48:23 +00:00
Bernhard Reutner-Fischer
4bf31272ff
- very minor tweak: save 1 byte.
...
statistics:
text data bss dec hex filename
867 0 12 879 36f fold.o.oorig.gcc-3.3
843 0 12 855 357 fold.o.oorig.gcc-3.4
780 0 12 792 318 fold.o.oorig.gcc-4.0
761 0 12 773 305 fold.o.oorig.gcc-4.1-HEAD
761 0 12 773 305 fold.o.oorig.gcc-4.2-HEAD
866 0 12 878 36e fold.o.gcc-3.3
842 0 12 854 356 fold.o.gcc-3.4
779 0 12 791 317 fold.o.gcc-4.0
760 0 12 772 304 fold.o.gcc-4.1-HEAD
760 0 12 772 304 fold.o.gcc-4.2-HEAD
2006-01-30 17:41:06 +00:00
Bernhard Reutner-Fischer
20f4000086
- add some ATTRIBUTE_UNUSED.
...
- use shorter boilerplate while at it.
2006-01-30 17:17:14 +00:00
"Vladimir N. Oleynik"
676b15e067
removed warning "comparison between signed and unsigned".
2006-01-30 13:47:19 +00:00
"Vladimir N. Oleynik"
9b9a920eef
removed warning "comparison between signed and unsigned". Reduced size
2006-01-30 12:23:46 +00:00
"Vladimir N. Oleynik"
e75b41d990
support GNU suffixes for fancy mode: b(512), k(1024) and m(1024*1024)
2006-01-30 11:15:11 +00:00
"Vladimir N. Oleynik"
b1fd52e0b7
remove outdated and do not corected comment. Use bb_xasprintf instead xmalloc+set+set+strcpy.
2006-01-30 10:49:14 +00:00
Rob Landley
f8fd4db92f
Move SUSv2 obsolete feature disabling to debug menu, invert meaning of
...
symbol (switched on to remove now: test your apps to make sure they _don't_
do this, because as some point we should just yank it), fixup head/tail/fold.
Also tweak "make allyesconfig" so anything starting with CONFIG_DEBUG gets
left switched off. Possibly other things we want to put in the debug menu?
2006-01-30 01:30:39 +00:00
"Vladimir N. Oleynik"
8aa9e57149
support 64 arith. Close bug 136
2006-01-25 13:56:03 +00:00
Tim Riker
c1ef7bdd8d
just whitespace
2006-01-25 00:08:53 +00:00
Bernhard Reutner-Fischer
86f5c9906b
- add platform.h.
...
- use shorter boilerplate while at it.
2006-01-22 22:55:11 +00:00
Bernhard Reutner-Fischer
96002bba67
- cleanup Config.in. Use "select CONFIG_FOO" and add the corresponding
...
"depends on CONFIG_BAR" instead of the if !CONFIG_FOO ...default y stanza.
2006-01-19 14:42:23 +00:00
Bernhard Reutner-Fischer
37dec0e9e9
- make CONFIG_MD5SUM_SIZE_VS_SPEED configurable via menuconfig.
...
- use shorter boilerplate.
2006-01-17 12:07:03 +00:00
Bernhard Reutner-Fischer
7ca61b6f33
- shared libbusybox.
...
- IMA compilation option (aka IPO, IPA,..)
Please holler if i broke something..
2006-01-15 14:04:57 +00:00
Rob Landley
fb8c4983a6
Fix bug 603: "chown :root thingy" should work now.
2006-01-09 03:45:43 +00:00
Rob Landley
251161f75c
Bug 624 wants quoted char support for printf, so you can do something like:
...
printf '%d\n' '"x"'
and have it print out 120. This is the smallest implementation I can think
of at the moment.
2006-01-06 20:28:05 +00:00
Rob Landley
f8ec1b51f3
No, we _want_ the suid and sgid bits reverted by chown, for security reasons.
...
They mean something different when the user they're switching to is different,
so if you still want suid you reset it afterwards. This is a safety feature.
2006-01-06 18:22:05 +00:00
Bernhard Reutner-Fischer
9a14bd04f8
- Stephane Billiart writes:
...
Fix the compilation of head and tail.
thanks!
2005-12-15 11:47:16 +00:00
Rob Landley
164c5c80ba
Eliminate unnecessary allocation from md5sum that was leaked without ever being used.
2005-12-15 06:51:52 +00:00
Bernhard Reutner-Fischer
5816ccb190
- wrap label GET_COUNT in #if ENABLE_FEATURE_FANCY_applet to avoid warning
...
about unused label.
2005-12-13 10:48:45 +00:00
Rob Landley
a75c180e53
Bug 310: be consistent about stat/lstat and chown/lchown to avoid accidentally
...
modifying permissions or ownership when twiddling symlinks.
2005-12-12 06:58:53 +00:00
Rob Landley
cdbae77823
printf() arguments shouldn't be passed straight from user supplied data.
...
(Security thingy.)
2005-12-12 06:49:33 +00:00
Glenn L McGrath
0bd0257fe0
Add build options to control SuS compatability, allows numeric
...
option handling to be disabled.
Defaults to enabled, so no changes in default behaviour
2005-12-11 03:09:05 +00:00
Bernhard Reutner-Fischer
d77b781c1f
- remove unused variable have_read_stdin
...
- use FLAG_WIDTH
2005-12-10 20:13:54 +00:00
Paul Fox
377bdaff3b
avoid mixed declarations, to support older compilers just a little longer.
2005-12-08 18:48:20 +00:00
Rob Landley
746cfc8bf0
Another cleanup patch that's been in my tree for a while. Again I think it's
...
originally from Bernhard Fischer...
2005-12-02 17:55:45 +00:00
Rob Landley
2f30932eca
Fix cp /dev/null filename, and a few in-passing cleanups.
2005-11-01 21:55:14 +00:00
Bernhard Reutner-Fischer
47ea7b7f96
- Matthias Wenzel writes:
...
without the fix below md5sum will always report a correct md5 on _any_
wrongly formattet input files.
- use short boilerplate and remove superfluous keyword extern.
2005-10-27 14:43:27 +00:00
Bernhard Reutner-Fischer
ab1878245c
* uniq.c: remove unneeded include and use short boilerplate.
...
* coreutils.h: remove prototype of non-existing xgetoptfile_sort_uniq
and add boilerplate.
* networking/{ipaddr,ip,iplink,iproute,iptunnel}.c: touch includes
and use short boilerplate.
* libiproute/iproute.c: rename round to avoid clashes with older
SuSE gcc and use short boilerplate.
2005-10-26 10:47:26 +00:00
"Vladimir N. Oleynik"
1f0262bcdb
another more const
2005-10-20 11:17:48 +00:00
"Vladimir N. Oleynik"
a2eec6051f
RESERVE_CONFIG_BUFFER --> bb_common_bufsiz1
2005-10-15 13:45:32 +00:00
"Vladimir N. Oleynik"
6f347ef9dc
common BUFSIZ BSS buffer, small reduce code, data and bss
2005-10-15 10:23:55 +00:00
"Vladimir N. Oleynik"
f704b27b5b
- new bb_opt_complementally syntax, use [-:?] only - 'free' chars
...
- new bb_getopt_ulflags features: check max and min args, convert first argv to options special for ar and tar applets
- use bb_default_error_retval for env applet
2005-10-14 09:56:52 +00:00
"Vladimir N. Oleynik"
6c35c7c976
usage bb_dev_null
2005-10-12 15:34:25 +00:00
"Vladimir N. Oleynik"
3ade65fc04
remove 1 CR, correct strange bb_opt_complementally, add #if 0 and XXX-comment: pleace examine this\!
2005-10-12 14:36:42 +00:00
"Vladimir N. Oleynik"
064f04e7e2
- use complementally '!' to '?' - 'ask' is best 'free' char for this.
...
- more long opt compatibility, can set flag for long opt struct now
- more logic: check opt-depend requires and global requires, special for 'id' and 'start-stop-daemon' applets.
2005-10-11 14:38:01 +00:00
Rob Landley
ae907f38f0
When lstat returns an error (such as file not found), the value of
...
st_mode is random garbage (under uClibc), leading to random triggering
of the S_ISDIR() case when the destination will be a normal file which
doesn't exist yet. I.E. checking the return value of lstat is not optional.
2005-10-09 11:16:01 +00:00
Rob Landley
f1048143ee
Rob Sullivan added character and equivalence classes to tr. I changed some
...
comments.
2005-10-08 21:21:08 +00:00
Rob Landley
45ad0e87d6
Rename CONFIG_SORT_BIG to CONFIG_FEATURE_SORT_BIG so allbareconfig can find it.
2005-10-08 17:48:25 +00:00
"Vladimir N. Oleynik"
b31cb87fdc
to bb_getopt_ulflags()
2005-10-06 15:30:17 +00:00
"Vladimir N. Oleynik"
ba248206fe
change strange depend to libbb.h, but require busybox.h
2005-10-06 15:18:09 +00:00
"Vladimir N. Oleynik"
39a841cecf
change interface to bb_xasprintf() - more perfect for me.
...
ln.c: error_msg(str)->error_msg(%s, str) - remove standart "feature" for hackers
reduce 100 bytes don't care in sum
2005-09-29 16:18:57 +00:00
Mike Frysinger
7f8797c8ee
re-order a little for alphabetical
2005-09-24 23:15:28 +00:00
Mike Frysinger
62f18e1f20
use the shorter license header
2005-09-24 07:16:29 +00:00
Mike Frysinger
0d4ee68be5
use brief license line
2005-09-24 06:01:57 +00:00
"Vladimir N. Oleynik"
1f0ac23c20
very small size reduce for nohup applet
2005-09-22 13:26:23 +00:00
Bernhard Reutner-Fischer
9d7010ca86
- add applet nohup(1)
2005-09-21 18:25:05 +00:00
Bernhard Reutner-Fischer
d5bd137a24
- rename libbb's password helpers as suggested in libbb.h
...
my_getpwnam -> bb_xgetpwnam /* dies on error */
my_getgrnam -> bb_xgetgrnam /* dies on error */
my_getgrgid -> bb_getgrgid
my_getpwuid -> bb_getpwuid
my_getug -> bb_getug
2005-09-20 21:06:17 +00:00
Manuel Novoa III
84b93f7ef1
Get rid of warnings, remove compat with older gnu uniq to truly conform to susv3, and cut size a bit.
2005-09-15 08:06:42 +00:00
Rob Landley
b7128c6236
Cleanup patch by Bernhard Fischer, removing unnecessary includes of
...
getopt.h, whitespace changes, typos, etc.
2005-09-11 01:05:30 +00:00
Mike Frysinger
db289b258d
use CONFIG_BUFFER macros like cow suggested and shrink code size some more by using less variables and more gotos ;)
2005-09-10 04:10:18 +00:00
Rob Landley
98ea849623
Patch from Dirk Clemens so df doesn't run numbers together on drives >100gig.
2005-09-10 02:59:35 +00:00
Mike Frysinger
a80b290e30
some tweaks by cow to shrink a little
2005-09-10 02:47:19 +00:00
Manuel Novoa III
415f6c9628
Rob, I don't know why you feel some unexplainable compulsion to get rid of
...
a meaningless warning. But I do expect you preserve the coding style
and variable names when all you're doing is tweaking some of my code.
I repeat... do NOT change whitespace, variable names, or coding style in
any of my code simply to conform to your coding style.
2005-09-08 06:02:49 +00:00
Rob Landley
14efdc58ce
Don't comment warnings. Don't put #warnings about warnings. _FIX_ warnings.
...
This fixes the warning, and makes the binary smaller out of sheer pique.
(Yes, since Manuel did this one it's nice tight code that took several
attempts to shrink, but I was ticked.)
Add the start of a test for uniq; this is about the first 1/3 of the
tests we need for full susv3 coverage of uniq.
2005-09-07 04:18:36 +00:00
Rob Landley
1283a150ae
Whitespace-level changes. Replace s0,s1,e0,e1 with real variable names and
...
clean up whitespace and curly brackets a bit. Resulting binary should be
identical.
2005-09-06 01:57:11 +00:00
"Vladimir N. Oleynik"
a8c23aa795
- usage fresh bb_getopt_ulflags for ls -- very size reduce.
...
- small indent corrections
- remove unecessary malloc and free
2005-09-05 15:06:57 +00:00
"Vladimir N. Oleynik"
27421a1878
1) bb_opt_complementaly -> bb_opt_complementally
...
2) better support long options
3) new flag '!' for bb_opt_complementally: produce bb_show_usage() if BB_GETOPT_ERROR internally
2005-09-05 14:46:07 +00:00
Rob Landley
f815469a76
Bernhard Fischer trimmed down dos2unix a bit.
2005-09-01 03:11:19 +00:00
Rob Landley
58a651b2e5
Very minor tweak to tail.
2005-08-13 00:35:00 +00:00
Rob Landley
6a6798b8e4
Major rewrite of mount, umount, losetup. Untangled lots of code, shrunk
...
things down a bit, fixed a number of funky corner cases, added support for
several new features (things like mount --move, mount --bind, lazy unounts,
automatic detection of loop mounts, and so on). Probably broke several
other things, but it's fixable. (Bang on it, tell me what doesn't work for
you...)
Note: you no longer need to say "-o loop". It does that for you when
necessary.
Still need to add "user mount" support, which involves making mount suid. Not
too hard to do under the new infrastructure, just haven't done it yet...
The previous code had the following notes, that belong in the version
control comments:
- * 3/21/1999 Charles P. Wright <cpwright@cpwright.com>
- * searches through fstab when -a is passed
- * will try mounting stuff with all fses when passed -t auto
- *
- * 1999-04-17 Dave Cinege...Rewrote -t auto. Fixed ro mtab.
- *
- * 1999-10-07 Erik Andersen <andersen@codepoet.org>.
- * Rewrite of a lot of code. Removed mtab usage (I plan on
- * putting it back as a compile-time option some time),
- * major adjustments to option parsing, and some serious
- * dieting all around.
- *
- * 1999-11-06 mtab support is back - andersee
- *
- * 2000-01-12 Ben Collins <bcollins@debian.org>, Borrowed utils-linux's
- * mount to add loop support.
- *
- * 2000-04-30 Dave Cinege <dcinege@psychosis.com>
- * Rewrote fstab while loop and lower mount section. Can now do
- * single mounts from fstab. Can override fstab options for single
- * mount. Common mount_one call for single mounts and 'all'. Fixed
- * mtab updating and stale entries. Removed 'remount' default.
- *
2005-08-10 20:35:54 +00:00
Paul Fox
0b62158475
implemented a builtin echo command in ash. moved the guts of the
...
echo applet into libbb, and now call bb_echo() from both echo.c
and ash.c
2005-08-09 19:38:05 +00:00
Paul Fox
156dc41cbc
commiting patch from bug 71:
...
0000071: patch: implement "--color" option for ls coloring control
2005-08-01 19:33:30 +00:00
Mike Frysinger
0d3ca7289e
tell people to ignore the dups/e0 warnings
2005-07-30 08:59:38 +00:00
Mike Frysinger
4d00896d05
use toplevel ARFLAGS and update default ARFLAGS to be quiet
2005-07-27 01:09:24 +00:00
Mike Frysinger
dbc049fda4
remove unused variable ret as reported by apgo in Bug 350 and touchup syntax along the way
2005-07-26 22:57:51 +00:00
Mike Frysinger
726b2cb5da
just punt all the f_frsize crap since not all linux headers support it Bug 346
2005-07-26 22:39:56 +00:00