Remove trailing whitespace. Update copyright to include 2004.

This commit is contained in:
Eric Andersen 2004-03-15 08:29:22 +00:00
parent 8854004b41
commit c7bda1ce65
374 changed files with 2048 additions and 2051 deletions

10
AUTHORS
View File

@ -23,7 +23,7 @@ Jeff Angielski <jeff@theptrgroup.com>
Edward Betts <edward@debian.org>
expr, hostid, logname, whoami
John Beppu <beppu@codepoet.org>
du, nslookup, sort
@ -33,8 +33,8 @@ Brian Candler <B.Candler@pobox.com>
Randolph Chung <tausq@debian.org>
fbset, ping, hostname
Dave Cinege <dcinege@psychosis.com>
more(v2), makedevs, dutmp, modularization, auto links file,
Dave Cinege <dcinege@psychosis.com>
more(v2), makedevs, dutmp, modularization, auto links file,
various fixes, Linux Router Project maintenance
Jordan Crouse <jordan@cosmicpenguin.net>
@ -66,7 +66,7 @@ Matt Kraai <kraai@alumni.cmu.edu>
Stephan Linz <linz@li-pro.net>
ipcalc, Red Hat equivalence
John Lombardo <john@deltanet.com>
John Lombardo <john@deltanet.com>
tr
Glenn McGrath <bug1@optushome.com.au>
@ -89,7 +89,7 @@ Vladimir Oleynik <dzo@simtreas.ru>
and irreconcilable critic of everything not perfect.
Bruce Perens <bruce@pixar.com>
Original author of BusyBox in 1995, 1996. Some of his code can
Original author of BusyBox in 1995, 1996. Some of his code can
still be found hiding here and there...
Tim Riker <Tim@Rikers.org>

414
Changelog
View File

@ -1,171 +1,171 @@
---------------------
PatchSet 3926
PatchSet 3926
Date: 2004/02/09 10:01:01
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Buffalo appears to have resolved their GPL problems
Members:
docs/busybox.net/products.html:1.5->1.6
docs/busybox.net/shame.html:1.7->1.8
Members:
docs/busybox.net/products.html:1.5->1.6
docs/busybox.net/shame.html:1.7->1.8
---------------------
PatchSet 3927
PatchSet 3927
Date: 2004/02/09 10:57:04
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Update URL
Members:
docs/busybox.net/products.html:1.6->1.7
Members:
docs/busybox.net/products.html:1.6->1.7
---------------------
PatchSet 3928
PatchSet 3928
Date: 2004/02/10 01:07:45
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Support disabling pipe and redirect support
Members:
shell/lash.c:1.151->1.152
Members:
shell/lash.c:1.151->1.152
---------------------
PatchSet 3929
PatchSet 3929
Date: 2004/02/10 01:28:36
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Initial effort at disabling job control as well
Members:
shell/lash.c:1.152->1.153
Members:
shell/lash.c:1.152->1.153
---------------------
PatchSet 3930
PatchSet 3930
Date: 2004/02/10 01:30:21
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
oops. Leave the default feature set enbled for now...
Members:
shell/lash.c:1.153->1.154
Members:
shell/lash.c:1.153->1.154
---------------------
PatchSet 3931
PatchSet 3931
Date: 2004/02/13 08:09:43
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Accomodate the fact that newer libc versions may in fact not
contain query_module and friends and more
Members:
libbb/module_syscalls.c:1.13->1.14
Members:
libbb/module_syscalls.c:1.13->1.14
---------------------
PatchSet 3932
PatchSet 3932
Date: 2004/02/14 21:33:39
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Avoid naming conflict with symbol in newer glibc headers
Members:
miscutils/hdparm.c:1.9->1.10
Members:
miscutils/hdparm.c:1.9->1.10
---------------------
PatchSet 3933
PatchSet 3933
Date: 2004/02/17 07:51:31
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
define option names to be clearer, simplify nested if statements, remove
un-needed if statement, minor indenting change
Members:
coreutils/date.c:1.41->1.42
Members:
coreutils/date.c:1.41->1.42
---------------------
PatchSet 3934
PatchSet 3934
Date: 2004/02/17 07:58:04
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Woops, im getting ahead of myself, we dont have the -r (refernece)
option yet
Members:
coreutils/date.c:1.42->1.43
Members:
coreutils/date.c:1.42->1.43
---------------------
PatchSet 3935
PatchSet 3935
Date: 2004/02/17 10:16:21
Author: mjn3
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from Florian Schirmer <jolt@tuxbox.org>. When I rewrote the parser,
I overlooked the case of someone wanting to use a valid but empty suid
config file.
Members:
applets/applets.c:1.21->1.22
Members:
applets/applets.c:1.21->1.22
---------------------
PatchSet 3936
PatchSet 3936
Date: 2004/02/17 11:55:06
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Dont strip trailing '/' until _after_ i test to set if its there !
Members:
archival/libunarchive/get_header_tar.c:1.30->1.31
Members:
archival/libunarchive/get_header_tar.c:1.30->1.31
---------------------
PatchSet 3937
PatchSet 3937
Date: 2004/02/17 12:04:13
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Remove debugging
Members:
archival/libunarchive/get_header_tar.c:1.31->1.32
Members:
archival/libunarchive/get_header_tar.c:1.31->1.32
---------------------
PatchSet 3938
PatchSet 3938
Date: 2004/02/17 12:22:21
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Add the -r option, patch from Rob with some help from myself.
Members:
coreutils/date.c:1.43->1.44
Members:
coreutils/date.c:1.43->1.44
---------------------
PatchSet 3939
PatchSet 3939
Date: 2004/02/17 20:04:34
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Mark Lord writes:
@ -179,99 +179,99 @@ Cheers
Mark Lord
Real-Time Remedies Inc.
Members:
networking/inetd.c:1.14->1.15
Members:
networking/inetd.c:1.14->1.15
---------------------
PatchSet 3940
PatchSet 3940
Date: 2004/02/17 20:08:11
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Remove the unused CONFIG_FEATURE_HTTPD_SET_CGI_VARS_TO_ENV option.
Members:
networking/Config.in:1.25->1.26
Members:
networking/Config.in:1.25->1.26
---------------------
PatchSet 3941
PatchSet 3941
Date: 2004/02/18 09:40:41
Author: mjn3
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Fix vstype[] to match VS* defines. Patch from OpenWrt by mbm.
Members:
shell/ash.c:1.89->1.90
Members:
shell/ash.c:1.89->1.90
---------------------
PatchSet 3942
PatchSet 3942
Date: 2004/02/18 09:54:15
Author: landley
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Add -i option to sed, to edit files in-place.
Members:
editors/sed.c:1.159->1.160
Members:
editors/sed.c:1.159->1.160
---------------------
PatchSet 3943
PatchSet 3943
Date: 2004/02/18 10:14:17
Author: mjn3
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from OpenWrt.
Members:
modutils/insmod.c:1.111->1.112
Members:
modutils/insmod.c:1.111->1.112
---------------------
PatchSet 3944
PatchSet 3944
Date: 2004/02/18 12:58:00
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
remove debugging
Members:
networking/inetd.c:1.15->1.16
Members:
networking/inetd.c:1.15->1.16
---------------------
PatchSet 3945
PatchSet 3945
Date: 2004/02/18 13:12:53
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Formatting
Members:
networking/inetd.c:1.16->1.17
Members:
networking/inetd.c:1.16->1.17
---------------------
PatchSet 3946
PatchSet 3946
Date: 2004/02/18 13:19:58
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Dont use same variable and struct name
Members:
networking/inetd.c:1.17->1.18
Members:
networking/inetd.c:1.17->1.18
---------------------
PatchSet 3947
PatchSet 3947
Date: 2004/02/19 00:44:08
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Chris Larson (kergoth) writes:
@ -286,15 +286,15 @@ Will never return until we run out of open files or similar.
Coreutils cp on the other hand will error with "cannot copy a directory,
`out', into itself, `out'". Patch attached.
Members:
libbb/copy_file.c:1.28->1.29
Members:
libbb/copy_file.c:1.28->1.29
---------------------
PatchSet 3948
PatchSet 3948
Date: 2004/02/19 01:52:29
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Chris Larson (kergoth) writes:
@ -307,241 +307,241 @@ cp -a cpa cpa/cpb/cpc
Attached what appears to be a more sane fix. Apply on top of previous.
Please confirm sanity.
Members:
libbb/copy_file.c:1.29->1.30
Members:
libbb/copy_file.c:1.29->1.30
---------------------
PatchSet 3949
PatchSet 3949
Date: 2004/02/19 08:48:30
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Add extra comments, freakout if a pax archive is encoutered.
Members:
archival/libunarchive/get_header_tar.c:1.32->1.33
Members:
archival/libunarchive/get_header_tar.c:1.32->1.33
---------------------
PatchSet 3950
PatchSet 3950
Date: 2004/02/20 02:25:18
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
A strict interpretation of the ustar format requires the type flag to be
interpreted, we cannot depend on the file type being set in the mode
field.
Members:
archival/libunarchive/get_header_tar.c:1.33->1.34
Members:
archival/libunarchive/get_header_tar.c:1.33->1.34
---------------------
PatchSet 3951
PatchSet 3951
Date: 2004/02/20 02:34:42
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Fix up hard links
Members:
archival/libunarchive/get_header_tar.c:1.34->1.35
Members:
archival/libunarchive/get_header_tar.c:1.34->1.35
---------------------
PatchSet 3952
PatchSet 3952
Date: 2004/02/20 09:55:37
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Document missing cp options
Members:
include/usage.h:1.187->1.188
Members:
include/usage.h:1.187->1.188
---------------------
PatchSet 3953
PatchSet 3953
Date: 2004/02/21 07:49:54
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Use return instead of exit, use == instead of & ==, left justify labels,
adjustment of whitespace.
Members:
coreutils/mv.c:1.19->1.20
Members:
coreutils/mv.c:1.19->1.20
---------------------
PatchSet 3954
PatchSet 3954
Date: 2004/02/21 09:20:56
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Sometimes i get carried away with the use of function pointers, im sure
it seemed like a good idea at the time.
Members:
archival/libunarchive/seek_by_char.c:1.3->1.4
include/libbb.h:1.126->1.127
libbb/copyfd.c:1.9->1.10
Members:
archival/libunarchive/seek_by_char.c:1.3->1.4
include/libbb.h:1.126->1.127
libbb/copyfd.c:1.9->1.10
---------------------
PatchSet 3955
PatchSet 3955
Date: 2004/02/22 00:27:34
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
No need to check proxy env variable twice, ignore proxy env variable if
its set to 0
Members:
networking/wget.c:1.68->1.69
Members:
networking/wget.c:1.68->1.69
---------------------
PatchSet 3956
PatchSet 3956
Date: 2004/02/22 02:58:57
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Return 1 upon failure
Members:
coreutils/md5_sha1_sum.c:1.4->1.5
Members:
coreutils/md5_sha1_sum.c:1.4->1.5
---------------------
PatchSet 3957
PatchSet 3957
Date: 2004/02/22 03:33:53
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Ptch by Hideki IWAMOTO, fix a bug preventing tftp from getting or
putting more than 0xffff blocks.
Members:
networking/tftp.c:1.21->1.22
Members:
networking/tftp.c:1.21->1.22
---------------------
PatchSet 3958
PatchSet 3958
Date: 2004/02/22 04:12:58
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Update usage for ftpget and ftpput
Members:
include/usage.h:1.188->1.189
Members:
include/usage.h:1.188->1.189
---------------------
PatchSet 3959
PatchSet 3959
Date: 2004/02/22 04:17:26
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Thomas Geulig, remove duplicate header
Members:
init/init_shared.c:1.3->1.4
Members:
init/init_shared.c:1.3->1.4
---------------------
PatchSet 3960
PatchSet 3960
Date: 2004/02/22 04:44:21
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Fixup braces (patch from Thomas Geulig), run through indent and manually
adjust.
Members:
miscutils/crond.c:1.12->1.13
Members:
miscutils/crond.c:1.12->1.13
---------------------
PatchSet 3961
PatchSet 3961
Date: 2004/02/22 04:58:36
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
remove duplicate header declarations
Members:
networking/inetd.c:1.18->1.19
Members:
networking/inetd.c:1.18->1.19
---------------------
PatchSet 3962
PatchSet 3962
Date: 2004/02/22 07:20:25
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from Hideki IWAMOTO, output debugging messages to stderr
Members:
networking/tftp.c:1.22->1.23
Members:
networking/tftp.c:1.22->1.23
---------------------
PatchSet 3963
PatchSet 3963
Date: 2004/02/22 07:38:36
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from Florian Schirmer. compile fix for debug builds
Members:
miscutils/devfsd.c:1.7->1.8
Members:
miscutils/devfsd.c:1.7->1.8
---------------------
PatchSet 3964
PatchSet 3964
Date: 2004/02/22 08:33:37
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Use /var/lib/hwclock for adjtime, its really a state file rather than a
config file, so it should be in /etc, FHS mentions it also.
Members:
util-linux/hwclock.c:1.6->1.7
Members:
util-linux/hwclock.c:1.6->1.7
---------------------
PatchSet 3965
PatchSet 3965
Date: 2004/02/22 09:11:33
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Use bb_getopt_ulflags, marginal saving, better argument checking.
Members:
util-linux/hwclock.c:1.7->1.8
Members:
util-linux/hwclock.c:1.7->1.8
---------------------
PatchSet 3966
PatchSet 3966
Date: 2004/02/22 09:45:57
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from James Zhu, telnetd window resizing support.
Members:
networking/telnetd.c:1.9->1.10
Members:
networking/telnetd.c:1.9->1.10
---------------------
PatchSet 3967
PatchSet 3967
Date: 2004/02/22 11:13:28
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Vodz. last_patch_128
- declare applet_using as static from applets.c
@ -549,82 +549,82 @@ Vodz. last_patch_128
previous version cleared history after Ctrl-C
- small spelling correction (by Friedrich Lobenstock)
Members:
applets/applets.c:1.22->1.23
shell/cmdedit.c:1.88->1.89
Members:
applets/applets.c:1.22->1.23
shell/cmdedit.c:1.88->1.89
---------------------
PatchSet 3968
PatchSet 3968
Date: 2004/02/22 11:25:13
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from Vodz, cleanup memory usage, send strdup error messages to
syslog.
Members:
networking/inetd.c:1.19->1.20
Members:
networking/inetd.c:1.19->1.20
---------------------
PatchSet 3969
PatchSet 3969
Date: 2004/02/22 11:35:13
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from Chris Larson (kergoth), to allow multiple directores to be
unmounted at once.
Members:
docs/busybox.sgml:1.52->1.53
util-linux/umount.c:1.62->1.63
Members:
docs/busybox.sgml:1.52->1.53
util-linux/umount.c:1.62->1.63
---------------------
PatchSet 3970
PatchSet 3970
Date: 2004/02/22 11:46:49
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
For the time being, revert the changes for detecting copying
a directory into itself. It is harder to do this correctly
than it appears. Not trying at all seems a better compromise
for the time being, untill we can implement this correctly.
Members:
libbb/copy_file.c:1.30->1.31
Members:
libbb/copy_file.c:1.30->1.31
---------------------
PatchSet 3971
PatchSet 3971
Date: 2004/02/22 11:55:09
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Patch from Dmitry Zakharov, this line was missedfrom the last patch
Members:
editors/awk.c:1.5->1.6
Members:
editors/awk.c:1.5->1.6
---------------------
PatchSet 3972
PatchSet 3972
Date: 2004/02/22 12:17:33
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Fix from Paul Kortekaas for syslog -C option, size should be in kB.
Members:
sysklogd/syslogd.c:1.106->1.107
Members:
sysklogd/syslogd.c:1.106->1.107
---------------------
PatchSet 3973
PatchSet 3973
Date: 2004/02/22 12:25:47
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Fernando Silveira writes:
@ -639,33 +639,33 @@ Hi,
Thanks a lot!
Members:
include/usage.h:1.189->1.190
networking/Config.in:1.26->1.27
networking/telnet.c:1.41->1.42
Members:
include/usage.h:1.189->1.190
networking/Config.in:1.26->1.27
networking/telnet.c:1.41->1.42
---------------------
PatchSet 3974
PatchSet 3974
Date: 2004/02/22 12:27:04
Author: andersen
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
Bump up version in preparation for -pre8
Members:
Rules.mak:1.27->1.28
Members:
Rules.mak:1.27->1.28
---------------------
PatchSet 3975
PatchSet 3975
Date: 2004/02/23 08:11:07
Author: bug1
Branch: HEAD
Tag: (none)
Tag: (none)
Log:
bb_full_fd_action was incorrectly returning an error message causing
major breaking.
Members:
libbb/copyfd.c:1.10->1.11
Members:
libbb/copyfd.c:1.10->1.11

View File

@ -1,10 +1,10 @@
1) Run 'make config' or 'make menuconfig' and select the
1) Run 'make config' or 'make menuconfig' and select the
functionality that you wish to enable.
2) Run 'make dep'
3) Check the Makefile for any Makefile setting you wish
to adjust for your system (things like like setting
3) Check the Makefile for any Makefile setting you wish
to adjust for your system (things like like setting
your cross compiler, adjusting optimizations, etc)
4) Run 'make'

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -219,7 +219,7 @@ clean:
docs/busybox.net/BusyBox.html busybox.links libbb/loop.h \
.config.old .hdepend busybox
- rm -rf _install
- find . -name .\*.flags -exec rm -f {} \;
- find . -name .\*.flags -exec rm -f {} \;
- find . -name \*.o -exec rm -f {} \;
- find . -name \*.a -exec rm -f {} \;

18
README
View File

@ -1,5 +1,5 @@
Please see the LICENSE file for details on copying and usage.
BusyBox combines tiny versions of many common UNIX utilities into a single
small executable. It provides minimalist replacements for most of the utilities
you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
@ -27,16 +27,16 @@ compiled in functions. By default, 'make install' will place the symlink
forest into `pwd`/_install unless you have defined the PREFIX environment
variable (i.e., 'make PREFIX=/tmp/foo install')
If you wish to install hardlinks, rather than symlinks, you can use
If you wish to install hardlinks, rather than symlinks, you can use
'make install-hardlinks' instead.
----------------
Supported architectures:
Busybox in general will build on any architecture supported by gcc. It has
a few specialized features added for __sparc__ and __alpha__. insmod
functionality is currently limited to x86, ARM, SH3/4, powerpc, m68k,
functionality is currently limited to x86, ARM, SH3/4, powerpc, m68k,
MIPS, cris, and v850e.
Supported libcs:
@ -69,7 +69,7 @@ Bugs:
If you find bugs, please submit a detailed bug report to the busybox mailing
list at busybox@mail.busybox.net. A well-written bug report should include a
transcript of a shell session that demonstrates the bad behavior and enables
anyone else to duplicate the bug on their own machine. The following is such
anyone else to duplicate the bug on their own machine. The following is such
an example:
To: busybox@mail.busybox.net
@ -90,7 +90,7 @@ an example:
$ date
llegal instruction
I am using Debian unstable, kernel version 2.4.19-rmk1 on an Netwinder,
I am using Debian unstable, kernel version 2.4.19-rmk1 on an Netwinder,
and the latest uClibc from CVS. Thanks for the wonderful program!
-Diligent
@ -103,8 +103,8 @@ reports lacking such detail may never be fixed... Thanks for understanding.
FTP:
Source for the latest released version, as well as daily snapshots, can always
be downloaded from
Source for the latest released version, as well as daily snapshots, can always
be downloaded from
http://busybox.net/downloads/
----------------
@ -123,7 +123,7 @@ For those that are actively contributing there is even CVS write access:
----------------
Please feed suggestions, bug reports, insults, and bribes back to:
Erik Andersen
Erik Andersen
<andersen@codepoet.org>
<andersen@codepoet.org>

View File

@ -1,6 +1,6 @@
# Rules.make for busybox
#
# Copyright (C) 2001-2003 Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -52,14 +52,14 @@ TARGET_OS=linux
HOSTCC = gcc
HOSTCFLAGS= -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer
# Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
# Ensure consistent sort order, 'gcc -print-search-dirs' behavior, etc.
LC_ALL:= C
# If you want to add some simple compiler switches (like -march=i686),
# especially from the command line, use this instead of CFLAGS directly.
# For optimization overrides, it's better still to set OPTIMIZATION.
CFLAGS_EXTRA=$(subst ",, $(strip $(EXTRA_CFLAGS_OPTIONS)))
# If you have a "pristine" source directory, point BB_SRC_DIR to it.
# Experimental and incomplete; tell the mailing list
# <busybox@busybox.net> if you do or don't like it so far.
@ -137,7 +137,7 @@ OPTIMIZATIONS=$(OPTIMIZATION) -fomit-frame-pointer
# by itself, instead of following it by the same half-dozen overrides
# every time. The stuff below, on the other hand, is probably less
# prone to casual user adjustment.
#
#
ifeq ($(strip $(CONFIG_LFS)),y)
# For large file summit support

2
TODO
View File

@ -14,7 +14,7 @@ Possible apps to include some time:
-----------
With sysvinit, reboot, poweroff and halt all used a named pipe,
With sysvinit, reboot, poweroff and halt all used a named pipe,
/dev/initctl, to communicate with the init process. Busybox
currently uses signals to communicate with init. This makes
busybox incompatible with sysvinit. We should probably use

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -423,7 +423,7 @@ static void parse_config_file(void)
}
/* Now get the the user/group info. */
s = (char *) bb_skip_whitespace(e);
/* Note: We require whitespace between the mode and the

View File

@ -13,7 +13,7 @@ int been_there_done_that = 0; /* Also used in applets.c */
const char *bb_applet_name;
#ifdef CONFIG_FEATURE_INSTALLER
/*
/*
* directory table
* this should be consistent w/ the enum, busybox.h::Location,
* or else...
@ -32,7 +32,7 @@ static const char* const install_dir[] = {
/* abstract link() */
typedef int (*__link_f)(const char *, const char *);
/*
/*
* Where in the filesystem is this busybox?
* [return]
* malloc'd string w/ full pathname of busybox's location
@ -52,7 +52,7 @@ static void install_links(const char *busybox, int use_symbolic_links)
int i;
int rc;
if (use_symbolic_links)
if (use_symbolic_links)
Link = symlink;
for (i = 0; applets[i].name != NULL; i++) {
@ -82,7 +82,7 @@ int main(int argc, char **argv)
bb_applet_name = s;
}
#ifdef CONFIG_LOCALE_SUPPORT
#ifdef CONFIG_LOCALE_SUPPORT
#ifdef CONFIG_INIT
if(getpid()!=1) /* Do not set locale for `init' */
#endif
@ -100,9 +100,9 @@ int busybox_main(int argc, char **argv)
{
int col = 0, len, i;
#ifdef CONFIG_FEATURE_INSTALLER
/*
* This style of argument parsing doesn't scale well
#ifdef CONFIG_FEATURE_INSTALLER
/*
* This style of argument parsing doesn't scale well
* in the event that busybox starts wanting more --options.
* If someone has a cleaner approach, by all means implement it.
*/
@ -113,8 +113,8 @@ int busybox_main(int argc, char **argv)
/* to use symlinks, or not to use symlinks... */
if (argc > 2) {
if ((strcmp(argv[2], "-s") == 0)) {
use_symbolic_links = 1;
if ((strcmp(argv[2], "-s") == 0)) {
use_symbolic_links = 1;
}
}
@ -150,7 +150,7 @@ int busybox_main(int argc, char **argv)
"\tBusyBox is a multi-call binary that combines many common Unix\n"
"\tutilities into a single executable. Most people will create a\n"
"\tlink to busybox for each function they wish to use, and BusyBox\n"
"\twill act like whatever it was invoked as.\n"
"\twill act like whatever it was invoked as.\n"
"\nCurrently defined functions:\n", bb_msg_full_version);
while (a->name != 0) {

View File

@ -46,11 +46,11 @@ config CONFIG_BUNZIP2
sorting text compression algorithm, and Huffman coding. Compression
is generally considerably better than that achieved by more
conventional LZ77/LZ78-based compressors, and approaches the
performance of the PPM family of statistical compressors.
performance of the PPM family of statistical compressors.
The BusyBox bunzip2 applet is limited to de-compression only.
On an x86 system, this applet adds about 11K.
Unless you have a specific application which requires bunzip2, you
should probably say N here.
@ -63,7 +63,7 @@ config CONFIG_CPIO
cpio has 110 bytes of overheads for every stored file.
This implementation of cpio can extract cpio archives created in the
"newc" or "crc" format, it cannot create or modify them.
"newc" or "crc" format, it cannot create or modify them.
Unless you have a specific application which requires cpio, you should
probably say N here.
@ -73,7 +73,7 @@ config CONFIG_DPKG
default n
help
dpkg is a medium-level tool to install, build, remove and manage Debian packages.
This implementation of dpkg has a number of limitations, you should use the
official dpkg if possible.
@ -82,9 +82,9 @@ config CONFIG_DPKG_DEB
default n
help
dpkg-deb packs, unpacks and provides information about Debian archives.
This implementation of dpkg-deb cannot pack archives.
Unless you have a specific application which requires dpkg-deb, you should
probably say N here.
@ -94,7 +94,7 @@ config CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
depends on CONFIG_DPKG_DEB
help
This reduces dpkg-deb to the equivalent of "ar -p <deb> data.tar.gz | tar -zx".
However it saves space as none of the extra dpkg-deb, ar or tar options are
However it saves space as none of the extra dpkg-deb, ar or tar options are
needed, they are linked to internally.
config CONFIG_GUNZIP
@ -195,7 +195,7 @@ config CONFIG_FEATURE_TAR_GNU_EXTENSIONS
default y
depends on CONFIG_TAR
help
With this option busybox supports GNU long filenames and
With this option busybox supports GNU long filenames and
linknames.
config CONFIG_FEATURE_TAR_LONG_OPTIONS
@ -241,7 +241,7 @@ config CONFIG_FEATURE_DEB_TAR_GZ
depends on CONFIG_DPKG || CONFIG_DPKG_DEB
help
This is the default compression method inside the debian ar file.
If you want compatibility with standard .deb's you should say yes here.
config CONFIG_FEATURE_DEB_TAR_BZ2
@ -251,7 +251,7 @@ config CONFIG_FEATURE_DEB_TAR_BZ2
help
This allows dpkg and dpkg-deb to extract deb's that are compressed internally
with bzip2 instead of gzip.
You only want this if you are creating your own custom debian packages that
use an internal control.tar.bz2 or data.tar.bz2.

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,10 +1,10 @@
/* vi: set sw=4 ts=4: */
/*
* Mini ar implementation for busybox
* Mini ar implementation for busybox
*
* Copyright (C) 2000 by Glenn McGrath
* Written by Glenn McGrath <bug1@optushome.com.au> 1 June 2000
*
*
* Based in part on BusyBox tar, Debian dpkg-deb and GNU ar.
*
* This program is free software; you can redistribute it and/or modify

View File

@ -2,7 +2,7 @@
/*
* Mini cpio implementation for busybox
*
* Copyright (C) 2001 by Glenn McGrath
* Copyright (C) 2001 by Glenn McGrath
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -62,7 +62,7 @@ extern int cpio_main(int argc, char **argv)
/* if both extract and test option are given, ignore extract option */
if (opt & CPIO_OPT_EXTRACT) {
opt &= ~CPIO_OPT_EXTRACT;
}
}
archive_handle->action_header = header_list;
}
if (opt & CPIO_OPT_EXTRACT) {

View File

@ -4,7 +4,7 @@
*
* Written By Glenn McGrath with the help of others
* Copyright (C) 2001 by Glenn McGrath
*
*
* Started life as a busybox implementation of udpkg
*
* This program is free software; you can redistribute it and/or modify
@ -54,7 +54,7 @@
* int's and chaos is assured, 16381 is the max prime for 14 bit field
*/
/* NAME_HASH_PRIME, Stores package names and versions,
/* NAME_HASH_PRIME, Stores package names and versions,
* I estimate it should be at least 50% bigger than PACKAGE_HASH_PRIME,
* as there a lot of duplicate version numbers */
#define NAME_HASH_PRIME 16381
@ -150,7 +150,7 @@ void make_hash(const char *key, unsigned int *start, unsigned int *decrement, co
* shift amount is mod 24 because long int is 32 bit and data
* to be shifted is 8, dont want to shift data to where it has
* no effect*/
hash_num += ((key[i] + key[i-1]) << ((key[i] * i) % 24));
hash_num += ((key[i] + key[i-1]) << ((key[i] * i) % 24));
}
*start = (unsigned int) hash_num % hash_prime;
*decrement = (unsigned int) 1 + (hash_num % (hash_prime - 1));
@ -464,11 +464,11 @@ void add_split_dependencies(common_node_t *parent_node, const char *whole_line,
} else {
or_edge = NULL;
}
if ( or_edge ) {
or_edge->name = search_name_hashtable(field);
or_edge->version = 0; // tracks the number of altenatives
add_edge_to_node(parent_node, or_edge);
}
@ -572,7 +572,7 @@ unsigned int fill_package_struct(char *control_buffer)
goto fill_package_struct_cleanup; /* Oh no, the dreaded goto statement ! */
}
field_num = compare_string_array(field_names, field_name);
field_num = compare_string_array(field_names, field_name);
switch(field_num) {
case 0: /* Package */
new_node->name = search_name_hashtable(field_value);
@ -697,7 +697,7 @@ const char *describe_status(int status_num) {
return "is marked to be removed";
if ( status_want == search_name_hashtable("purge") )
return "is marked to be purged";
}
}
if ( status_want == search_name_hashtable("unknown") )
return "is in an indeterminate state";
if ( status_want == search_name_hashtable("install") )
@ -957,11 +957,11 @@ void write_status_file(deb_file_t **deb_file)
/* Create a seperate backfile to dpkg */
if (rename("/var/lib/dpkg/status", "/var/lib/dpkg/status.udeb.bak") == -1) {
struct stat stat_buf;
struct stat stat_buf;
if (stat("/var/lib/dpkg/status", &stat_buf) == 0) {
bb_error_msg_and_die("Couldnt create backup status file");
}
/* Its ok if renaming the status file fails becasue status
/* Its ok if renaming the status file fails becasue status
* file doesnt exist, maybe we are starting from scratch */
bb_error_msg("No status file found, creating new one");
}
@ -1056,10 +1056,10 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
const edge_t *package_edge = package_node->edge[j];
if (package_edge->type == EDGE_CONFLICTS) {
const unsigned int package_num =
const unsigned int package_num =
search_package_hashtable(package_edge->name,
package_edge->version,
package_edge->operator);
package_edge->version,
package_edge->operator);
int result = 0;
if (package_hashtable[package_num] != NULL) {
status_num = search_status_hashtable(name_hashtable[package_hashtable[package_num]->name]);
@ -1078,7 +1078,7 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
}
}
i++;
}
}
/* Check dependendcies */
@ -1098,7 +1098,7 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
/* If there is no status then this package is a
* virtual one provided by something else. In which
* case there are no dependencies to check.
* case there are no dependencies to check.
*/
if ( status_hashtable[status_num] == NULL ) continue;
@ -1125,7 +1125,7 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
for (j = 0; j < package_node->num_of_edges; j++) {
const edge_t *package_edge = package_node->edge[j];
unsigned int package_num;
if ( package_edge->type == EDGE_OR_PRE_DEPENDS ||
package_edge->type == EDGE_OR_DEPENDS ) { /* start an EDGE_OR_ list */
number_of_alternatives = package_edge->version;
@ -1147,26 +1147,26 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
* this edge is the right type.
*
* EDGE_DEPENDS == OR_DEPENDS -1
* EDGE_PRE_DEPENDS == OR_PRE_DEPENDS -1
* EDGE_PRE_DEPENDS == OR_PRE_DEPENDS -1
*/
if ( root_of_alternatives && package_edge->type != root_of_alternatives->type - 1)
bb_error_msg_and_die("Fatal error. Package dependencies corrupt: %d != %d - 1 \n",
package_edge->type, root_of_alternatives->type);
if (package_hashtable[package_num] != NULL)
result = !package_satisfies_dependency(package_num, package_edge->type);
if (result) { /* check for other package which provide what we are looking for */
int provider = -1;
while ( (provider = search_for_provides(package_edge->name, provider) ) > -1 ) {
if ( package_hashtable[provider] == NULL ) {
printf("Have a provider but no package information for it\n");
continue;
}
}
result = !package_satisfies_dependency(provider, package_edge->type);
if ( result == 0 )
if ( result == 0 )
break;
}
}
@ -1176,14 +1176,14 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
if (result && number_of_alternatives == 0) {
if ( root_of_alternatives )
bb_error_msg_and_die(
"Package %s %sdepends on %s, "
"Package %s %sdepends on %s, "
"which cannot be satisfied",
name_hashtable[package_node->name],
package_edge->type == EDGE_PRE_DEPENDS ? "pre-" : "",
name_hashtable[root_of_alternatives->name]);
else
else
bb_error_msg_and_die(
"Package %s %sdepends on %s, which %s\n",
"Package %s %sdepends on %s, which %s\n",
name_hashtable[package_node->name],
package_edge->type == EDGE_PRE_DEPENDS ? "pre-" : "",
name_hashtable[package_edge->name],
@ -1192,7 +1192,7 @@ int check_deps(deb_file_t **deb_file, int deb_start, int dep_max_count)
/* we've found a package which
* satisfies the dependency,
* so skip over the rest of
* the alternatives.
* the alternatives.
*/
j += number_of_alternatives;
number_of_alternatives = 0;
@ -1312,7 +1312,7 @@ char **all_control_list(const char *package_name)
void free_array(char **array)
{
if (array) {
unsigned short i = 0;
while (array[i]) {
@ -1325,7 +1325,7 @@ void free_array(char **array)
/* This function lists information on the installed packages. It loops through
* the status_hashtable to retrieve the info. This results in smaller code than
* scanning the status file. The resulting list, however, is unsorted.
* scanning the status file. The resulting list, however, is unsorted.
*/
void list_packages(void)
{
@ -1333,7 +1333,7 @@ void list_packages(void)
printf(" Name Version\n");
printf("+++-==============-==============\n");
/* go through status hash, dereference package hash and finally strings */
for (i=0; i<STATUS_HASH_PRIME+1; i++) {
@ -1342,22 +1342,22 @@ void list_packages(void)
const char *name_str; /* package name */
const char *vers_str; /* version */
char s1, s2; /* status abbreviations */
int spccnt; /* space count */
int spccnt; /* space count */
int j;
stat_str = name_hashtable[status_hashtable[i]->status];
name_str = name_hashtable[package_hashtable[status_hashtable[i]->package]->name];
vers_str = name_hashtable[package_hashtable[status_hashtable[i]->package]->version];
/* get abbreviation for status field 1 */
s1 = stat_str[0] == 'i' ? 'i' : 'r';
/* get abbreviation for status field 2 */
for (j=0, spccnt=0; stat_str[j] && spccnt<2; j++) {
if (stat_str[j] == ' ') spccnt++;
}
s2 = stat_str[j];
/* print out the line formatted like Debian dpkg */
printf("%c%c %-14s %s\n", s1, s2, name_str, vers_str);
}
@ -1376,7 +1376,7 @@ void remove_package(const unsigned int package_num, int noisy)
char conffile_name[package_name_length + 30];
int return_value;
if ( noisy )
if ( noisy )
printf("Removing %s (%s) ...\n", package_name, package_version);
/* run prerm script */
@ -1464,12 +1464,12 @@ static archive_handle_t *init_archive_deb_ar(const char *filename)
{
archive_handle_t *ar_handle;
/* Setup an ar archive handle that refers to the gzip sub archive */
/* Setup an ar archive handle that refers to the gzip sub archive */
ar_handle = init_handle();
ar_handle->filter = filter_accept_list_reassign;
ar_handle->src_fd = bb_xopen(filename, O_RDONLY);
return(ar_handle);
return(ar_handle);
}
static void init_archive_deb_control(archive_handle_t *ar_handle)
@ -1491,7 +1491,7 @@ static void init_archive_deb_control(archive_handle_t *ar_handle)
/* Assign the tar handle as a subarchive of the ar handle */
ar_handle->sub_archive = tar_handle;
return;
return;
}
static void init_archive_deb_data(archive_handle_t *ar_handle)
@ -1513,7 +1513,7 @@ static void init_archive_deb_data(archive_handle_t *ar_handle)
/* Assign the tar handle as a subarchive of the ar handle */
ar_handle->sub_archive = tar_handle;
return;
return;
}
static char *deb_extract_control_file_to_buffer(archive_handle_t *ar_handle, llist_t *myaccept)
@ -1586,7 +1586,7 @@ static void unpack_package(deb_file_t *deb_file)
if (run_package_script(package_name, "preinst") != 0) {
/* when preinst returns exit code != 0 then quit installation process */
bb_error_msg_and_die("subprocess pre-installation script returned error.");
}
}
/* Extract data.tar.gz to the root directory */
archive_handle = init_archive_deb_ar(deb_file->filename);
@ -1598,7 +1598,7 @@ static void unpack_package(deb_file_t *deb_file)
/* Create the list file */
strcat(info_prefix, "list");
out_stream = bb_xfopen(info_prefix, "w");
out_stream = bb_xfopen(info_prefix, "w");
while (archive_handle->sub_archive->passed) {
/* the leading . has been stripped by data_extract_all_prefix already */
fputs(archive_handle->sub_archive->passed->data, out_stream);
@ -1653,7 +1653,7 @@ int dpkg_main(int argc, char **argv)
case 'F': // equivalent to --force in official dpkg
if (strcmp(optarg, "depends") == 0) {
dpkg_opt |= dpkg_opt_force_ignore_depends;
}
}
break;
case 'i':
dpkg_opt |= dpkg_opt_install;
@ -1691,7 +1691,7 @@ int dpkg_main(int argc, char **argv)
list_packages();
return(EXIT_SUCCESS);
}
/* Read arguments and store relevant info in structs */
while (optind < argc) {
/* deb_count = nb_elem - 1 and we need nb_elem + 1 to allocate terminal node [NULL pointer] */

View File

@ -41,7 +41,7 @@ extern int dpkg_deb_main(int argc, char **argv)
/* Setup the tar archive handle */
tar_archive = init_handle();
/* Setup an ar archive handle that refers to the gzip sub archive */
/* Setup an ar archive handle that refers to the gzip sub archive */
ar_archive = init_handle();
ar_archive->sub_archive = tar_archive;
ar_archive->filter = filter_accept_list_reassign;
@ -73,7 +73,7 @@ extern int dpkg_deb_main(int argc, char **argv)
}
if (opt & DPKG_DEB_OPT_FIELD) {
/* Print the entire control file
* it should accept a second argument which specifies a
* it should accept a second argument which specifies a
* specific field to print */
ar_archive->accept = control_tar_llist;
tar_archive->accept = llist_add_to(NULL, "./control");;

View File

@ -13,7 +13,7 @@
*
* General cleanup to better adhere to the style guide and make use of standard
* busybox functions by Glenn McGrath <bug1@optushome.com.au>
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@ -153,12 +153,12 @@ extern int gunzip_main(int argc, char **argv)
/* do the decompression, and cleanup */
if (bb_xread_char(src_fd) == 0x1f) {
unsigned char magic2;
magic2 = bb_xread_char(src_fd);
#ifdef CONFIG_FEATURE_GUNZIP_UNCOMPRESS
if (magic2 == 0x9d) {
status = uncompress(src_fd, dst_fd);
} else
} else
#endif
if (magic2 == 0x8b) {
check_header_gzip(src_fd);

View File

@ -9,8 +9,8 @@
* only standard in to standard out with -9 compression. It also requires
* the zcat module for some important functions."
*
* Adjusted further by Erik Andersen <andersen@codepoet.org> to support
* files as well as stdin/stdout, and to generally behave itself wrt
* Adjusted further by Erik Andersen <andersen@codepoet.org> to support
* files as well as stdin/stdout, and to generally behave itself wrt
* command line handling.
*
* This program is free software; you can redistribute it and/or modify
@ -30,7 +30,7 @@
*/
/* These defines are very important for BusyBox. Without these,
* huge chunks of ram are pre-allocated making the BusyBox bss
* huge chunks of ram are pre-allocated making the BusyBox bss
* size Freaking Huge(tm), which is a bad thing.*/
#define SMALL_MEM
#define DYN_ALLOC

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -55,7 +55,7 @@ DPKG_FILES:= \
get_header_tar.o \
filter_accept_list_reassign.o
LIBUNARCHIVE-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
LIBUNARCHIVE-$(CONFIG_AR) += get_header_ar.o unpack_ar_archive.o
LIBUNARCHIVE-$(CONFIG_BUNZIP2) += decompress_bunzip2.o
LIBUNARCHIVE-$(CONFIG_CPIO) += get_header_cpio.o
LIBUNARCHIVE-$(CONFIG_DPKG) += $(DPKG_FILES)
@ -64,7 +64,7 @@ LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_GZ) += $(GUNZIP_FILES) get_header_tar_gz.o
LIBUNARCHIVE-$(CONFIG_FEATURE_DEB_TAR_BZ2) += decompress_bunzip2.o get_header_tar_bz2.o
LIBUNARCHIVE-$(CONFIG_GUNZIP) += $(GUNZIP_FILES)
LIBUNARCHIVE-$(CONFIG_FEATURE_GUNZIP_UNCOMPRESS) += uncompress.o
LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
LIBUNARCHIVE-$(CONFIG_RPM2CPIO) += $(GUNZIP_FILES) get_header_cpio.o
LIBUNARCHIVE-$(CONFIG_RPM) += $(GUNZIP_FILES) get_header_cpio.o
LIBUNARCHIVE-$(CONFIG_TAR) += get_header_tar.o
LIBUNARCHIVE-$(CONFIG_FEATURE_TAR_BZIP2) += decompress_bunzip2.o get_header_tar_bz2.o

View File

@ -37,7 +37,7 @@ extern void data_extract_all(archive_handle_t *archive_handle)
char *name = bb_xstrdup(file_header->name);
bb_make_directory (dirname(name), 0777, FILEUTILS_RECUR);
free(name);
}
}
/* Check if the file already exists */
if (archive_handle->flags & ARCHIVE_EXTRACT_UNCONDITIONAL) {
@ -66,7 +66,7 @@ extern void data_extract_all(archive_handle_t *archive_handle)
}
}
/* Handle hard links seperately
/* Handle hard links seperately
* We identified hard links as regular files of size 0 with a symlink */
if (S_ISREG(file_header->mode) && (file_header->link_name) && (file_header->size == 0)) {
/* hard link */

View File

@ -248,7 +248,7 @@ static int get_next_block(bunzip_data *bd)
pp=0;
for(i=minLen;i<=maxLen;i++) {
temp[i]=limit[i]=0;
for(t=0;t<symCount;t++)
for(t=0;t<symCount;t++)
if(length[t]==i) hufGroup->permute[pp++] = t;
}
/* Count symbols coded for at each bit length */

View File

@ -3,7 +3,7 @@
/* uncompress for busybox -- (c) 2002 Robert Griebl
*
* based on the original compress42.c source
* based on the original compress42.c source
* (see disclaimer below)
*/

View File

@ -13,7 +13,7 @@
*
* General cleanup to better adhere to the style guide and make use of standard
* busybox functions by Glenn McGrath <bug1@optushome.com.au>
*
*
* read_gz interface + associated hacking by Laurence Anderson
*
* This program is free software; you can redistribute it and/or modify
@ -148,7 +148,7 @@ static unsigned int fill_bitbuffer(unsigned int bitbuffer, unsigned int *current
{
while (*current < required) {
if (bytebuffer_offset >= bytebuffer_size) {
/* Leave the first 4 bytes empty so we can always unwind the bitbuffer
/* Leave the first 4 bytes empty so we can always unwind the bitbuffer
* to the front of the bytebuffer, leave 4 bytes free at end of tail
* so we can easily top up buffer in check_trailer_gzip() */
bytebuffer_size = 4 + bb_xread(gunzip_src_fd, &bytebuffer[4], bytebuffer_max - 8);
@ -193,7 +193,7 @@ static void make_gunzip_crc_table(void)
/*
* Free the malloc'ed tables built by huft_build(), which makes a linked
* list of the tables it made, with the links in a dummy first entry of
* each table.
* each table.
* t: table to free
*/
static int huft_free(huft_t * t)
@ -435,9 +435,9 @@ static int inflate_codes(huft_t * my_tl, huft_t * my_td, const unsigned int my_b
md = mask_bits[bd];
return 0; // Don't actually do anything the first time
}
if (resumeCopy) goto do_copy;
while (1) { /* do until end of block */
b = fill_bitbuffer(b, &k, bl);
if ((e = (t = tl + ((unsigned) b & ml))->e) > 16)
@ -533,7 +533,7 @@ do_copy: do {
/* free the decoding tables, return */
huft_free(tl);
huft_free(td);
/* done */
return 0;
}
@ -548,7 +548,7 @@ static int inflate_stored(int my_n, int my_b_stored, int my_k_stored, int setup)
w = gunzip_outbuf_count; /* initialize gunzip_window position */
return 0; // Don't do anything first time
}
/* read and output the compressed data */
while (n--) {
b_stored = fill_bitbuffer(b_stored, &k_stored, 8);
@ -639,7 +639,7 @@ static int inflate_block(int *e)
inflate_stored(n, b_stored, k_stored, 1); // Setup inflate_stored
return -1;
}
case 1: /* Inflate fixed
case 1: /* Inflate fixed
* decompress an inflated type 1 (fixed Huffman codes) block. We should
* either replace this with a custom decoder, or at least precompute the
* Huffman tables.
@ -682,9 +682,9 @@ static int inflate_block(int *e)
/* decompress until an end-of-block code */
inflate_codes(tl, td, bl, bd, 1); // Setup inflate_codes
/* huft_free code moved into inflate_codes */
return -2;
}
case 2: /* Inflate dynamic */
@ -836,7 +836,7 @@ static int inflate_block(int *e)
inflate_codes(tl, td, bl, bd, 1); // Setup inflate_codes
/* huft_free code moved into inflate_codes */
return -2;
}
default:
@ -859,12 +859,12 @@ static int inflate_get_next_window(void)
static int method = -1; // Method == -1 for stored, -2 for codes
static int e = 0;
static int needAnotherBlock = 1;
gunzip_outbuf_count = 0;
while(1) {
int ret;
if (needAnotherBlock) {
if(e) {
calculate_gunzip_crc();
@ -875,7 +875,7 @@ static int inflate_get_next_window(void)
method = inflate_block(&e);
needAnotherBlock = 0;
}
switch (method) {
case -1: ret = inflate_stored(0,0,0,0);
break;
@ -920,7 +920,7 @@ extern int inflate_unzip(int in, int out)
make_gunzip_crc_table();
/* Allocate space for buffer */
bytebuffer = xmalloc(bytebuffer_max);
bytebuffer = xmalloc(bytebuffer_max);
while(1) {
int ret = inflate_get_next_window();
@ -977,6 +977,6 @@ extern int inflate_gunzip(int in, int out)
(bytebuffer[bytebuffer_offset+2] << 16) | (bytebuffer[bytebuffer_offset+3] << 24))) {
bb_error_msg("Incorrect length");
}
return 0;
}

View File

@ -26,7 +26,7 @@
/*
* Reassign the subarchive metadata parser based on the filename extension
* e.g. if its a .tar.gz modify archive_handle->sub_archive to process a .tar.gz
* or if its a .tar.bz2 make archive_handle->sub_archive handle that
* or if its a .tar.bz2 make archive_handle->sub_archive handle that
*/
extern char filter_accept_list_reassign(archive_handle_t *archive_handle)
{

View File

@ -113,7 +113,7 @@ extern char get_header_ar(archive_handle_t *archive_handle)
archive_handle->action_data(archive_handle);
}
} else {
data_skip(archive_handle);
data_skip(archive_handle);
}
archive_handle->offset += typed->size;

View File

@ -36,7 +36,7 @@ extern char get_header_cpio(archive_handle_t *archive_handle)
int namesize;
char dummy[16];
int major, minor, nlink, inode;
if (pending_hardlinks) { /* Deal with any pending hardlinks */
hardlinks_t *tmp;
hardlinks_t *oldtmp;
@ -77,7 +77,7 @@ extern char get_header_cpio(archive_handle_t *archive_handle)
{
unsigned long tmpsize;
sscanf(cpio_header, "%6c%8x%8x%8x%8x%8x%8lx%8lx%16c%8x%8x%8x%8c",
dummy, &inode, (unsigned int*)&file_header->mode,
dummy, &inode, (unsigned int*)&file_header->mode,
(unsigned int*)&file_header->uid, (unsigned int*)&file_header->gid,
&nlink, &file_header->mtime, &tmpsize,
dummy, &major, &minor, &namesize, dummy);
@ -147,7 +147,7 @@ extern char get_header_cpio(archive_handle_t *archive_handle)
archive_handle->action_data(archive_handle);
archive_handle->action_header(archive_handle->file_header);
} else {
data_skip(archive_handle);
data_skip(archive_handle);
}
archive_handle->offset += file_header->size;

View File

@ -119,7 +119,7 @@ extern char get_header_tar(archive_handle_t *archive_handle)
file_header->gid = strtol(tar.formated.gid, NULL, 8);
file_header->size = strtol(tar.formated.size, NULL, 8);
file_header->mtime = strtol(tar.formated.mtime, NULL, 8);
file_header->link_name = (tar.formated.linkname[0] != '\0') ?
file_header->link_name = (tar.formated.linkname[0] != '\0') ?
bb_xstrdup(tar.formated.linkname) : NULL;
file_header->device = (dev_t) ((strtol(tar.formated.devmajor, NULL, 8) << 8) +
strtol(tar.formated.devminor, NULL, 8));
@ -205,7 +205,7 @@ extern char get_header_tar(archive_handle_t *archive_handle)
archive_handle->action_data(archive_handle);
archive_handle->passed = llist_add_to(archive_handle->passed, file_header->name);
} else {
data_skip(archive_handle);
data_skip(archive_handle);
}
archive_handle->offset += file_header->size;

View File

@ -3,7 +3,7 @@
/* uncompress for busybox -- (c) 2002 Robert Griebl
*
* based on the original compress42.c source
* based on the original compress42.c source
* (see disclaimer below)
*/

View File

@ -13,7 +13,7 @@
*
* General cleanup to better adhere to the style guide and make use of standard
* busybox functions by Glenn McGrath <bug1@optushome.com.au>
*
*
* read_gz interface + associated hacking by Laurence Anderson
*
* This program is free software; you can redistribute it and/or modify
@ -148,7 +148,7 @@ static unsigned int fill_bitbuffer(unsigned int bitbuffer, unsigned int *current
{
while (*current < required) {
if (bytebuffer_offset >= bytebuffer_size) {
/* Leave the first 4 bytes empty so we can always unwind the bitbuffer
/* Leave the first 4 bytes empty so we can always unwind the bitbuffer
* to the front of the bytebuffer, leave 4 bytes free at end of tail
* so we can easily top up buffer in check_trailer_gzip() */
bytebuffer_size = 4 + bb_xread(gunzip_src_fd, &bytebuffer[4], bytebuffer_max - 8);
@ -193,7 +193,7 @@ static void make_gunzip_crc_table(void)
/*
* Free the malloc'ed tables built by huft_build(), which makes a linked
* list of the tables it made, with the links in a dummy first entry of
* each table.
* each table.
* t: table to free
*/
static int huft_free(huft_t * t)
@ -435,9 +435,9 @@ static int inflate_codes(huft_t * my_tl, huft_t * my_td, const unsigned int my_b
md = mask_bits[bd];
return 0; // Don't actually do anything the first time
}
if (resumeCopy) goto do_copy;
while (1) { /* do until end of block */
b = fill_bitbuffer(b, &k, bl);
if ((e = (t = tl + ((unsigned) b & ml))->e) > 16)
@ -533,7 +533,7 @@ do_copy: do {
/* free the decoding tables, return */
huft_free(tl);
huft_free(td);
/* done */
return 0;
}
@ -548,7 +548,7 @@ static int inflate_stored(int my_n, int my_b_stored, int my_k_stored, int setup)
w = gunzip_outbuf_count; /* initialize gunzip_window position */
return 0; // Don't do anything first time
}
/* read and output the compressed data */
while (n--) {
b_stored = fill_bitbuffer(b_stored, &k_stored, 8);
@ -639,7 +639,7 @@ static int inflate_block(int *e)
inflate_stored(n, b_stored, k_stored, 1); // Setup inflate_stored
return -1;
}
case 1: /* Inflate fixed
case 1: /* Inflate fixed
* decompress an inflated type 1 (fixed Huffman codes) block. We should
* either replace this with a custom decoder, or at least precompute the
* Huffman tables.
@ -682,9 +682,9 @@ static int inflate_block(int *e)
/* decompress until an end-of-block code */
inflate_codes(tl, td, bl, bd, 1); // Setup inflate_codes
/* huft_free code moved into inflate_codes */
return -2;
}
case 2: /* Inflate dynamic */
@ -836,7 +836,7 @@ static int inflate_block(int *e)
inflate_codes(tl, td, bl, bd, 1); // Setup inflate_codes
/* huft_free code moved into inflate_codes */
return -2;
}
default:
@ -859,12 +859,12 @@ static int inflate_get_next_window(void)
static int method = -1; // Method == -1 for stored, -2 for codes
static int e = 0;
static int needAnotherBlock = 1;
gunzip_outbuf_count = 0;
while(1) {
int ret;
if (needAnotherBlock) {
if(e) {
calculate_gunzip_crc();
@ -875,7 +875,7 @@ static int inflate_get_next_window(void)
method = inflate_block(&e);
needAnotherBlock = 0;
}
switch (method) {
case -1: ret = inflate_stored(0,0,0,0);
break;
@ -920,7 +920,7 @@ extern int inflate_unzip(int in, int out)
make_gunzip_crc_table();
/* Allocate space for buffer */
bytebuffer = xmalloc(bytebuffer_max);
bytebuffer = xmalloc(bytebuffer_max);
while(1) {
int ret = inflate_get_next_window();
@ -977,6 +977,6 @@ extern int inflate_gunzip(int in, int out)
(bytebuffer[bytebuffer_offset+2] << 16) | (bytebuffer[bytebuffer_offset+3] << 24))) {
bb_error_msg("Incorrect length");
}
return 0;
}

View File

@ -204,12 +204,12 @@ void extract_cpio_gz(int fd) {
archive_handle->flags |= ARCHIVE_CREATE_LEADING_DIRS;
archive_handle->src_fd = fd;
archive_handle->offset = 0;
bb_xread_all(archive_handle->src_fd, &magic, 2);
if ((magic[0] != 0x1f) || (magic[1] != 0x8b)) {
bb_error_msg_and_die("Invalid gzip magic");
}
check_header_gzip(archive_handle->src_fd);
check_header_gzip(archive_handle->src_fd);
chdir("/"); // Install RPM's to root
archive_handle->src_fd = open_transformer(archive_handle->src_fd, inflate_gunzip);

View File

@ -89,7 +89,7 @@ extern int rpm2cpio_main(int argc, char **argv)
/* Skip the main header */
skip_header(rpm_fd);
bb_xread_all(rpm_fd, &magic, 2);
if ((magic[0] != 0x1f) || (magic[1] != 0x8b)) {
bb_error_msg_and_die("Invalid gzip magic");

View File

@ -1,6 +1,6 @@
/* vi: set sw=4 ts=4: */
/*
* Mini tar implementation for busybox
* Mini tar implementation for busybox
*
* Modifed to use common extraction code used by ar, cpio, dpkg-deb, dpkg
* Glenn McGrath <bug1@optushome.com.au>
@ -9,7 +9,7 @@
* ground up. It still has remnents of the old code lying about, but it is
* very different now (i.e., cleaner, less global variables, etc.)
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* Based in part in the tar implementation in sash
* Copyright (c) 1999 by David I. Bell
@ -111,7 +111,7 @@ struct TarBallInfo {
for the tarball */
struct stat statBuf; /* Stat info for the tarball, letting
us know the inode and device that the
tarball lives, so we can avoid trying
tarball lives, so we can avoid trying
to include the tarball into itself */
int verboseFlag; /* Whether to print extra stuff or not */
const llist_t *excludeList; /* List of files to not include */
@ -470,7 +470,7 @@ static inline int writeTarFile(const int tar_fd, const int verboseFlag,
(void) &include;
(void) &errorFlag;
# endif
gzipPid = vfork();
if (gzipPid == 0) {
@ -616,7 +616,7 @@ static char get_header_tar_Z(archive_handle_t *archive_handle)
#endif
#ifdef CONFIG_FEATURE_TAR_BZIP2
# define TAR_OPT_BZIP2 (1 << (8 + TAR_OPT_FLAG_CREATE))
# define TAR_OPT_BZIP2 (1 << (8 + TAR_OPT_FLAG_CREATE))
# define TAR_OPT_STR_BZIP2 "j"
# define TAR_OPT_FLAG_BZIP2 1
#else
@ -646,7 +646,7 @@ static char get_header_tar_Z(archive_handle_t *archive_handle)
#ifdef CONFIG_FEATURE_TAR_COMPRESS
# define TAR_OPT_UNCOMPRESS (1 << (8 + TAR_OPT_FLAG_CREATE + TAR_OPT_FLAG_BZIP2 + TAR_OPT_FLAG_FROM + TAR_OPT_FLAG_GZIP))
# define TAR_OPT_STR_COMPRESS "Z"
#else
#else
# define TAR_OPT_STR_COMPRESS ""
#endif
@ -740,7 +740,7 @@ int tar_main(int argc, char **argv)
bb_show_usage();
}
if(ctx_flag & CTX_TEST) {
if ((tar_handle->action_header == header_list) ||
if ((tar_handle->action_header == header_list) ||
(tar_handle->action_header == header_verbose_list)) {
tar_handle->action_header = header_verbose_list;
} else {
@ -756,8 +756,8 @@ int tar_main(int argc, char **argv)
tar_handle->action_data = data_extract_to_stdout;
}
if(opt & TAR_OPT_VERBOSE) {
if ((tar_handle->action_header == header_list) ||
(tar_handle->action_header == header_verbose_list))
if ((tar_handle->action_header == header_list) ||
(tar_handle->action_header == header_verbose_list))
{
tar_handle->action_header = header_verbose_list;
} else {
@ -860,13 +860,13 @@ int tar_main(int argc, char **argv)
}
# endif /* CONFIG_FEATURE_TAR_BZIP2 */
if ((tar_handle->action_header == header_list) ||
if ((tar_handle->action_header == header_list) ||
(tar_handle->action_header == header_verbose_list)) {
verboseFlag = TRUE;
}
writeTarFile(tar_handle->src_fd, verboseFlag, opt & TAR_OPT_DEREFERNCE, tar_handle->accept,
tar_handle->reject, gzipFlag);
} else
} else
#endif /* CONFIG_FEATURE_TAR_CREATE */
{
while (get_header_ptr(tar_handle) == EXIT_SUCCESS);

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/*
* Mini chvt implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/*
* Mini clear implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -3,13 +3,13 @@
* Disallocate virtual terminal(s)
*
* Copyright (C) 2003 by Tito Ragusa <farmatito@tiscali.it>
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -56,7 +56,7 @@ int dumpkmap_main(int argc, char **argv)
write(1, magic, 7);
for (i=0; i < MAX_NR_KEYMAPS; i++) flags[i]=0;
flags[0]=1;
flags[0]=1;
flags[1]=1;
flags[2]=1;
flags[4]=1;
@ -66,9 +66,9 @@ int dumpkmap_main(int argc, char **argv)
flags[9]=1;
flags[10]=1;
flags[12]=1;
/* dump flags */
for (i=0; i < MAX_NR_KEYMAPS; i++) write(1,&flags[i],1);
for (i=0; i < MAX_NR_KEYMAPS; i++) write(1,&flags[i],1);
for (i = 0; i < MAX_NR_KEYMAPS; i++) {
if (flags[i] == 1) {
@ -76,13 +76,13 @@ int dumpkmap_main(int argc, char **argv)
ke.kb_index = j;
ke.kb_table = i;
if (ioctl(fd, KDGKBENT, &ke) < 0) {
bb_error_msg("ioctl returned: %m, %s, %s, %xqq", (char *)&ke.kb_index,(char *)&ke.kb_table,(int)&ke.kb_value);
}
else {
write(1,(void*)&ke.kb_value,2);
}
write(1,(void*)&ke.kb_value,2);
}
}
}
}

View File

@ -75,7 +75,7 @@ int loadkmap_main(int argc, char **argv)
}
}
/* Don't bother to close files. Exit does that
/* Don't bother to close files. Exit does that
* automagically, so we can save a few bytes */
/* close(fd); */
return EXIT_SUCCESS;

View File

@ -56,7 +56,7 @@ int openvt_main(int argc, char **argv)
if (setsid() < 0) {
#endif
bb_perror_msg_and_die("Unable to set new session");
bb_perror_msg_and_die("Unable to set new session");
}
close(0); /* so that new vt becomes stdin */

View File

@ -2,7 +2,7 @@
/*
* Mini reset implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
* Written by Erik Andersen and Kent Robotti <robotti@metconnect.com>
*
* This program is free software; you can redistribute it and/or modify

View File

@ -35,7 +35,7 @@ struct kbkeycode {
};
static const int KDSETKEYCODE = 0x4B4D; /* write kernel keycode table entry */
extern int
extern int
setkeycodes_main(int argc, char** argv)
{
char *ep;
@ -45,7 +45,7 @@ setkeycodes_main(int argc, char** argv)
if (argc % 2 != 1 || argc < 2) {
bb_show_usage();
}
fd = get_console_fd();
while (argc > 2) {

View File

@ -10,7 +10,7 @@ config CONFIG_BASENAME
default n
help
basename is used to strip the directory and suffix from filenames,
leaving just the filename itself. Enable this option if you wish
leaving just the filename itself. Enable this option if you wish
to enable the 'basename' utility.
config CONFIG_CAL
@ -101,7 +101,7 @@ config CONFIG_DD
help
dd copies a file (from standard input to standard output,
by default) using specific input and output blocksizes,
while optionally performing conversions on it.
while optionally performing conversions on it.
config CONFIG_DF
bool "df"
@ -154,7 +154,7 @@ config CONFIG_FEATURE_FANCY_ECHO
default y
depends on CONFIG_ECHO
help
This adds options (-n and -e) to echo.
This adds options (-n and -e) to echo.
config CONFIG_ENV
bool "env"

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/*
* Mini basename implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -161,7 +161,7 @@ int cal_main(int argc, char **argv)
int row, len, days[MAXDAYS];
int *dp = days;
char lineout[30];
day_array(month, year, dp);
len = sprintf(lineout, "%s %d", month_names[month - 1], year);
bb_printf("%*s%s\n%s\n",
@ -176,7 +176,7 @@ int cal_main(int argc, char **argv)
int row, which_cal, week_len, days[12][MAXDAYS];
int *dp;
char lineout[80];
sprintf(lineout, "%d", year);
center(lineout,
(WEEK_LEN * 3 + HEAD_SEP * 2)
@ -317,7 +317,7 @@ static void blank_string(char *buf, size_t buflen)
static char *build_row(char *p, int *dp)
{
int col, val, day;
memset(p, ' ', (julian + DAY_LEN) * 7);
col = 0;

View File

@ -2,7 +2,7 @@
/*
* Mini chgrp implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -63,7 +63,7 @@ int chgrp_main(int argc, char **argv)
/* Ok, ready to do the deed now */
do {
if (! recursive_action (*argv, recursiveFlag, FALSE, FALSE,
if (! recursive_action (*argv, recursiveFlag, FALSE, FALSE,
fileAction, fileAction, &gid)) {
retval = EXIT_FAILURE;
}

View File

@ -2,7 +2,7 @@
/*
* Mini chmod implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* Reworked by (C) 2002 Vladimir Oleynik <dzo@simtreas.ru>
* to correctly parse '-rwxgoa'

View File

@ -2,7 +2,7 @@
/*
* Mini chown implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -84,10 +84,10 @@ int chown_main(int argc, char **argv)
uid = get_ug_id(*argv, my_getpwnam);
++argv;
/* Ok, ready to do the deed now */
do {
if (! recursive_action (*argv, (flags & FLAG_R), FALSE, FALSE,
if (! recursive_action (*argv, (flags & FLAG_R), FALSE, FALSE,
fileAction, fileAction, NULL)) {
retval = EXIT_FAILURE;
}

View File

@ -2,7 +2,7 @@
/*
* Mini chroot implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -3,7 +3,7 @@
* cut.c - minimalist version of cut
*
* Copyright (C) 1999,2000,2001 by Lineo, inc.
* Written by Mark Whitley <markw@lineo.com>, <markw@codepoet.org>
* Written by Mark Whitley <markw@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -69,7 +69,7 @@ static int cmpfunc(const void *a, const void *b)
/*
* parse_lists() - parses a list and puts values into startpos and endpos.
* valid list formats: N, N-, N-M, -M
* valid list formats: N, N-, N-M, -M
* more than one list can be seperated by commas
*/
static void parse_lists(char *lists)
@ -96,7 +96,7 @@ static void parse_lists(char *lists)
s = strtoul(ntok, &junk, 10);
if(*junk != '\0' || s < 0)
bb_error_msg_and_die("invalid byte or field list");
/* account for the fact that arrays are zero based, while the user
* expects the first char on the line to be char # 1 */
if (s != 0)
@ -125,7 +125,7 @@ static void parse_lists(char *lists)
/* if there's something left to tokenize, the user past an invalid list */
if (ltok)
bb_error_msg_and_die("invalid byte or field list");
/* add the new list */
cut_lists = xrealloc(cut_lists, sizeof(struct cut_list) * (++nlists));
cut_lists[nlists-1].startpos = s;
@ -227,7 +227,7 @@ static void cut_file_by_lines(const char *line, unsigned int linenum)
{
static int c = 0;
static int l = -1;
/* I can't initialize this above cuz the "initializer isn't
* constant" *sigh* */
if (l == -1)

View File

@ -3,7 +3,7 @@
* Mini date implementation for busybox
*
* by Matthew Grant <grantma@anathoth.gen.nz>
*
*
* iso-format handling added by Robert Griebl <griebl@gmx.de>
*
* This program is free software; you can redistribute it and/or modify
@ -33,7 +33,7 @@
#include "busybox.h"
/* This 'date' command supports only 2 time setting formats,
/* This 'date' command supports only 2 time setting formats,
all the GNU strftime stuff (its in libc, lets use it),
setting time using UTC and displaying int, as well as
an RFC 822 complient date output for shell scripting

View File

@ -2,7 +2,7 @@
/*
* Mini df implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
* based on original code by (I think) Bruce Perens <bruce@pixar.com>.
*
* This program is free software; you can redistribute it and/or modify
@ -51,7 +51,7 @@ extern int df_main(int argc, char **argv)
long blocks_used;
long blocks_percent_used;
#ifdef CONFIG_FEATURE_HUMAN_READABLE
unsigned long df_disp_hr = KILOBYTE;
unsigned long df_disp_hr = KILOBYTE;
#endif
int status = EXIT_SUCCESS;
unsigned long opt;
@ -115,7 +115,7 @@ extern int df_main(int argc, char **argv)
bb_perror_msg("%s", mount_point);
goto SET_ERROR;
}
if ((s.f_blocks > 0) || !mount_table){
blocks_used = s.f_blocks - s.f_bfree;
blocks_percent_used = 0;
@ -124,7 +124,7 @@ extern int df_main(int argc, char **argv)
+ (blocks_used + s.f_bavail)/2
) / (blocks_used + s.f_bavail);
}
if (strcmp(device, "rootfs") == 0) {
continue;
} else if (strcmp(device, "/dev/root") == 0) {
@ -134,15 +134,15 @@ extern int df_main(int argc, char **argv)
goto SET_ERROR;
}
}
#ifdef CONFIG_FEATURE_HUMAN_READABLE
bb_printf("%-21s%9s ", device,
make_human_readable_str(s.f_blocks, s.f_bsize, df_disp_hr));
bb_printf("%9s ",
make_human_readable_str( (s.f_blocks - s.f_bfree),
s.f_bsize, df_disp_hr));
bb_printf("%9s %3ld%% %s\n",
make_human_readable_str(s.f_bavail, s.f_bsize, df_disp_hr),
blocks_percent_used, mount_point);

View File

@ -2,7 +2,7 @@
/*
* Mini dirname implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -50,7 +50,7 @@ typedef unsigned long int bb_uint64_t;
static const char letters[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
// if fn is NULL then input is stdin and output is stdout
static int convert(char *fn, int ConvType)
static int convert(char *fn, int ConvType)
{
int c, fd;
struct timeval tv;
@ -156,12 +156,12 @@ static int convert(char *fn, int ConvType)
return 0;
}
int dos2unix_main(int argc, char *argv[])
int dos2unix_main(int argc, char *argv[])
{
int ConvType = CT_AUTO;
int o;
//See if we are supposed to be doing dos2unix or unix2dos
//See if we are supposed to be doing dos2unix or unix2dos
if (argv[0][0]=='d') {
ConvType = CT_DOS2UNIX;
}

View File

@ -181,7 +181,7 @@ int du_main(int argc, char **argv)
#else
disp_k = 0;
#endif
}
}
#endif
/* Note: SUSv3 specifies that -a and -s options can not be used together

View File

@ -55,7 +55,7 @@ extern int echo_main(int argc, char** argv)
* that all of the options specified are actually valid.
* Otherwise, the string should just be echoed.
*/
if (!*(p = *argv + 1)) { /* A single '-', so echo it. */
goto just_echo;
}
@ -87,7 +87,7 @@ just_echo:
while ((c = *(*argv)++)) {
if (c == eflag) { /* Check for escape seq. */
if (**argv == 'c') {
/* '\c' means cancel newline and
/* '\c' means cancel newline and
* ignore all subsequent chars. */
goto DONE;
}
@ -141,8 +141,8 @@ DONE:
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* 3. <BSD Advertising Clause omitted per the July 22, 1999 licensing change
* ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change>
* 3. <BSD Advertising Clause omitted per the July 22, 1999 licensing change
* ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change>
*
* California, Berkeley and its contributors.
* 4. Neither the name of the University nor the names of its contributors

View File

@ -5,7 +5,7 @@
* based on GNU expr Mike Parker.
* Copyright (C) 86, 1991-1997, 1999 Free Software Foundation, Inc.
*
* Busybox modifications
* Busybox modifications
* Copyright (c) 2000 Edward Betts <edward@debian.org>.
* Aug 2003 Vladimir Oleynik - reduced 464 bytes.
*

View File

@ -2,7 +2,7 @@
/*
* Mini false implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -47,7 +47,7 @@ extern int id_main(int argc, char **argv)
#ifdef CONFIG_SELINUX
int is_flask_enabled_flag = is_flask_enabled();
#endif
flags = bb_getopt_ulflags(argc, argv, "ugrn");
if (((flags & (JUST_USER | JUST_GROUP)) == (JUST_USER | JUST_GROUP))

View File

@ -48,7 +48,7 @@ static const struct option install_long_options[] = {
{ "owner", 0, NULL, 'o' },
{ 0, 0, 0, 0 }
};
extern int install_main(int argc, char **argv)
{
struct stat statbuf;
@ -116,7 +116,7 @@ extern int install_main(int argc, char **argv)
}
return(ret);
}
cp_mv_stat2(argv[argc - 1], &statbuf, lstat);
for (i = optind; i < argc - 1; i++) {
unsigned char *dest;
@ -137,15 +137,15 @@ extern int install_main(int argc, char **argv)
/* Set the user and group id */
if (lchown(dest, uid, gid) == -1) {
bb_perror_msg("cannot change ownership of %s", dest);
ret = EXIT_FAILURE;
ret = EXIT_FAILURE;
}
if (flags & INSTALL_OPT_STRIP) {
if (execlp("strip", "strip", dest, NULL) == -1) {
bb_error_msg("strip failed");
ret = EXIT_FAILURE;
ret = EXIT_FAILURE;
}
}
}
return(ret);
}

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -2,7 +2,7 @@
/*
* Mini ln implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -88,14 +88,14 @@ extern int ln_main(int argc, char **argv)
if (flag & LN_SYMLINK) {
link_func = symlink;
}
if (link_func(*argv, src) != 0) {
bb_perror_msg(src);
status = EXIT_FAILURE;
}
free(src_name);
} while ((++argv)[1]);
return status;

View File

@ -315,7 +315,7 @@ static int count_dirs(struct dnode **dn, int nfiles, int notsubdirs)
if (S_ISDIR(dn[i]->dstat.st_mode)
&& (notsubdirs
|| ((dn[i]->name[0] != '.')
|| (dn[i]->name[1]
|| (dn[i]->name[1]
&& ((dn[i]->name[1] != '.')
|| dn[i]->name[2])))))
dirs++;
@ -1055,7 +1055,7 @@ extern int ls_main(int argc, char **argv)
if ((all_fmt & STYLE_MASK) == STYLE_LONG && (all_fmt & LIST_ID_NUMERIC))
all_fmt &= ~LIST_ID_NAME; /* don't list names if numeric uid */
#endif
/* choose a display format */
if ((all_fmt & STYLE_MASK) == STYLE_AUTO)
#if STYLE_AUTO != 0

View File

@ -1,7 +1,7 @@
/*
* Copyright (C) 2003 Glenn L. McGrath
* Copyright (C) 2003 Erik Andersen
*
* Copyright (C) 2003-2004 Erik Andersen
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or

View File

@ -50,7 +50,7 @@ extern int mknod_main(int argc, char **argv)
dev = (bb_xgetularg10_bnd(argv[2], 0, 255) << 8)
+ bb_xgetularg10_bnd(argv[3], 0, 255);
}
if (argc == 2) {
name = *argv;
if (mknod(name, mode, dev) == 0) {

View File

@ -75,7 +75,7 @@ extern int mv_main(int argc, char **argv)
goto DO_MOVE;
}
}
do {
dest = concat_path_file(last, bb_get_last_path_component(*argv));
@ -84,7 +84,7 @@ extern int mv_main(int argc, char **argv)
}
DO_MOVE:
if (dest_exists && !(flags & OPT_FILEUTILS_FORCE) &&
((access(dest, W_OK) < 0 && isatty(0)) ||
(flags & OPT_FILEUTILS_INTERACTIVE))) {
@ -119,7 +119,7 @@ DO_MOVE:
bb_perror_msg("cannot remove `%s'", dest);
goto RET_1;
}
}
}
if ((copy_file(*argv, dest,
FILEUTILS_RECUR | FILEUTILS_PRESERVE_STATUS) >= 0) &&
(remove_file(*argv, FILEUTILS_RECUR | FILEUTILS_FORCE) >= 0)) {
@ -132,7 +132,7 @@ RET_1:
RET_0:
if (dest != last) {
free((void *) dest);
}
}
} while (*++argv != last);
return (status);

View File

@ -106,7 +106,7 @@ static int print_esc __P((char *escstart));
static int print_formatted __P((char *format, int argc, char **argv));
static long xstrtol __P((char *s));
static unsigned long xstrtoul __P((char *s));
static void print_direc __P( (char *start, size_t length,
static void print_direc __P( (char *start, size_t length,
int field_width, int precision, char *argument));
static void print_esc_char __P((int c));
static void print_esc_string __P((char *str));
@ -214,7 +214,7 @@ static int print_formatted(char *format, int argc, char **argv)
++f;
++direc_length;
}
/*
/*
if (!strchr ("diouxXfeEgGcs", *f))
fprintf(stderr, "%%%c: invalid directive", *f);
*/

View File

@ -66,7 +66,7 @@ extern int rmdir_main(int argc, char **argv)
}
break;
} while (1);
} while (*++argv);
return status;

View File

@ -118,7 +118,7 @@ int tail_main(int argc, char **argv)
/* Allow legacy syntax of an initial numeric option without -n. */
if (argc >=2 && ((argv[1][0] == '+') || ((argv[1][0] == '-')
/* && (isdigit)(argv[1][1]) */
&& (((unsigned int)(argv[1][1] - '0')) <= 9))))
&& (((unsigned int)(argv[1][1] - '0')) <= 9))))
{
optind = 2;
optarg = argv[1];

View File

@ -97,7 +97,7 @@ int tee_main(int argc, char **argv)
}
#endif
/* Now we need to check for i/o errors on stdin and the various
/* Now we need to check for i/o errors on stdin and the various
* output files. Since we know that the first entry in the output
* file table is stdout, we can save one "if ferror" test by
* setting the first entry to stdin and checking stdout error

View File

@ -2,7 +2,7 @@
/*
* test implementation for busybox
*
* Copyright (c) by a whole pile of folks:
* Copyright (c) by a whole pile of folks:
*
* test(1); version 7-like -- author Erik Baalbergen
* modified by Eric Gisin to be used as built-in.
@ -10,7 +10,7 @@
* (-x -c -b -p -u -g -k) plus Korn's -L -nt -ot -ef and new -S (socket).
* modified by J.T. Conklin for NetBSD.
* modified by Herbert Xu to be used as built-in in ash.
* modified by Erik Andersen <andersen@codepoet.org> to be used
* modified by Erik Andersen <andersen@codepoet.org> to be used
* in busybox.
*
* This program is free software; you can redistribute it and/or modify

View File

@ -2,7 +2,7 @@
/*
* Mini touch implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -4,7 +4,7 @@
*
* Copyright (c) Michiel Huisjes
*
* This version of tr is adapted from Minix tr and was modified
* This version of tr is adapted from Minix tr and was modified
* by Erik Andersen <andersen@codepoet.org> to be used in busybox.
*
* This program is free software; you can redistribute it and/or modify
@ -20,7 +20,7 @@
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*
* Original copyright notice is retained at the end of this file.
*/
@ -213,24 +213,24 @@ extern int tr_main(int argc, char **argv)
/*
* Copyright (c) 1987,1997, Prentice Hall
* All rights reserved.
*
*
* Redistribution and use of the MINIX operating system in source and
* binary forms, with or without modification, are permitted provided
* that the following conditions are met:
*
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
*
* Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
*
*
* Neither the name of Prentice Hall nor the names of the software
* authors or contributors may be used to endorse or promote
* products derived from this software without specific prior
* written permission.
*
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS, AUTHORS, AND
* CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

View File

@ -2,7 +2,7 @@
/*
* Mini true implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by

View File

@ -18,7 +18,7 @@
* Based on specification from
* http://www.opengroup.org/onlinepubs/007904975/utilities/uuencode.html
*
* Bugs: the spec doesnt mention anything about "`\n`\n" prior to the "end" line
* Bugs: the spec doesnt mention anything about "`\n`\n" prior to the "end" line
*/
@ -50,7 +50,7 @@ static int read_stduu(FILE *src_stream, FILE *dst_stream)
if (length > 60) {
bb_error_msg_and_die("Line too long");
}
line_ptr++;
/* Tolerate an overly long line to acomadate a possible exta '`' */
if (strlen(line_ptr) < length) {

View File

@ -26,7 +26,7 @@
/* Mar 16, 2003 Manuel Novoa III (mjn3@codepoet.org)
*
* Rewritten to fix a number of problems and do some size optimizations.
* Problems in the previous busybox implementation (besides bloat) included:
* Problems in the previous busybox implementation (besides bloat) included:
* 1) broken 'wc -c' optimization (read note below)
* 2) broken handling of '-' args
* 3) no checking of ferror on EOF returns
@ -110,33 +110,33 @@ int wc_main(int argc, char **argv)
char status = EXIT_SUCCESS;
char in_word;
char print_type;
print_type = bb_getopt_ulflags(argc, argv, wc_opts);
if (print_type == 0) {
print_type = (1 << WC_LINES) | (1 << WC_WORDS) | (1 << WC_CHARS);
}
argv += optind;
if (!*argv) {
*--argv = (char *) bb_msg_standard_input;
}
memset(totals, 0, sizeof(totals));
pcounts = counts;
do {
++num_files;
if (!(fp = bb_wfopen_input(*argv))) {
status = EXIT_FAILURE;
continue;
}
memset(counts, 0, sizeof(counts));
linepos = 0;
in_word = 0;
do {
++counts[WC_CHARS];
c = getc(fp);
@ -177,21 +177,21 @@ int wc_main(int argc, char **argv)
} else {
continue;
}
counts[WC_WORDS] += in_word;
in_word = 0;
if (c == EOF) {
break;
}
} while (1);
if (totals[WC_LENGTH] < counts[WC_LENGTH]) {
totals[WC_LENGTH] = counts[WC_LENGTH];
}
totals[WC_LENGTH] -= counts[WC_LENGTH];
bb_fclose_nonstdin(fp);
OUTPUT:
s = fmt_str + 1; /* Skip the leading space on 1st pass. */
u = 0;
@ -202,16 +202,16 @@ int wc_main(int argc, char **argv)
}
totals[u] += pcounts[u];
} while (++u < 4);
s += 8; /* Set the format to the empty string. */
if (*argv != bb_msg_standard_input) {
s -= 3; /* We have a name, so do %s conversion. */
}
bb_printf(s, *argv);
} while (*++argv);
/* If more than one file was processed, we want the totals. To save some
* space, we set the pcounts ptr to the totals array. This has the side
* effect of trashing the totals array after outputting it, but that's
@ -222,6 +222,6 @@ int wc_main(int argc, char **argv)
pcounts = totals;
goto OUTPUT;
}
bb_fflush_stdout_and_exit(status);
}

View File

@ -1,6 +1,6 @@
/* vi: set sw=4 ts=4: */
/*----------------------------------------------------------------------
* Mini who is used to display user name, login time,
* Mini who is used to display user name, login time,
* idle time and host name.
*
* Author: Da Chen <dchen@ayrnetworks.com>
@ -10,7 +10,7 @@
* as published by the Free Software Foundation:
* http://www.gnu.org/copyleft/gpl.html
*
* Copyright (c) 2002 AYR Networks, Inc.
* Copyright (c) 2002 AYR Networks, Inc.
*----------------------------------------------------------------------
*/
@ -30,21 +30,21 @@ extern int who_main(int argc, char **argv)
struct utmp *ut;
struct stat st;
int devlen, len;
time_t now, idle;
time_t now, idle;
if (argc > 1)
if (argc > 1)
bb_show_usage();
setutent();
devlen = sizeof("/dev/") - 1;
printf("USER TTY IDLE FROM HOST\n");
printf("USER TTY IDLE FROM HOST\n");
while ((ut = getutent()) != NULL) {
char name[40];
if (ut->ut_user[0] && ut->ut_type == USER_PROCESS) {
if (ut->ut_user[0] && ut->ut_type == USER_PROCESS) {
len = strlen(ut->ut_line);
if (ut->ut_line[0] == '/') {
if (ut->ut_line[0] == '/') {
strncpy(name, ut->ut_line, len);
name[len] = '\0';
strcpy(ut->ut_line, ut->ut_line + devlen);
@ -53,27 +53,27 @@ extern int who_main(int argc, char **argv)
strncpy(name+devlen, ut->ut_line, len);
name[devlen+len] = '\0';
}
printf("%-10s %-8s ", ut->ut_user, ut->ut_line);
if (stat(name, &st) == 0) {
now = time(NULL);
now = time(NULL);
idle = now - st.st_atime;
if (idle < 60)
printf("00:00m ");
else if (idle < (60 * 60))
else if (idle < (60 * 60))
printf("00:%02dm ", (int)(idle / 60));
else if (idle < (24 * 60 * 60))
else if (idle < (24 * 60 * 60))
printf("%02d:%02dm ", (int)(idle / (60 * 60)),
(int)(idle % (60 * 60)) / 60);
else if (idle < (24 * 60 * 60 * 365))
else if (idle < (24 * 60 * 60 * 365))
printf("%03ddays ", (int)(idle / (24 * 60 * 60)));
else
else
printf("%02dyears ", (int) (idle / (24 * 60 * 60 * 365)));
} else
printf("%-8s ", "?");
} else
printf("%-8s ", "?");
printf("%-12.12s %s\n", ctime(&(ut->ut_tv.tv_sec)) + 4, ut->ut_host);
}
}

20
debian/changelog vendored
View File

@ -100,7 +100,7 @@ busybox-cvs (0.60.99.cvs20030426-10) unstable; urgency=low
busybox-cvs (0.60.99.cvs20030426-9) unstable; urgency=low
* modutils/depmod.c
- fix base_dir for modules.dep
- fix base_dir for modules.dep
-- Bastian Blank <waldi@debian.org> Sat, 07 Jun 2003 14:52:54 +0200
@ -236,13 +236,13 @@ busybox-cvs (0.60.99.cvs20030114-1) unstable; urgency=low
busybox-cvs (0.60.99.cvs20030105-1) unstable; urgency=low
* Fix ip command build failure on ia64 (Closes: #172580
* Dont build with BSD partition table support in fdisk, fails on m68k
* Dont build with BSD partition table support in fdisk, fails on m68k
-- Glenn McGrath <bug1@home> Sun, 5 Jan 2003 12:48:05 +1100
busybox-cvs (0.60.99.cvs20030104-2) unstable; urgency=low
* floppy-retriever needs the cut command in the udeb
* floppy-retriever needs the cut command in the udeb
-- Glenn McGrath <bug1@debian.org> Sat, 4 Jan 2003 17:13:05 +1100
@ -380,7 +380,7 @@ busybox (1:0.51-4) unstable; urgency=low
busybox (1:0.51-3) unstable; urgency=low
* This is the "I am an idiot" release.
* Make cp and mv work again (closes: #97290)
* Make cp and mv work again (closes: #97290)
* Fix the version number.
-- Erik Andersen <andersee@debian.org> Sat, 12 May 2001 17:35:58 -0600
@ -401,13 +401,13 @@ busybox (0.51-1) unstable; urgency=low
for complete details)
* Force USE_SYSTEM_PWD_GRP=false, so busybox bypasses
the glibc NSS libraries. (closes: #93362)
* Fixed a bug in sed's address range handling (closes: #91758)
* Fixed a bug in sed's address range handling (closes: #91758)
* Removed irrelevant cruft from the bottem of debian/changelog
-- Erik Andersen <andersee@debian.org> Tue, 10 Apr 2001 14:07:29 -0600
busybox (0.50-2) unstable; urgency=low
* Enabled freeramdisk and pivot_root in the udeb (closes: #91336)
* Disabled lash (the busybox shell) in the udeb (closes: #91337)
* fixed a bug in syslog, a problem with rebooting when booted as
@ -417,7 +417,7 @@ busybox (0.50-2) unstable; urgency=low
busybox (0.50-2) unstable; urgency=low
* Enabled freeramdisk and pivot_root in the udeb (closes: #91336)
* Disabled lash (the busybox shell) in the udeb (closes: #91337)
* fixed a bug in syslog, a problem with rebooting when booted as
@ -446,7 +446,7 @@ busybox (0.49-1) unstable; urgency=low
busybox (0.48-1) unstable; urgency=low
* Lots more source updates and bug fixes. See changelog for details.
* Now includes .udeb support for the debian-installer. The .udeb
* Now includes .udeb support for the debian-installer. The .udeb
probably needs some more work, but this should be a good start.
-- Erik Andersen <andersee@debian.org> Wed, 13 Dec 2000 08:36:07 -0700
@ -465,11 +465,11 @@ busybox (0.46-1) unstable; urgency=low
busybox (0.45-1) unstable; urgency=low
* First attempt at packaging BusyBox as a .deb. This has been in
* First attempt at packaging BusyBox as a .deb. This has been in
in the Debian boot-floppies CVS tree forever. Hopefully, having it as a
standalone app will make life easier for me, the debian-installer team, and
everyone else as well...
* I have created a busybox-static that can be used as a rescue shell when you
* I have created a busybox-static that can be used as a rescue shell when you
hose your system. Just invoke "busybox sh" to fir up the shell. This has
every app provided by busybox staically linked in. There have been several
times in the past that I would have loved to have this sitting on my system

4
debian/control vendored
View File

@ -64,7 +64,7 @@ Description: Tiny utilities for the debian-installer
counterparts.
.
busybox-udeb is used by the debian-installer, so unless you are working
on the debian-installer, this package is not for you. Installing this
on the debian-installer, this package is not for you. Installing this
on your Debian system is a very, very bad idea. You have been warned.
Package: busybox-cvs-floppy-udeb
@ -83,6 +83,6 @@ Description: Tiny utilities for the debian-installer floppy images
counterparts.
.
busybox-udeb is used by the debian-installer, so unless you are working
on the debian-installer, this package is not for you. Installing this
on the debian-installer, this package is not for you. Installing this
on your Debian system is a very, very bad idea. You have been warned.

View File

@ -33,7 +33,7 @@ config CONFIG_RUN_PARTS
It is useful to set up a directory like cron.daily, where you need to
execute all the scripts in that directory.
In this implementation of run-parts some features (such as report mode)
In this implementation of run-parts some features (such as report mode)
are not implemented.
Unless you know that run-parts is used in some of your scripts

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -1,6 +1,6 @@
# Makefile for busybox
#
# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@ -40,7 +40,7 @@ extern int mktemp_main(int argc, char **argv)
}
else if (opt != 'q') {
bb_show_usage();
}
}
}
if (optind + 1 != argc) {

View File

@ -8,7 +8,7 @@
* Based on the Debian run-parts program, version 1.15
* Copyright (C) 1996 Jeff Noxon <jeff@router.patch.net>,
* Copyright (C) 1996-1999 Guy Maor <maor@debian.org>
*
*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -31,21 +31,21 @@
* attempt to write a program! :-) . */
/* This piece of code is heavily based on the original version of run-parts,
* taken from debian-utils. I've only removed the long options and a the
* taken from debian-utils. I've only removed the long options and a the
* report mode. As the original run-parts support only long options, I've
* broken compatibility because the BusyBox policy doesn't allow them.
* The supported options are:
* broken compatibility because the BusyBox policy doesn't allow them.
* The supported options are:
* -t test. Print the name of the files to be executed, without
* execute them.
* -a ARG argument. Pass ARG as an argument the program executed. It can
* -a ARG argument. Pass ARG as an argument the program executed. It can
* be repeated to pass multiple arguments.
* -u MASK umask. Set the umask of the program executed to MASK. */
/* TODO
/* TODO
* done - convert calls to error in perror... and remove error()
* done - convert malloc/realloc to their x... counterparts
* done - convert malloc/realloc to their x... counterparts
* done - remove catch_sigchld
* done - use bb's concat_path_file()
* done - use bb's concat_path_file()
* done - declare run_parts_main() as extern and any other function as static?
*/
@ -85,7 +85,7 @@ int run_parts_main(int argc, char **argv)
/* Set the umask of the programs executed */
case 'u':
/* Check and set the umask of the program executed. As stated in the original
* run-parts, the octal conversion in libc is not foolproof; it will take the
* run-parts, the octal conversion in libc is not foolproof; it will take the
* 8 and 9 digits under some circumstances. We'll just have to live with it.
*/
umask(bb_xgetlarg(optarg, 8, 0, 07777));

View File

@ -2,7 +2,7 @@
/*
* Which implementation for busybox
*
* Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
* Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@ -53,7 +53,7 @@ extern int which_main(int argc, char **argv)
count = 5;
}
while (argc-- > 0) {
while (argc-- > 0) {
char *buf;
char *path_n;
char found = 0;

View File

@ -26,7 +26,7 @@ nodes in /dev, a few configuration files in /etc, and a Linux kernel.
BusyBox is maintained by <a href=
"http://codepoet.org/andersen/erik/erik.html">Erik Andersen</a>, and
licensed under the
licensed under the
<a href= "http://www.gnu.org/copyleft/gpl.html">GNU GENERAL PUBLIC LICENSE</a>
<p>
@ -37,7 +37,7 @@ licensed under the
Please visit our sponsors and thank them for their
support! They have provided money for equipment and
bandwidth. Next time you need help with a project,
consider these fine companies!
consider these fine companies!
<ul>
@ -57,7 +57,7 @@ consider these fine companies!
</ul>
If you wish to be a sponsor, or if you have already contributed and would like
your name added here, email <a href= "mailto:andersen@codepoet.org">Erik</a>.
your name added here, email <a href= "mailto:andersen@codepoet.org">Erik</a>.
<!--#include file="footer.html" -->

View File

@ -213,7 +213,7 @@ gnudict begin
/PentE { stroke [] 0 setdash gsave
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
closepath stroke grestore } def
/CircE { stroke [] 0 setdash
/CircE { stroke [] 0 setdash
hpt 0 360 arc stroke } def
/Opaque { gsave closepath 1 setgray fill grestore 0 setgray closepath } def
/DiaW { stroke [] 0 setdash vpt add M
@ -233,7 +233,7 @@ gnudict begin
/PentW { stroke [] 0 setdash gsave
translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
Opaque stroke grestore } def
/CircW { stroke [] 0 setdash
/CircW { stroke [] 0 setdash
hpt 0 360 arc Opaque stroke } def
/BoxFill { gsave Rec 1 setgray fill grestore } def
end

View File

@ -1,6 +1,6 @@
The code and graphics on this website (and it's mirror sites, if any) are
Copyright (c) 1999-2003 by Erik Andersen. All rights reserved.
Copyright (c) 1999-2004 by Erik Andersen. All rights reserved.
Documents on this Web site including their graphical elements, design, and
layout are protected by trade dress and other laws and MAY BE COPIED OR

View File

@ -18,8 +18,8 @@ CVS modules by running the following command (all on one line):
cvs -z3 -d:pserver:anonymous@busybox.net:/var/cvs co -c </pre>
<p>
If you wish, you can then check out a local copy of any of the
available modules. The following is an example of how to grab
If you wish, you can then check out a local copy of any of the
available modules. The following is an example of how to grab
a copy of busybox and tinylogin:
<pre>
cvs -z3 -d:pserver:anonymous@busybox.net:/var/cvs co -P busybox tinylogin</pre>
@ -41,7 +41,7 @@ recommend you should use the same:
diff -ubBwpN
checkout -P</pre>
<p>
<p>
Once you've checked out a copy of the source tree, you can update your
source tree at any time so it is in sync with the latest and greatest by
running the command:

View File

@ -12,16 +12,16 @@ For the impatient, the following is probably about all you need to know:
<dl>
<dt><pre>cvs checkout -c</pre>
<dd>Will list the modules available for checkout
<dt><pre>cvs checkout &lt module name &gt</pre>
<dt><pre>cvs checkout &lt module name &gt</pre>
<dd>Will checkout the named module
<dt><pre>cvs co &lt module name &gt</pre>
<dt><pre>cvs co &lt module name &gt</pre>
<dd>Same thing
<dt><pre>cvs update</pre>
<dd>Updates your local archive so it is in sync with the repository
-- your local updates are left intact. Tries to merge upstream updates
<dd>Updates your local archive so it is in sync with the repository
-- your local updates are left intact. Tries to merge upstream updates
into your local updates. You will see the following tags when it is
updating your local repository: C means conflict, U means update,
updating your local repository: C means conflict, U means update,
P means patched, and M means modified.
<dt><pre>cvs up</pre>
<dd>Same thing

View File

@ -4,8 +4,8 @@
<h3>CVS Read/Write Access</h3>
If you want to be able to commit things to CVS, first contribute some
stuff to show you are serious. Then, very nicely ask
<a href="mailto:andersen@codepoet.org">Erik Andersen</a> if he will set you up with
stuff to show you are serious. Then, very nicely ask
<a href="mailto:andersen@codepoet.org">Erik Andersen</a> if he will set you up with
an account. To access CVS, you will want to add the following to set up your environment:
<pre>
$ export CVS_RSH=/usr/bin/ssh
@ -16,7 +16,7 @@ username...
<p>
To obtain commit access, you will need to demonstrate you are
serious by submitting a few good patches first. Then, you will need to
serious by submitting a few good patches first. Then, you will need to
select a user-name to use when committing stuff, and finally, you will
need to send me the username you have selected, an ssh key, and the email
address where you prefer email to be sent (I will forward any email sent
@ -24,8 +24,8 @@ to you, but not store it).
<p>
Note that if you would prefer to keep your communications with me
private, you can encrypt your email using my
<a href="http://www.codepoet.org/~andersen/erik/gpg.asc">public key</a>.
private, you can encrypt your email using my
<a href="http://www.codepoet.org/~andersen/erik/gpg.asc">public key</a>.
<!--#include file="footer.html" -->

View File

@ -2,7 +2,7 @@
<h3>Documentation</h3>
Current documentation for BusyBox includes:
Current documentation for BusyBox includes:
<ul>
<li><a href=

View File

@ -8,7 +8,7 @@ Source for the latest release can always be
downloaded from <a href="downloads">http://www.busybox.net/downloads</a>.
<p>
You can also obtain <a href= "downloads/snapshots/">Daily Snapshots</a> of
You can also obtain <a href= "downloads/snapshots/">Daily Snapshots</a> of
the latest stable, and the latest development CVS source trees.
<p>

View File

@ -11,7 +11,7 @@
<font face="arial, helvetica, sans-serif" size="-1">
<a HREF="/copyright.txt">Copyright &copy; 1999-2003 Erik Andersen</a>
<br>
Mail all comments, insults, suggestions and bribes to
Mail all comments, insults, suggestions and bribes to
<br>
Erik Andersen <A HREF="mailto:andersen@codepoet.org">andersen@codepoet.org</A><BR>
</font>

Some files were not shown because too many files have changed in this diff Show More