Remove trailing whitespace. Update copyright to include 2004.
authorandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Mon, 15 Mar 2004 08:29:22 +0000 (08:29 +0000)
committerandersen <andersen@69ca8d6d-28ef-0310-b511-8ec308f3f277>
Mon, 15 Mar 2004 08:29:22 +0000 (08:29 +0000)
git-svn-id: svn://busybox.net/trunk/busybox@8630 69ca8d6d-28ef-0310-b511-8ec308f3f277

374 files changed:
AUTHORS
Changelog
INSTALL
Makefile
README
Rules.mak
TODO
applets/Makefile
applets/Makefile.in
applets/applets.c
applets/busybox.c
archival/Config.in
archival/Makefile
archival/Makefile.in
archival/ar.c
archival/cpio.c
archival/dpkg.c
archival/dpkg_deb.c
archival/gunzip.c
archival/gzip.c
archival/libunarchive/Makefile
archival/libunarchive/Makefile.in
archival/libunarchive/data_extract_all.c
archival/libunarchive/decompress_bunzip2.c
archival/libunarchive/decompress_uncompress.c
archival/libunarchive/decompress_unzip.c
archival/libunarchive/filter_accept_list_reassign.c
archival/libunarchive/get_header_ar.c
archival/libunarchive/get_header_cpio.c
archival/libunarchive/get_header_tar.c
archival/libunarchive/uncompress.c
archival/libunarchive/unzip.c
archival/rpm.c
archival/rpm2cpio.c
archival/tar.c
console-tools/Makefile
console-tools/Makefile.in
console-tools/chvt.c
console-tools/clear.c
console-tools/deallocvt.c
console-tools/dumpkmap.c
console-tools/loadkmap.c
console-tools/openvt.c
console-tools/reset.c
console-tools/setkeycodes.c
coreutils/Config.in
coreutils/Makefile
coreutils/Makefile.in
coreutils/basename.c
coreutils/cal.c
coreutils/chgrp.c
coreutils/chmod.c
coreutils/chown.c
coreutils/chroot.c
coreutils/cut.c
coreutils/date.c
coreutils/df.c
coreutils/dirname.c
coreutils/dos2unix.c
coreutils/du.c
coreutils/echo.c
coreutils/expr.c
coreutils/false.c
coreutils/id.c
coreutils/install.c
coreutils/libcoreutils/Makefile
coreutils/libcoreutils/Makefile.in
coreutils/ln.c
coreutils/ls.c
coreutils/md5_sha1_sum.c
coreutils/mknod.c
coreutils/mv.c
coreutils/printf.c
coreutils/rmdir.c
coreutils/tail.c
coreutils/tee.c
coreutils/test.c
coreutils/touch.c
coreutils/tr.c
coreutils/true.c
coreutils/uudecode.c
coreutils/wc.c
coreutils/who.c
debian/changelog
debian/control
debianutils/Config.in
debianutils/Makefile
debianutils/Makefile.in
debianutils/mktemp.c
debianutils/run_parts.c
debianutils/which.c
docs/busybox.net/about.html
docs/busybox.net/busybox-growth.ps
docs/busybox.net/copyright.txt
docs/busybox.net/cvs_anon.html
docs/busybox.net/cvs_howto.html
docs/busybox.net/cvs_write.html
docs/busybox.net/docs.html
docs/busybox.net/download.html
docs/busybox.net/footer.html
docs/busybox.net/header.html
docs/busybox.net/images/busybox.png
docs/busybox.net/images/ltbutton2.png
docs/busybox.net/license.html
docs/busybox.net/lists.html
docs/busybox.net/news.html
docs/busybox.net/oldnews.html
docs/busybox.net/screenshot.html
docs/busybox.sgml
docs/busybox_header.pod
docs/contributing.txt
docs/new-applet-HOWTO.txt
docs/style-guide.txt
editors/Config.in
editors/Makefile
editors/Makefile.in
editors/awk.c
editors/patch.c
editors/sed.c
editors/vi.c
examples/bootfloppy/bootfloppy.txt
examples/bootfloppy/etc/profile
examples/bootfloppy/mkrootfs.sh
examples/bootfloppy/syslinux.cfg
examples/busybox.spec
examples/depmod.pl
examples/inittab
examples/udhcp/udhcpd.conf
examples/undeb
examples/unrpm
findutils/Config.in
findutils/Makefile
findutils/Makefile.in
findutils/find.c
findutils/grep.c
findutils/xargs.c
include/busybox.h
include/libbb.h
include/unarchive.h
init/Makefile
init/Makefile.in
init/halt.c
init/init.c
init/init_shared.c
init/poweroff.c
init/reboot.c
libbb/Makefile
libbb/README
libbb/bb_asprintf.c
libbb/chomp.c
libbb/concat_path_file.c
libbb/copyfd.c
libbb/correct_password.c
libbb/device_open.c
libbb/dump.c
libbb/error_msg.c
libbb/error_msg_and_die.c
libbb/fgets_str.c
libbb/find_mount_point.c
libbb/find_pid_by_name.c
libbb/find_root_device.c
libbb/full_read.c
libbb/full_write.c
libbb/get_console.c
libbb/get_line_from_file.c
libbb/get_terminal_width_height.c
libbb/hash_fd.c
libbb/herror_msg.c
libbb/herror_msg_and_die.c
libbb/human_readable.c
libbb/inode_hash.c
libbb/interface.c
libbb/isdirectory.c
libbb/kernel_version.c
libbb/loop.c
libbb/messages.c
libbb/module_syscalls.c
libbb/mtab.c
libbb/mtab_file.c
libbb/my_getgrgid.c
libbb/my_getgrnam.c
libbb/my_getpwnam.c
libbb/my_getpwnamegid.c
libbb/my_getpwuid.c
libbb/parse_mode.c
libbb/parse_number.c
libbb/perror_msg.c
libbb/perror_msg_and_die.c
libbb/print_file.c
libbb/printf.c
libbb/process_escape_sequence.c
libbb/pw_encrypt.c
libbb/read_package_field.c
libbb/recursive_action.c
libbb/run_parts.c
libbb/run_shell.c
libbb/safe_read.c
libbb/safe_strncpy.c
libbb/safe_write.c
libbb/setup_environment.c
libbb/syscalls.c
libbb/syslog_msg_with_name.c
libbb/trim.c
libbb/u_signal_names.c
libbb/vdprintf.c
libbb/verror_msg.c
libbb/vfork_daemon_rexec.c
libbb/vherror_msg.c
libbb/vperror_msg.c
libbb/wfopen.c
libbb/xconnect.c
libbb/xfuncs.c
libbb/xgetlarg.c
libbb/xgetularg.c
libbb/xreadlink.c
libbb/xregcomp.c
libpwdgrp/Makefile
libpwdgrp/Makefile.in
libpwdgrp/__getgrent.c
libpwdgrp/__getpwent.c
libpwdgrp/fgetgrent.c
libpwdgrp/fgetpwent.c
libpwdgrp/getgrgid.c
libpwdgrp/getgrnam.c
libpwdgrp/getpw.c
libpwdgrp/getpwnam.c
libpwdgrp/getpwuid.c
libpwdgrp/grent.c
libpwdgrp/initgroups.c
libpwdgrp/putpwent.c
libpwdgrp/pwent.c
libpwdgrp/setgroups.c
libpwdgrp/shadow.c
loginutils/Makefile
loginutils/Makefile.in
loginutils/addgroup.c
loginutils/adduser.c
loginutils/getty.c
loginutils/login.c
loginutils/su.c
miscutils/Config.in
miscutils/Makefile
miscutils/Makefile.in
miscutils/adjtimex.c
miscutils/dc.c
miscutils/hdparm.c
miscutils/last.c
miscutils/makedevs.c
miscutils/mt.c
miscutils/rx.c
miscutils/strings.c
miscutils/time.c
miscutils/watchdog.c
modutils/Config.in
modutils/Makefile
modutils/Makefile.in
modutils/insmod.c
modutils/lsmod.c
modutils/rmmod.c
networking/Config.in
networking/Makefile
networking/Makefile.in
networking/ftpgetput.c
networking/httpd.c
networking/ifconfig.c
networking/ifupdown.c
networking/libiproute/Makefile
networking/libiproute/Makefile.in
networking/libiproute/ip_parse_common_args.c
networking/libiproute/ipaddress.c
networking/libiproute/iplink.c
networking/libiproute/iproute.c
networking/libiproute/iptunnel.c
networking/libiproute/libnetlink.c
networking/libiproute/linux/pkt_sched.h
networking/libiproute/ll_proto.c
networking/libiproute/utils.h
networking/nc.c
networking/netstat.c
networking/nslookup.c
networking/ping.c
networking/ping6.c
networking/route.c
networking/telnet.c
networking/telnetd.c
networking/tftp.c
networking/traceroute.c
networking/udhcp/AUTHORS
networking/udhcp/ChangeLog
networking/udhcp/Makefile
networking/udhcp/Makefile.in
networking/udhcp/README
networking/udhcp/README.udhcpc
networking/udhcp/README.udhcpd
networking/udhcp/arpping.c
networking/udhcp/arpping.h
networking/udhcp/clientpacket.c
networking/udhcp/common.c
networking/udhcp/common.h
networking/udhcp/dhcpc.c
networking/udhcp/dhcpd.c
networking/udhcp/dhcpd.h
networking/udhcp/dumpleases.c
networking/udhcp/files.c
networking/udhcp/frontend.c
networking/udhcp/leases.c
networking/udhcp/options.c
networking/udhcp/packet.c
networking/udhcp/packet.h
networking/udhcp/script.c
networking/udhcp/serverpacket.c
networking/udhcp/socket.c
networking/vconfig.c
networking/wget.c
patches/eject.diff
patches/tftp_timeout_multicast.diff
patches/udhcp_additional_items.diff
patches/udhcp_config_paths.diff
patches/udhcpd_foreground.diff
procps/Makefile
procps/Makefile.in
procps/free.c
procps/kill.c
procps/pidof.c
procps/ps.c
procps/renice.c
procps/sysctl.c
procps/top.c
procps/uptime.c
scripts/config/Kconfig-language.txt
scripts/config/Makefile
scripts/config/checklist.c
scripts/config/dialog.h
scripts/config/lex.zconf.c_shipped
scripts/config/mconf.c
scripts/config/menu.c
scripts/config/menubox.c
scripts/config/util.c
scripts/config/zconf.tab.c_shipped
scripts/mkdep.c
scripts/split-include.c
shell/Config.in
shell/Makefile
shell/Makefile.in
shell/ash.c
shell/hush.c
shell/lash.c
shell/msh.c
sysdeps/linux/Config.in
sysklogd/Config.in
sysklogd/Makefile
sysklogd/Makefile.in
sysklogd/klogd.c
sysklogd/logger.c
sysklogd/logread.c
sysklogd/syslogd.c
tests/multibuild.pl
tests/tester.sh
util-linux/Config.in
util-linux/Makefile
util-linux/Makefile.in
util-linux/dmesg.c
util-linux/fbset.c
util-linux/fdisk.c
util-linux/freeramdisk.c
util-linux/fsck_minix.c
util-linux/hwclock.c
util-linux/mkfs_minix.c
util-linux/more.c
util-linux/mount.c
util-linux/nfsmount.c
util-linux/pivot_root.c
util-linux/swaponoff.c
util-linux/umount.c

diff --git a/AUTHORS b/AUTHORS
index a6f81ab..c73b47a 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -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>
index ca1dcf3..4d22f5b 100644 (file)
--- a/Changelog
+++ b/Changelog
 ---------------------
-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
 
diff --git a/INSTALL b/INSTALL
index a137da2..c9cdf8e 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -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'
index fc8ea56..6ebab1f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -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 {} \;
 
diff --git a/README b/README
index e56cb5a..14cc845 100644 (file)
--- a/README
+++ b/README
@@ -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>
 
index 7b66426..5e0a5e6 100644 (file)
--- a/Rules.mak
+++ b/Rules.mak
@@ -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
diff --git a/TODO b/TODO
index 35bc11a..7a8fa4d 100644 (file)
--- a/TODO
+++ b/TODO
@@ -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
index f4ebb14..5f91674 100644 (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
index cb6c647..79582e0 100644 (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
index 9dc69f3..7d8adfb 100644 (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
index dfcf400..dbb5e17 100644 (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) {
index daf3cf2..db358db 100644 (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.
 
index 3362fea..1cbe7ee 100644 (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
index 3247ad8..1673662 100644 (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
index 890e81f..ddf3fda 100644 (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
index 8f85779..aff6a55 100644 (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) {
index 2ebbbdf..e192b4a 100644 (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] */
index da94b39..5aa9881 100644 (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");;
index 367e047..dec53f6 100644 (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);
index 2be5603..1708ac1 100644 (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
index 272ca24..9a20ea2 100644 (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
index 09b0571..c0e12a6 100644 (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
index 4cff243..a9a3a93 100644 (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 */
index 3e6138c..af16533 100644 (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 */
index 65418a7..ddf293f 100644 (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)
  */
 
index 29929c2..a436db1 100644 (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;
 }
index 1e9da0f..d043654 100644 (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)
 {
index 25eafe0..86e0bc0 100644 (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;
index 25fdc06..e8a68f1 100644 (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;
index ad58061..c6ebdae 100644 (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;
 
index 65418a7..ddf293f 100644 (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)
  */
 
index 29929c2..a436db1 100644 (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;
 }
index eb2c043..30cdc93 100644 (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);
index d0041a8..7b50595 100644 (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");
index cbd0694..2310e80 100644 (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);
index d54c778..2ee51a5 100644 (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
index 032b194..1d756c7 100644 (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
index 8ea062c..3398892 100644 (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
index 45976e1..e43ed0e 100644 (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
index 363ecdf..08a9d21 100644 (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
index 19ba77d..6085a44 100644 (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);
+                                       }
+
                        }
                }
        }
index 5b2f31a..849d747 100644 (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;
index b0db33b..5f24457 100644 (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 */
 
index 3f9ae98..9d38e7a 100644 (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
index 0a5366b..169d0bb 100644 (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) {
index 900908a..5c0180a 100644 (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"
index a5cdf62..b42689a 100644 (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
index 6c25476..a5343c9 100644 (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
index 7fcdb83..7b8b7b6 100644 (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
index 7861562..cd7be0d 100644 (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;
index 93e4938..8cfb542 100644 (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;
                }
index 390cc6d..0cb8886 100644 (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'
index 07d673f..638745f 100644 (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;
                }
index eeed013..6225702 100644 (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
index 34ec369..d9f8161 100644 (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)
index a6b595e..9c76329 100644 (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
index 9c0d13f..9d53f2b 100644 (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);
index d0c42b6..5136e49 100644 (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
index c28e6a8..a21ed5b 100644 (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;
        }
index df75a69..bfa4403 100644 (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
index b600a1f..26a6fbf 100644 (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
index 77d603b..e581637 100644 (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.
  *
index a07b99d..5cf2384 100644 (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
index 971e7cd..602b26e 100644 (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))
index 82773b8..305e02b 100644 (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);
 }
index b3a4e79..11867c6 100644 (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
index a7481d4..d0e8b3a 100644 (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
index 7c282b0..885ba61 100644 (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;
index 2605ab1..f7fa9a1 100644 (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
index 83f6da1..64e0693 100644 (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
index d5e9e17..7b2467b 100644 (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) {
index c28d050..4f08ded 100644 (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);
index 76f5968..053b01e 100644 (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);
                         */
index 3f60371..a10e5bb 100644 (file)
@@ -66,7 +66,7 @@ extern int rmdir_main(int argc, char **argv)
                        }
                        break;
                } while (1);
-               
+
        } while (*++argv);
 
        return status;
index d588ccd..b18064a 100644 (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];
index 73c2f8e..bb28966 100644 (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
index 2ad326e..419da51 100644 (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
index 3d780e1..645fb21 100644 (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
index 958fc80..1325245 100644 (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
index d19e749..3e7eb01 100644 (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
index 1734ed4..96da7ca 100644 (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) {
index 7799015..0eb795c 100644 (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);
 }
index 1bf5520..9561db1 100644 (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);
         }
     }
index 22d3ccb..d9f82e3 100644 (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
index 2324080..391a02d 100644 (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.
 
index 399ccae..7cf7cad 100644 (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
index 13181ea..0282b83 100644 (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
index 4653017..dabef27 100644 (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
index ecc985f..9fdf79b 100644 (file)
@@ -40,7 +40,7 @@ extern int mktemp_main(int argc, char **argv)
                }
                else if (opt != 'q') {
                        bb_show_usage();
-               } 
+               }
        }
 
        if (optind + 1 != argc) {
index 53d33ce..6205595 100644 (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
  * 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));
index ccfd163..999dded 100644 (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;
index 9242e75..c086263 100644 (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" -->
index 123f381..2379def 100644 (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
index a2b8032..528338d 100644 (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
index 896a386..f823d05 100644 (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:
index cff3a35..837d6cd 100644 (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
index f7c642f..b27338d 100644 (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" -->
 
index 330b716..fc9ac6d 100644 (file)
@@ -2,7 +2,7 @@
 
 
 <h3>Documentation</h3>
-Current documentation for BusyBox includes: 
+Current documentation for BusyBox includes:
 
 <ul>
   <li><a href=
index d8a3890..a6a86ac 100644 (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>
index 3ca0e70..9756f5d 100644 (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>
index 809a7c9..33638f3 100644 (file)
@@ -18,7 +18,7 @@
   </head>
 
   <body>
-    <basefont face="lucida, helvetica, arial" size="3"> 
+    <basefont face="lucida, helvetica, arial" size="3">
 
 
 
@@ -42,7 +42,7 @@
 
 <tr>
 
-<td valign="TOP"> 
+<td valign="TOP">
     <br><a href="/about.html">About</a>
     <br><a href="/screenshot.html">Screenshot</a>
     <br><a href="/lists.html">Mailing Lists</a>
@@ -67,7 +67,7 @@
     <br><a href="http://lwn.net/">Linux Weekly News</a>
     <br><a href="http://www.tldp.org/HOWTO">Linux HOWTOs</a>
 
-<!-- 
+<!--
     <a href="http://validator.w3.org/check/referer"><img
      src="/images/vh40.gif" height=31 width=88
           align=left border=0 alt="Valid HTML 4.0!"></a>
index 5c4e82a..b1eb92f 100644 (file)
Binary files a/docs/busybox.net/images/busybox.png and b/docs/busybox.net/images/busybox.png differ
index 556f72a..9bad949 100644 (file)
Binary files a/docs/busybox.net/images/ltbutton2.png and b/docs/busybox.net/images/ltbutton2.png differ
index ff1ba61..2cbf78b 100644 (file)
@@ -18,11 +18,11 @@ is generally just abbreviated simply as the GPL license, or
 just the GPL.  <a href="/products.html">Anyone thinking of shipping
 BusyBox as part of a product</a> should be familiar with the
 licensing terms under which they are allowed to use and
-distribute BusyBox.  You are advised to take a look over the 
+distribute BusyBox.  You are advised to take a look over the
 
 <ul>
-<li><a href="http://www.gnu.org/licenses/gpl.html">full text of 
-the GNU General Public License</a>, and 
+<li><a href="http://www.gnu.org/licenses/gpl.html">full text of
+the GNU General Public License</a>, and
 <li><a href="http://www.gnu.org/licenses/gpl-faq.html">
 Frequently Asked Questions about the GNU GPL</a>
 </ul>
@@ -59,15 +59,15 @@ somewhere.
 
 <p>
 
-<b>A written offer</b> generally means that somewhere in the 
-docs for your product, you write something like 
+<b>A written offer</b> generally means that somewhere in the
+docs for your product, you write something like
 
 <blockquote>
 The GPL source code contained in this product is available as a
 free download from http://blah.blah.blah/
 </blockquote>
 Or you can offer source by writing
-somewhere in the docs for your product something like 
+somewhere in the docs for your product something like
 <blockquote>
 If you would like a copy of the GPL source code in this product
 on a CD, please send $9.99 to &lt;address&gt; for the costs of
@@ -85,7 +85,7 @@ firmware updates of their right to obtain source.
 Additionally, some people have the mistaken understanding that if
 they use unmodified GPL'd source code, they do not need to
 distribute anything.  This belief is not correct, and is not
-supported by the 
+supported by the
 <a href="http://www.gnu.org/licenses/gpl.html">text of GPL</a>.
 Please do re-read it, and you
 will find there is no such provision.  If you distribute any GPL'd
index e44e7ed..6e7d890 100644 (file)
@@ -5,14 +5,14 @@
 
 <h3>Mailing List Information</h3>
 BusyBox has a <a href="/lists/busybox/">mailing list</a> for discussion and
-development.  You can subscribe by visiting 
-<a href="http://codepoet.org/mailman/listinfo/busybox">this page</a>. 
+development.  You can subscribe by visiting
+<a href="http://codepoet.org/mailman/listinfo/busybox">this page</a>.
 
 <p>
 There is also a mailing list for <a href="/lists/busybox-cvs/">active developers</a>
 wishing to read the complete diff of each and every change to busybox -- not for the
-faint of heart.  Active developers can subscribe by visiting 
-<a href="http://codepoet.org/mailman/listinfo/busybox-cvs">this page</a>. 
+faint of heart.  Active developers can subscribe by visiting
+<a href="http://codepoet.org/mailman/listinfo/busybox-cvs">this page</a>.
 
 <p>
 
index 3af3dca..9d06eb5 100644 (file)
 
     <p>
 
-    The <a href="downloads/Changelog">changelog</a> has all 
-    the details.  And as usual you can 
+    The <a href="downloads/Changelog">changelog</a> has all
+    the details.  And as usual you can
     <a href="downloads">download busybox here</a>.
 
     <p>Have Fun!
 
 
     <p>
-    <li><b>Old News</b><p> 
+    <li><b>Old News</b><p>
     <a href="/oldnews.html">Click here to read older news</a>
 
 
index a13bf77..fa7566c 100644 (file)
@@ -3,7 +3,7 @@
 
 <ul>
 
-  <li><b>10 December 2003 -- BusyBox 1.0.0-pre4 released</b><p> 
+  <li><b>10 December 2003 -- BusyBox 1.0.0-pre4 released</b><p>
 
     Here goes the fourth pre-release for the new BusyBox stable
     series.  This release includes major rework to sed, lots of
@@ -13,7 +13,7 @@
     common applet, the dpkg applets has been cleaned up, and tons
     of random bugs have been fixed.  Thanks everyone for all the
     testing, bug reports, and patches!  Once again, a big
-    thank-you goes to Glenn McGrath (bug1) for stepping in and 
+    thank-you goes to Glenn McGrath (bug1) for stepping in and
     helping get patches merged!
 
     <p>
@@ -26,8 +26,8 @@
 
     <p>
 
-    The <a href="downloads/Changelog">changelog</a> has all 
-    the details.  And as usual you can 
+    The <a href="downloads/Changelog">changelog</a> has all
+    the details.  And as usual you can
     <a href="downloads">download busybox here</a>.
 
     <p>Have Fun!
@@ -35,7 +35,7 @@
 
 
   <p>
-  <li><b>12 Sept 2003 -- BusyBox 1.0.0-pre3 released</b><p> 
+  <li><b>12 Sept 2003 -- BusyBox 1.0.0-pre3 released</b><p>
 
     Here goes the third pre-release for the new BusyBox stable
     series.  The last prerelease has held up quite well under
@@ -44,7 +44,7 @@
     the testing, bug reports, and patches!
 
     <p>
-    
+
     If you have submitted a patch or a bug report to the busybox
     mailing list and no one has emailed you explaining why your
     patch was rejected, it is safe to say that your patch has
     <p>
 
     I had hoped this release would be out a month ago.  And of
-    course, it wasn't since Erik became busy getting a release of 
-    <a href="http://www.uclibc.org/">uClibc</a> 
+    course, it wasn't since Erik became busy getting a release of
+    <a href="http://www.uclibc.org/">uClibc</a>
     out the door.  Many thanks to Glenn McGrath (bug1) for
     stepping in and helping get a bunch of patches merged!  I am
     not even going to state a date for releasing BusyBox 1.0.0
     -pre4 (or the final 1.0.0).  We're aiming for late September...
     But if this release proves as to be exceptionally stable (or
     exceptionally unstable!), the next release may be very soon
-    indeed.  
+    indeed.
 
     <p>
 
-    The <a href="downloads/Changelog">changelog</a> has all 
-    the details.  And as usual you can 
+    The <a href="downloads/Changelog">changelog</a> has all
+    the details.  And as usual you can
     <a href="downloads">download busybox here</a>.
 
     <p>Have Fun!
 
 
     <p>
-    <li><b>30 July 2003 -- BusyBox 1.0.0-pre2 released</b><p> 
+    <li><b>30 July 2003 -- BusyBox 1.0.0-pre2 released</b><p>
 
     Here goes another pre release for the new BusyBox stable
     series.  The last prerelease (pre1) was given quite a lot of
     then...
     <p>
 
-    The <a href="downloads/Changelog">changelog</a> has all 
+    The <a href="downloads/Changelog">changelog</a> has all
     the details.  As usual you can <a href="downloads">download busybox here</a>.
 
     <p>Have Fun!
     <p>
 
     <p>
-  <li><b>15 July 2003 -- BusyBox 1.0.0-pre1 released</b><p> 
+  <li><b>15 July 2003 -- BusyBox 1.0.0-pre1 released</b><p>
 
     The busybox development series has been under construction for
     nearly two years now.  Which is just entirely too long...  So
     up) the final BusyBox 1.0.0 release should be ready by the end
     of July.
     <p>
-    
+
     If you have submitted patches, and they are not in this release
     and I have not emailed you explaining why your patch was
     rejected, it is safe to say that I have lost your patch.  That
     <p>
 
     As usual you can <a href="downloads">download busybox here</a>.
-    You don't really need to bother with the 
+    You don't really need to bother with the
     <a href="downloads/Changelog">changelog</a>, as the changes
     vs the stable version are way too extensive to easily enumerate.
     But you can take a look if you really want too.
 
 
   <p>
-  <li><b>26 October 2002 -- BusyBox 0.60.5 released</b><p> 
+  <li><b>26 October 2002 -- BusyBox 0.60.5 released</b><p>
 
     I am very pleased to announce that the BusyBox 0.60.5 (stable)
     is now available for download.  This is a bugfix release for
     0.60.x series.  Well, it turns out I'm a liar.  But this time I
     mean it (just like last time ;-).  This will be the last
     release for the 0.60.x series --  all further development work
-    will be done for the development busybox tree.  Expect the development 
+    will be done for the development busybox tree.  Expect the development
     version to have its first real release very very soon now...
 
     <p>
     <p>
 
   <p>
-  <li><b>18 September 2002 -- BusyBox 0.60.4 released</b><p> 
+  <li><b>18 September 2002 -- BusyBox 0.60.4 released</b><p>
 
     I am very pleased to announce that the BusyBox 0.60.4
-    (stable) is now available for download.  This is primarily 
+    (stable) is now available for download.  This is primarily
     a bugfix release for the stable series to address all
     the problems that have turned up since the last
     release.  This will be the last release for the 0.60.x series.
-    I mean it this time --  all further development work will be done 
+    I mean it this time --  all further development work will be done
     on the development busybox tree, which is quite solid now and
     should soon be getting its first real release.
 
 
 
   <p>
-  <li><b>27 April 2002 -- BusyBox 0.60.3 released</b><p> 
+  <li><b>27 April 2002 -- BusyBox 0.60.3 released</b><p>
 
     I am very pleased to announce that the BusyBox 0.60.3 (stable) is
     now available for download.  This is primarily a bugfix release
-    for the stable series.  A number of problems have turned up since 
+    for the stable series.  A number of problems have turned up since
     the last release, and this should address most of those problems.
-    This should be the last release for the 0.60.x series.  The 
+    This should be the last release for the 0.60.x series.  The
     development busybox tree has been progressing nicely, and will
     hopefully be ready to become the next stable release.
 
 
 
   <p>
-  <li><b>6 March 2002 -- busybox.net now has mirrors!</b><p> 
+  <li><b>6 March 2002 -- busybox.net now has mirrors!</b><p>
 
     Busybox.net is now much more available, thanks to
     the fine folks at <a href= "http://i-netinnovations.com/">http://i-netinnovations.com/</a>
     who are providing hosting for busybox.net and
     uclibc.org.  In addition, we now have two mirrors:
     <a href= "http://busybox.linuxmagic.com/">http://busybox.linuxmagic.com/</a>
-    in Canada and 
+    in Canada and
     <a href= "http://busybox.csservers.de/">http://busybox.csservers.de/</a>
     in Germany.  I hope this makes things much more
     accessible for everyone!
 
 
 <li>
-<b>3 January 2002 -- Welcome to busybox.net!</b> 
+<b>3 January 2002 -- Welcome to busybox.net!</b>
 
 <p>Thanks to the generosity of a number of busybox
 users, we have been able to purchase busybox.net
@@ -285,7 +285,7 @@ should be completely eliminated. Hopefully, too,
 some of you will volunteer to set up some mirror
 sites, to help to distribute the load a bit.</p>
 
-<p><!-- 
+<p><!--
     <center>
     Click here to help support busybox.net!
     <form action="https://www.paypal.com/cgi-bin/webscr" method="post">
@@ -316,7 +316,7 @@ everyone that has contributed!<br>
 </li>
 
 <li>
-<b>20 November 2001 -- BusyBox 0.60.2 released</b> 
+<b>20 November 2001 -- BusyBox 0.60.2 released</b>
 
 <p>We am very pleased to announce that the BusyBox
 0.60.2 (stable) is now released to the world. This
@@ -369,19 +369,19 @@ will not part with it...  I will then need to pay the registry fee
 for a couple of years and start paying for bandwidth, so this will
 initially cost about $300.  I would like to host busybox.net on my
 home machine (codepoet.org) so I have full control over the system,
-but to do that would require that I increase the level of bandwidth 
+but to do that would require that I increase the level of bandwidth
 I am paying for.  Did you know that so far this month, there
 have been over 1.4 Gigabytes of busybox ftp downloads?  I don't
 even <em>know</em> how much CVS bandwidth it requires.  For the
 time being, Lineo has continued to graciously provide this
-bandwidth, despite the fact that I no longer work for them.  If I 
-start running this all on my home machine, paying for the needed bandwidth 
+bandwidth, despite the fact that I no longer work for them.  If I
+start running this all on my home machine, paying for the needed bandwidth
 will start costing some money.
 <p>
 
 I was going to pay it all myself, but my wife didn't like that
 idea at all (big surprise).   It turns out &lt;insert argument
-where she wins and I don't&gt; she has better ideas 
+where she wins and I don't&gt; she has better ideas
 about what we should spend our money on that don't involve
 busybox.  She suggested I should ask for contributions on the
 mailing list and web page.  So...
@@ -390,8 +390,8 @@ mailing list and web page.  So...
 I am hoping that if everyone could contribute a bit, we could pick
 up the busybox.net domain name and cover the bandwidth costs.  I
 know that busybox is being used by a lot of companies as well as
-individuals -- hopefully people and companies that are willing to 
-contribute back a bit.  So if everyone could please help out, that 
+individuals -- hopefully people and companies that are willing to
+contribute back a bit.  So if everyone could please help out, that
 would be wonderful!
 <p>
 
@@ -406,9 +406,9 @@ would be wonderful!
      new features, no new applets.  So without further ado,
      here it is.  Come and get it.
      <p>
-     The 
+     The
      <a href="downloads/Changelog">changelog</a> has all
-     the details.  As usual BusyBox 0.60.1 can be downloaded from 
+     the details.  As usual BusyBox 0.60.1 can be downloaded from
      <a href="downloads">http://busybox.net/downloads</a>.
      <p>Have Fun!
      <p>
@@ -425,23 +425,23 @@ would be wonderful!
      stable bug-free(tm) release out seems to be in order.   This releases fixes
      a memory leak in syslogd, a number of bugs in the ash and msh shells, and
      cleans up a number of things.
-     
+
      <p>
 
-     Those wanting an easy way to test the 0.60.0 release with uClibc can 
+     Those wanting an easy way to test the 0.60.0 release with uClibc can
      use <a href="http://user-mode-linux.sourceforge.net/">User-Mode Linux</a>
-     to give it a try by downloading and compiling 
+     to give it a try by downloading and compiling
      <a href="ftp://busybox.net/buildroot.tar.gz">buildroot.tar.gz</a>.
      You don't have to be root or reboot your machine to run test this way.
      Preconfigured User-Mode Linux kernel source is also on busybox.net.
      <p>
      Another cool thing is the nifty <a href="downloads/tutorial/index.html">
-     BusyBox Tutorial</a> contributed by K Computing.  This requires 
-     a ShockWave plugin (or standalone viewer), so you may want to grab the 
+     BusyBox Tutorial</a> contributed by K Computing.  This requires
+     a ShockWave plugin (or standalone viewer), so you may want to grab the
      the GPLed shockwave viewer from <a href="http://www.swift-tools.com/Flash/flash-0.4.10.tgz">here</a>
      to view the tutorial.
      <p>
-     
+
      Finally, In case you didn't notice anything odd about the
      version number of this release, let me point out that this release
      is <em>not</em> 0.53, because I bumped the version number up a
@@ -456,12 +456,12 @@ would be wonderful!
      released as part of a new BusyBox development series that will
      have some not-yet-decided-on odd version number.  Once things
      stabilize and the new build system is working for everyone, then
-     I will release that as a new stable release series. 
+     I will release that as a new stable release series.
 
      <p>
-     The 
+     The
      <a href="downloads/Changelog">changelog</a> has all
-     the details.  As usual BusyBox 0.60.0 can be downloaded from 
+     the details.  As usual BusyBox 0.60.0 can be downloaded from
      <a href="downloads">http://busybox.net/downloads</a>.
      <p>Have Fun!
      <p>
@@ -478,18 +478,18 @@ would be wonderful!
      and ash).
 
      <p>
-     The 
-     <a href="downloads/Changelog">changelog</a> covers 
+     The
+     <a href="downloads/Changelog">changelog</a> covers
      some of the more obvious details, but there are many many things that
      are not mentioned, but have been improved in subtle ways.  As usual,
-     BusyBox 0.52 can be downloaded from 
+     BusyBox 0.52 can be downloaded from
      <a href="downloads">http://busybox.net/downloads</a>.
      <p>Have Fun!
      <p>
 
 
 <li> <b>10 April 2001 - Graph of Busybox Growth </b>
-<br> 
+<br>
 The illustrious Larry Doolittle has made a PostScript chart of the growth
 of the Busybox tarball size over time. It is available for downloading /
 viewing <a href= "busybox-growth.ps"> right here</a>.
@@ -523,9 +523,9 @@ turning off whichever applets you don't need.)
      compiles on itanium systems (thanks to the Debian itanium porters
      for letting me use their system!).
      <p>
-     You can read the 
+     You can read the
      <a href="downloads/Changelog">changelog</a> for
-     complete details.  BusyBox 0.51 can be downloaded from 
+     complete details.  BusyBox 0.51 can be downloaded from
      <a href="downloads">http://busybox.net/downloads</a>.
      <p>Have Fun!
      <p>
@@ -551,9 +551,9 @@ image</a>. Here's how you use it:
 <p> If you want to look at the contents of the initrd image, do this:
 
 <pre>
-    mount ./busybox.floppy.img /mnt -o loop -t msdos        
-    cp /mnt/initrd.gz /tmp                          
-    umount /mnt           
+    mount ./busybox.floppy.img /mnt -o loop -t msdos
+    cp /mnt/initrd.gz /tmp      
+    umount /mnt
     gunzip /tmp/initrd.gz
     mount /tmp/initrd /mnt -o loop -t minix
 </pre>
@@ -566,7 +566,7 @@ image</a>. Here's how you use it:
      and tftp, and also fixes tons of bugs.  Tab completion in the
      shell is now working very well, and the shell's environment variable
      expansion was fixed.   Tons of other things were fixed or made
-     smaller.  For a fairly complete overview, see the 
+     smaller.  For a fairly complete overview, see the
      <a href="downloads/Changelog">changelog</a>.
      <p>
      lash (the busybox shell) is still with us, fixed up a bit so it
@@ -577,21 +577,21 @@ image</a>. Here's how you use it:
      this shell, while very usable, does not provide an extensible
      framework for adding in full Bourne shell behavior.  So the first order of
      business as we begin working on the next BusyBox release will be to merge in the new shell
-     currently in progress at 
-     <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>.   
+     currently in progress at
+     <a href="http://doolittle.faludi.com/~larry/parser.html">Larry Doolittle's website</a>.
      <p>
 
 
 <li> <b>27 January 2001 -- BusyBox 0.49 released</b>
 <br>
 
-     Several new applets, lots of bug fixes, cleanups, and many smaller 
+     Several new applets, lots of bug fixes, cleanups, and many smaller
      things made nicer.  Several cleanups and improvements to the shell.
-     For a list of the most interesting changes 
-     you might want to look at the <a href="downloads/Changelog">changelog</a>. 
+     For a list of the most interesting changes
+     you might want to look at the <a href="downloads/Changelog">changelog</a>.
      <p>
      Special thanks go out to Matt Kraai and Larry Doolittle for all their
-     work on this release, and for keeping on top of things while I've been 
+     work on this release, and for keeping on top of things while I've been
      out of town.
      <p>
      <em>Special Note</em><br>
@@ -602,8 +602,8 @@ image</a>. Here's how you use it:
      shell that will eventually replace lash is already under
      construction.  This new shell is being developed by Larry
      Doolittle, and could use all of our help.  Please see the work in
-     progress on <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a> 
-     and help out if you can.  This shell will be included in the next 
+     progress on <a href="http://doolittle.faludi.com/~larry/parser.html">Larry's website</a>
+     and help out if you can.  This shell will be included in the next
      release of BusyBox.
      <p>
 
@@ -617,12 +617,12 @@ image</a>. Here's how you use it:
      that 'tar -X' and 'tar --exclude' are both now in.  Applets are
      now looked up using a binary search making lash (the busybox
      shell) much faster.  For the new debian-installer (for Debian
-     woody) a .udeb can now be generated.  
+     woody) a .udeb can now be generated.
      <p>
-     The curious can get a list of some of the more interesting changes by reading 
-     the <a href="downloads/Changelog">changelog</a>. 
+     The curious can get a list of some of the more interesting changes by reading
+     the <a href="downloads/Changelog">changelog</a>.
      <p>
-     Many thanks go out to the many many people that have contributed to 
+     Many thanks go out to the many many people that have contributed to
      this release, especially Matt Kraai, Larry Doolittle, and Kent Robotti.
      <p>
 <p> <li> <b>26 September 2000 -- BusyBox 0.47 released</b>
@@ -630,11 +630,11 @@ image</a>. Here's how you use it:
 
      This release fixes lots of bugs (including an ugly bug in 0.46
      syslogd that could fork-bomb your system).  Added several new
-     apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm, 
+     apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm,
      renice, xargs, and expr.  syslogd now supports network logging.
      There are the usual tar updates.  Most apps now use getopt for
      more correct option parsing.
-     See the <a href="downloads/Changelog">changelog</a> 
+     See the <a href="downloads/Changelog">changelog</a>
      for complete details.
 
 
@@ -642,11 +642,11 @@ image</a>. Here's how you use it:
 <br>
 
      This release fixes several bugs (including a ugly bug in tar,
-     and fixes for NFSv3 mount support).  Added a dumpkmap to allow 
+     and fixes for NFSv3 mount support).  Added a dumpkmap to allow
      people to dump a binary keymaps for use with 'loadkmap', and a
      completely reworked 'grep' and 'sed' which should behave better.
      BusyBox shell can now also be used as a login shell.
-     See the <a href="downloads/Changelog">changelog</a> 
+     See the <a href="downloads/Changelog">changelog</a>
      for complete details.
 
 
@@ -661,13 +661,13 @@ image</a>. Here's how you use it:
      the <a href="downloads/Changelog">changelog</a> for
      details).
      <p>
-     Also, some exciting infrastructure news!  Busybox now has its own 
-     <a href="lists/busybox/">mailing list</a>, 
+     Also, some exciting infrastructure news!  Busybox now has its own
+     <a href="lists/busybox/">mailing list</a>,
      publically browsable
-     <a href="/cgi-bin/cvsweb/busybox/">CVS tree</a>,  
+     <a href="/cgi-bin/cvsweb/busybox/">CVS tree</a>,
      anonymous
      <a href="cvs_anon.html">CVS access</a>, and
-     for those that are actively contributing there is even 
+     for those that are actively contributing there is even
      <a href="cvs_write.html">CVS write access</a>.
      I think this will be a huge help to the ongoing development of BusyBox.
      <p>
@@ -708,7 +708,7 @@ it should be logging stuff from both "A" and "B".  As released in 0.43 only stuf
 from "A" would have been logged.  This means that if init tries to log something
 while say ppp has the syslog open, init would block (which is bad, bad, bad).
 <p>
-Karl M. Hegbloom has created a fix for the problem. 
+Karl M. Hegbloom has created a fix for the problem.
 Thanks Karl!
 
 
@@ -717,17 +717,17 @@ Thanks Karl!
 I have finally gotten everything into a state where I feel pretty
 good about things.  This is definitely the most stable, solid release
 so far.  A lot of bugs have been fixed, and the following new apps
-have been added: sh, basename, dirname, killall, uptime, 
+have been added: sh, basename, dirname, killall, uptime,
 freeramdisk, tr, echo, test, and usleep.  Tar has been completely
 rewritten from scratch.  Bss size has also been greatly reduced.
-More details are available in the 
+More details are available in the
 <a href="downloads/Changelog">changelog</a>.
 Oh, and as a special bonus, I wrote some fairly comprehensive
 <em>documentation</em>, complete with examples and full usage information.
 
 <p>
 Many thanks go out to the fine people that have helped by submitting patches
-and bug reports; particularly instrumental in helping for this release were 
+and bug reports; particularly instrumental in helping for this release were
 Karl Hegbloom, Pavel Roskin, Friedrich Vedder, Emanuele Caratti,
 Bob Tinsley, Nicolas Pitre, Avery Pennarun, Arne Bernin, John Beppu, and Jim Gleason.
 There were others so if I somehow forgot to mention you, I'm very sorry.
@@ -770,9 +770,9 @@ labor, both Shaunalei and our new baby boy are doing wonderfully.
 So now that I am done with my excuse for the slow release cycle...
 Progress on the next release of BusyBox has been slow but steady.  I expect
 to have a release sometime during the first week of April.  This release will
-include a number of important changes, including the addition of a shell, a 
+include a number of important changes, including the addition of a shell, a
 re-write of tar (to accommodate the Linux Router Project), and syslogd can now
-accept multiple concurrent connections, fixing lots of unexpected blocking 
+accept multiple concurrent connections, fixing lots of unexpected blocking
 problems.
 
 
@@ -780,22 +780,22 @@ problems.
 <br>
 
      This is the most solid BusyBox release so far.  Many, many
-       bugs have been fixed.   See the 
+       bugs have been fixed.   See the
        <a href="downloads/Changelog">changelog</a> for details.
 
-       Of particular interest, init will now cleanly unmount 
-       filesystems on reboot, cp and mv have been rewritten and 
-       behave much better, and mount and umount no longer leak 
-       loop devices.  Many thanks go out to Randolph Chung, 
-       Karl M. Hegbloom, Taketoshi Sano, and Pavel Roskin for 
-       their hard work on this release of BusyBox.  Please pound 
+       Of particular interest, init will now cleanly unmount
+       filesystems on reboot, cp and mv have been rewritten and
+       behave much better, and mount and umount no longer leak
+       loop devices.  Many thanks go out to Randolph Chung,
+       Karl M. Hegbloom, Taketoshi Sano, and Pavel Roskin for
+       their hard work on this release of BusyBox.  Please pound
        on it and let me know if you find any bugs.
 
 <p> <li> <b>19 January 2000 -- BusyBox 0.41 released</b>
 <br>
 
      This release includes bugfixes to cp, mv, logger, true, false,
-       mkdir, syslogd, and init.  New apps include wc, hostid, 
+       mkdir, syslogd, and init.  New apps include wc, hostid,
        logname, tty, whoami, and yes.  New features include loop device
        support in mount and umount, and better TERM handling by init.
        The changelog can be found <a href="downloads/Changelog">here</a>.
@@ -806,7 +806,7 @@ problems.
      This release includes bugfixes to init (now includes inittab support),
      syslogd, head, logger, du, grep, cp, mv, sed, dmesg, ls, kill, gunzip, and mknod.
      New apps include sort, uniq, lsmod, rmmod, fbset, and loadacm.
-     In particular, this release fixes an important bug in tar which 
+     In particular, this release fixes an important bug in tar which
      in some cases produced serious security problems.
      As always, the changelog can be found <a href="downloads/Changelog">here</a>.
 
@@ -814,19 +814,19 @@ problems.
 <br>
      I have received permission from Bruce Perens (the original author of BusyBox)
        to set up this site as the new primary website for BusyBox.  This website
-       will always contain pointers to the latest and greatest, and will also 
+       will always contain pointers to the latest and greatest, and will also
        contain the latest documentation on how to use BusyBox, what it can do,
        what arguments its apps support, etc.
 
 <p> <li> <b>10 December 1999 -- BusyBox 0.39 released</b>
 <br>
-     This release includes fixes to init, reboot, halt, kill, and ls, and contains 
+     This release includes fixes to init, reboot, halt, kill, and ls, and contains
      the new apps ping, hostname, mkfifo, free, tail, du, tee, and head.  A full
      changelog can be found <a href="downloads/Changelog">here</a>.
 <p> <li> <b>5 December 1999 -- BusyBox 0.38 released</b>
 <br>
-     This release includes fixes to tar, cat, ls, dd, rm, umount, find, df, 
-       and make install, and includes new apps syslogd/klogd and logger. 
+     This release includes fixes to tar, cat, ls, dd, rm, umount, find, df,
+       and make install, and includes new apps syslogd/klogd and logger.
 
 
 </ul>
index 5f10354..1f8e8c8 100644 (file)
@@ -12,7 +12,7 @@ Everybody loves to look at screenshots, so here is a live action screenshot of B
 font-family: monospace; font-size: smaller;" width="100">
 
 
-$ ./busybox 
+$ ./busybox
 BusyBox v1.00-pre3 (2003.09.12-05:48+0000) multi-call binary
 
 Usage: busybox [function] [arguments]...
index bd8b169..b581868 100644 (file)
@@ -2,7 +2,7 @@
 <book id="BusyBoxDocumentation">
  <bookinfo>
   <title>BusyBox - The Swiss Army Knife of Embedded Linux</title>
-  
+
   <legalnotice>
    <para>
      This documentation is free software; you can redistribute
      version 2 of the License, or (at your option) any later
      version.
    </para>
-      
+
    <para>
      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 GNU General Public License for more details.
    </para>
-      
+
    <para>
      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
    </para>
-      
+
    <para>
      For more details see the file COPYING in the source
      distribution of Linux.
@@ -45,7 +45,7 @@
        for any small or embedded system. The utilities in BusyBox generally have
        fewer options than their full-featured GNU cousins; however, the options
        that are included provide the expected functionality and behave very much
-       like their GNU counterparts. 
+       like their GNU counterparts.
        </para>
 
        <para>
@@ -97,7 +97,7 @@
 
            <para>
            will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
-           into BusyBox). 
+           into BusyBox).
            </para>
 
            <para>
            </para>
 
            <para>
-           will also cause BusyBox to behave as 'ls'. 
+           will also cause BusyBox to behave as 'ls'.
            </para>
 
        </sect1>
            <title>Common options</title>
 
            <para>
-           Most BusyBox commands support the <emphasis>--help</emphasis> option to provide 
-           a terse runtime description of their behavior. 
+           Most BusyBox commands support the <emphasis>--help</emphasis> option to provide
+           a terse runtime description of their behavior.
            </para>
        </sect1>
   </chapter>
                dpkg-deb, du, dumpkmap, dumpleases, dutmp, echo, egrep, env, expr,
                false, fbset, fdflush, fdformat, fgrep, find, fold, free, freeramdisk,
                fsck.minix, ftpget, ftpput, getopt, getty, grep, gunzip, gzip,
-               halt, hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock, 
+               halt, hdparm, head, hexdump, hostid, hostname, httpd, hush, hwclock,
                id, ifconfig, ifdown, ifup, inetd, init, insmod, ip, ipcalc, iplink,
                iproute, iptunnel, kill, killall, klogd, lash, length, linuxrc,
                ln, loadfont, loadkmap, logger, login, logname, logread,
                sha1sum, sleep, sort, start-stop-daemon, strings, stty, su, sulogin,
                swapoff, swapon, sync, syslogd, tail, tar, tee, telnet, telnetd,
                test, tftp, time, top, touch, tr, traceroute, true, tty, udhcpc,
-               udhcpd, umount, uname, uncompress, uniq, unix2dos, unzip, 
+               udhcpd, umount, uname, uncompress, uniq, unix2dos, unzip,
                uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, watch,
                watchdog, wc, wget, which, who, whoami, xargs, yes, zcat, [
 
                </screen>
                </para>
        </sect1>
-       
+
        <sect1 id="chown">
            <title>chown</title>
                <para>
                </screen>
                </para>
        </sect1>
-       
+
        <sect1 id="dirname">
            <title>dirname</title>
 
            <title>dpkg-deb</title>
 
                <para>
-               Usage: dpkg-deb [OPTION] archive [directory] 
+               Usage: dpkg-deb [OPTION] archive [directory]
                </para>
 
                <para>
-               Debian package archive (.deb) manipulation tool 
+               Debian package archive (.deb) manipulation tool
                </para>
 
                <para>
                Options:
                </para>
-               
+
                <para>
                <screen>
-                       -c      List the contents of the filesystem tree archive portion of the package 
+                       -c      List the contents of the filesystem tree archive portion of the package
                        -e      Extracts the control information files from a package archive into the specified directory.
                                If  no  directory  is specified then a subdirectory DEBIAN in the current directory is used.
                        -x      Silently extracts the filesystem tree from a package archive into the specified directory.
-                       -X      Extracts the filesystem tree from a package archive into the specified directory, listing the files as it goes. 
+                       -X      Extracts the filesystem tree from a package archive into the specified directory, listing the files as it goes.
                        If required the specified directory (but not its parents) will be created.
                </screen>
                <para>
                </screen>
                </para>
        </sect1>
-       
+
        <sect1 id="getopt">
            <title>getopt</title>
 
                <para>
                Prints out a unique 32-bit identifier for the current
                machine. The 32-bit identifier is intended to be unique
-               among all UNIX systems in existence. 
+               among all UNIX systems in existence.
                </para>
        </sect1>
 
 
 
                        <para>
-                       Valid actions include: sysinit, respawn, askfirst, wait, 
+                       Valid actions include: sysinit, respawn, askfirst, wait,
                        once, and ctrlaltdel.
                        </para>
 
                        respawn, except that before running the specified process it
                        displays the line "Please press Enter to activate this console."
                        and then waits for the user to press enter before starting the
-                       specified process.  
+                       specified process.
                        </para>
 
                        <para>
                </para>
 
                <para>
-               
+
                </para>
 
                <para>
 
                <para>
                <screen>
-                       $ mknod /dev/fd0 b 2 0 
+                       $ mknod /dev/fd0 b 2 0
                        $ mknod -m 644 /tmp/pipe p
                </screen>
                </para>
 
     <sect1 id="run-parts">
        <title>run-parts</title>
-       
+
                <para>
                Usage: run-parts [-t] [-a ARG] [-u MASK] DIRECTORY
                </para>
-       
+
                <para>
                Run a bunch of scripts in a directory.
                </para>
-       
+
                <para>
                Options:
                </para>
-       
+
                <para>
                <screen>
                        -t       Test only. It only print the file to be executed,
                </screen>
                </para>
        </sect1>
-       
 
-       
+
+
        <sect1 id="sed">
            <title>sed</title>
 
                </para>
 
                <para>
-               This command does not yet have proper documentation.  
+               This command does not yet have proper documentation.
                </para>
 
                <para>
                </para>
 
                <para>
-               
+
                </para>
 
                <para>
                </para>
 
                <para>
-               
+
                </para>
 
                <para>
 
                <para>
                <screen>
-                       $ umount /dev/hdc1 
+                       $ umount /dev/hdc1
                </screen>
                </para>
        </sect1>
                </screen>
                </para>
        </sect1>
-       
+
        <sect1 id="unix2dos">
            <title>unix2dos</title>
 
                </para>
 
                <para>
-               Uncompress FILE (or stdin if FILE is '-') to stdout.  
+               Uncompress FILE (or stdin if FILE is '-') to stdout.
                </para>
 
                <para>
     <title>AUTHORS</title>
 
        <para>
-       The following people have made significant contributions to 
+       The following people have made significant contributions to
        BusyBox -- whether they know it or not.
        </para>
 
        </para>
 
        <para>
-       Dave Cinege &lt;dcinege@psychosis.com&gt;       
+       Dave Cinege &lt;dcinege@psychosis.com&gt;
        </para>
 
        <para>
        </para>
 
        <para>
-       John Lombardo &lt;john@deltanet.com&gt; 
+       John Lombardo &lt;john@deltanet.com&gt;
        </para>
 
        <para>
index 047c4d0..132aa3b 100644 (file)
@@ -18,7 +18,7 @@ you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
 tar, etc.  BusyBox provides a fairly complete POSIX environment for any small
 or embedded system.  The utilities in BusyBox generally have fewer options than
 their full-featured GNU cousins; however, the options that are included provide
-the expected functionality and behave very much like their GNU counterparts. 
+the expected functionality and behave very much like their GNU counterparts.
 
 BusyBox has been written with size-optimization and limited resources in mind.
 It is also extremely modular so you can easily include or exclude commands (or
@@ -37,19 +37,19 @@ For example, entering
        ./ls
 
 will cause BusyBox to behave as 'ls' (if the 'ls' command has been compiled
-into BusyBox). 
+into BusyBox).
 
 You can also invoke BusyBox by issuing the command as an argument on the
 command line.  For example, entering
 
        ./BusyBox ls
 
-will also cause BusyBox to behave as 'ls'. 
+will also cause BusyBox to behave as 'ls'.
 
 =head1 COMMON OPTIONS
 
 Most BusyBox commands support the B<-h> option to provide a
-terse runtime description of their behavior. 
+terse runtime description of their behavior.
 
 =head1 COMMANDS
 
index 0d2f553..ae4ec3e 100644 (file)
@@ -116,7 +116,7 @@ Bug Reporting
 If you find bugs, please submit a detailed bug report to the busybox mailing
 list at busybox@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@busybox.net
<