Remove trailing whitespace. Update copyright to include 2004.
authorEric Andersen <andersen@codepoet.org>
Mon, 15 Mar 2004 08:29:22 +0000 (08:29 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 15 Mar 2004 08:29:22 +0000 (08:29 -0000)
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 a6f81abcff56987b91090fe2407509b78ef0eecb..c73b47abf2018f523e60f9c60525534f0a6bfccd 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 ca1dcf301ce995d8abfec49aab4263f3f66ba989..4d22f5bef8376b5e177830633c79b8e68fc13cd1 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 a137da2375dede145ef98b402f91de7dfc49fa1f..c9cdf8e263883fe7096e2fcbf06849347049302c 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 fc8ea56f7689c13e73c9e75bf85e3c1d54a0d74a..6ebab1ff2f93e32ed21c07358d93f9f41b58208c 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 e56cb5a47d7ec54cf6c15154c3666d414d6f1487..14cc845f7d684958469c69595a496af85cdaa827 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 7b6642631df47e534fa5e49194240a62816e9876..5e0a5e672208acdedd4da3c5f87b47ee6e2b66e1 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 35bc11a24de3c17eec30d10de4812f9898424b52..7a8fa4dfad3f166d243f083ecc0d5ce978417868 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 f4ebb1496082dac8e271f0e30b5aeffcc0301855..5f9167442c2d1bb4cbf3106d08b4374542892380 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 cb6c647df06bde4c21709734749040051cf5a2ec..79582e0697390f9cda6d12a7625c4f4b17c7c394 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 9dc69f36fbda273cc37d73a11fd94b62cccfe22e..7d8adfb659cd0c20b1c786a46415f67d03d58973 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 dfcf400e0aa803d24a53fbd1d24d4bb1d805e89e..dbb5e176b71f4dd4977889351fbbb33baec15706 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 daf3cf2216c9c5d6ff1fee8f328e153fc4ef8325..db358db08e41293aad6bf3c69a7daf20955c7efe 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 3362feafbbeb7fe3a9cba32a9e2013b6e8cf75a5..1cbe7ee00af6209497577c51f0aabe6bc86ceb03 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 3247ad8bd71aa8de8952cf1fb01361ff5ffc79e3..1673662f9e56cd44c95ba96f9cb3432da08f1abb 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 890e81fc5e6c051ee4eab769570af8af41b51c95..ddf3fdadbf8ed8390da65713ea7d9d5aafd9ce1d 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 8f85779c9bdfa2738f5b62ab16e4526289ccfb19..aff6a55f9741f50af08d35272ba5172552c45c0a 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 2ebbbdf4ef72930a30cb7f0951bfd3dbffbfeafd..e192b4a62c9a487d9d4914a57433bde30a66bcf9 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 da94b394f5707b4428264dbc073cbe06afd4d48e..5aa9881d58dca9306c0753d10726d331522b9e9e 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 367e0470c53e7c5cbd7fffd551a398e035328ad3..dec53f660c53bc7332fbe21a1533ceca67fe1132 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 2be5603a02ef7beca9ba4b2d8b2531c85df23a85..1708ac1a1f450cb85ae5dc29470badf040c94174 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 272ca24341ce510f6cb4ddeb4588bb3bf48edd80..9a20ea28b348cc5ad2a7144f2ccd3d822ac312e3 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 09b0571edd5bc97edccc4288c15cd14d1e4390f2..c0e12a6c89f8e294bea52aae99d2f837b5418298 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 4cff24339a23da31c728303fecca0a46c7bc683d..a9a3a93d8116abaf738acb6f0113caef00534cc4 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 3e6138c952ed85e63a75f58ddea642b710965dc4..af165336e9d0bd25dee9f8deb364f237c9135ac6 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 65418a7cacd58a20fe1a0fda8e75541beea55e1e..ddf293fd667dbb9a230942d4b3b23bc845e6fa24 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 29929c2829c52bc304c7b0b3432c27aac35c78a4..a436db1916b440374eed4a0225d394ddd89ea34c 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 1e9da0f2bb7e0664413954006dbf1c812c696370..d0436549b0f919d2f4588e2a6ac37e5f11845c50 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 25eafe0bd2985d06e55cee054bcd81d5deaf783d..86e0bc08f2b85d8de570309ecf5f31ada41afcf0 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 25fdc060064b9d9f4f62bc69ee3037a1bb76bf17..e8a68f1c3995795867d20dc5f8bde861ba9505f8 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 ad580617bbe35a0deca710d85ec0ab625ff0c1c0..c6ebdae80970222c6846ff790a665be2ac931730 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 65418a7cacd58a20fe1a0fda8e75541beea55e1e..ddf293fd667dbb9a230942d4b3b23bc845e6fa24 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 29929c2829c52bc304c7b0b3432c27aac35c78a4..a436db1916b440374eed4a0225d394ddd89ea34c 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 eb2c0433b0e4e13209d999143f8dda75ac586919..30cdc93fbe4faad9be68fb29c2850d4ac9c67c29 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 d0041a83ca67cabda1ca8d93b484c6a8ae6717fe..7b50595184494f232ebf645bdf706745f114c16b 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 cbd069425002451e19c0d12d7c03db88d16768c0..2310e80cbba21ace565bb6f326396b896218b3d0 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 d54c778d4bd20468b6c9f0ad954c20ece6548a9d..2ee51a5e616a63271988ef0bbb12214f7d2a8f64 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 032b194f6d6da1412249b6e23c40eeefeb005f58..1d756c721531efbb1f4f98b953b67cb96cd5a55a 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 8ea062cde55c22e8ac2bc243751b1bc68c05f6be..3398892f5e0a3c2dd7c5e02066538def6b9d2731 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 45976e1b53171028c921f2f9d12036802be2393d..e43ed0e02d90e5569632148c3196771499355539 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 363ecdf12abf906111f9c4a41a7410d66c318452..08a9d2122e17670d1b67b40d3d741659cd06c74b 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 19ba77d828359e0129fa63a40102a68ce7dea532..6085a446b8b2d9bdf46449991f341b26b66b1b32 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 5b2f31abcf8af840c85ca8e026359ca05f98af5a..849d747a698d3a456b973913886a01be4341a22d 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 b0db33b3370f0777e2b54e50a6eeba9619d2591f..5f244579c7f292fc1bfb518e03aed81e4b288b5b 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 3f9ae984d44bbf42129bf6d23c0f9fd470f3b577..9d38e7a28287657b7072dcee460ea2f8e64232a0 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 0a5366be90f3a78956f34e5e8e95d27eaff31813..169d0bb0af1e1a5e342555c2c662d71625f4529e 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 900908a9e873af7e165ea66349019e14efb0c03b..5c0180a5e184ab284415f203c6c7438c4c623494 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 a5cdf6248c1ca1bf98d33aa4e0f760d39a8ad13a..b42689a264580086dff42b784347ea776854bee3 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 6c254764838fac8c42a2710a6a4e4ce648d4b862..a5343c9c7441e155e40f8306c776fe63597f8965 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 7fcdb836811d737b282d924b4adba85b361bedb1..7b8b7b6f064f5410bc9c2525bdc8e45f553dd676 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 786156253a306a6397a271a4cd8fa0ddbc3aa9c3..cd7be0d30d87c195a75226e56b14528cd560a314 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 93e493869c81cfdcb3bea58f48871b59440e7cb4..8cfb54241b2cb994a67df57bddca69f45407e5dc 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 390cc6d2c7b36b8d8e338677d510afaeeab95710..0cb88862866ac349d32712e32ff42fca228a44c4 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 07d673f28d12668d785e0a0929a775d64cca0019..638745f1784f2a71c6af8711982d46724001e4c8 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 eeed01302d54afec6aa6df423dd38e272c5f48b8..62257021d303a5a9898fa7d708b4e85ad2560f67 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 34ec3690c1812c7368729526aee828b23f2e3017..d9f8161f30fc2a2b8ba989e84553d0470af5d394 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 a6b595e57a83e73c0fbd2d9de59a32589cd0705b..9c763299f3218811a78c6ac44cf0ea587727134c 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 9c0d13f62b46cd64bb3a9fe9dce4c3e58a0e89d0..9d53f2bc43771fe9335c76545083ea07b80b477b 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 d0c42b60301ffa88a9eec1cec77b5d3d0e00ba04..5136e49092d6cb2d6fd9b93cd9284394457617c5 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 c28e6a8b99d77ad875581ef5ba4601b37c158667..a21ed5bc3cb943105331036db39ce381e670cd9c 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 df75a6953bb6ba6a85e422460a72a944e4c0d63f..bfa44034ad1481a0f3515243b9566e446476b033 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 b600a1fbdf74dd2e4fa27deedba06c37d93616a3..26a6fbf81fba868cd12a80e030090d9d69f86c15 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 77d603b88a1b3e74e21c80ff46630610569d5ffe..e5816371ad4d174ff8d1c6511a41726d586a5ba1 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 a07b99d95d4365449a19cfdec97c4ecf8bf79318..5cf238409ffff2a994b4ec206cad93af0bb6eb9a 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 971e7cdad6949e00bca908830992fedd414ddf25..602b26ec38fdc573dbdbd47465507bcc477e7440 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 82773b8de2218d6727e081e4eb70ebc6ee57a357..305e02b0dc69b3c568ad7f415fbd0e0d95ebcef9 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 b3a4e79b68f0e335dd6911191d2ad3abd13f0f20..11867c6029f7952079fedd2b35dd42ed3173fb43 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 a7481d40a8dd20fa6bc78aa7dbfa7b4877cf3f77..d0e8b3a05c4943efa18e58fe4378b46ffdd64e4b 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 7c282b0013ec6e8449500aecd52d07dda2dfb74d..885ba61dbd9c3febc70fbb51605135f8cd077042 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 2605ab12d838739d75a96772fa510ff6535ae8ad..f7fa9a110b0fb9f1e2c6350d5eab12ecaa56aa27 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 83f6da18067167140c396fcab143cd2713667c8a..64e069374e3540b0d1f215fff7394a212e570dd1 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 d5e9e17fed1122e391d4a353c8257f11f33be990..7b2467b8fa150f368222648843c1a798200071d3 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 c28d0500eef00af8599edbe6e64fbb8633c5fb35..4f08dedc08329fd53fcfb73ec2efd021dc359f45 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 76f59686b62b341ae3b82cc2654ce9418062f575..053b01ee55f8324d5db6661f58d14da182da86d7 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 3f6037170d80d1c037073b0131521902a9f1c696..a10e5bb4fde014627b30efb0b924288f785ca872 100644 (file)
@@ -66,7 +66,7 @@ extern int rmdir_main(int argc, char **argv)
                        }
                        break;
                } while (1);
-               
+
        } while (*++argv);
 
        return status;
index d588ccdd19a8b49ee2c175f9ce3f85270afc16b7..b18064a38c086ba8b1db5574e9b35269ebcd8670 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 73c2f8e9df406c6f0f790141ebdd835a5ddf32be..bb28966639c833d2f1b0655d6b195947a148a039 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 2ad326ea69be5ac4d0c8498843cab3bb787e6a12..419da5101898fefc3c2f28b3f7e1004bee859495 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 3d780e1679e2c832d555fb03c2f8cb585d64b0aa..645fb21743282e4d945503d7aaf409c5764b7483 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 958fc80b85b0b25ad24960905206647115e0fab1..1325245b87f59f0bc0ca110030d7530a6feed9c9 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 d19e749aaee323af93c6acf58d6f54f071e99181..3e7eb0111df055cf898767660dbee28d0c5d1e2b 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 1734ed41964c805bd9a17c59287645567b71b14d..96da7caf327d089b8cc134d596417407171471ca 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 7799015241a35646137b20018abf52ff5dd2cd43..0eb795c4b2f7be1716559477dadda33fce410ae1 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 1bf55205649612a8b1726a6f1e06ca54435b4789..9561db132f3bb03d381552f4fd7a1dc5a0557932 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 22d3ccb05e204cbebb0e365a227de4f21791bf3a..d9f82e376ccf407db4e4eb8a5a9a8731e6d4bda1 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 2324080482bd561230855bd9c0f434a2382fd265..391a02dcf1674beb3b38bc49a9b436ada167f6d7 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 399ccae6b01ffe1573437901bf03e10b9930dc00..7cf7cadb5b94e98575a52209b66c1e429065d303 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 13181eadb9b4d407314b344b98aaf7beb56d9f7f..0282b83c4bac5fd625c0db99006893d331038103 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 46530174ffd7a1aba147e9330bd1dd1e299fe123..dabef27ef8b9c7215bd40df99f61776906f748d7 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 ecc985fb2336b3cc2d3675000d2d4d5360f0f0d7..9fdf79bfa1220127d5dc8be38647b3ae11dbd965 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 53d33cec515f03d60e9314e145b61d20d064069a..6205595bf892c417eb5d0dec6b261069581fe627 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 ccfd163445469ed077b5b802b02d7cc830673d8d..999dded369dc05c14b69b04056d61358d054e1b7 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 9242e759ebdcfdedfe1c921338d883e5eaa0cb5a..c086263865337ec16e02e4e019ec75693265946b 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 123f3811412c978f9a13b26c95667dbe1a167650..2379defa43684d006d23deb03f2174040a161737 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 a2b8032a08133ae9a5f03c7199a9a2b6c5c8dd03..528338da9e510dd4f369592c70327266aa895adf 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 896a38679a75ae1d98d18b92a87e673b3a6acd05..f823d053596b2bc72111805f4184e533e9350958 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 cff3a353ccc5a5f151e8beddb0bfd8704a979690..837d6cd61f0e4245b8f9c5c03c2a20e2a28ec665 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 f7c642f7dc10ecf0a8c569a9bcf8a25bd7749bfe..b27338d79d59ae7c7df271ff4e030f00a26de75a 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 330b7162cdadd94c51ee2c7155b3739a35503add..fc9ac6d2be6f07c6fd44c457cb1bb9fcac8247ca 100644 (file)
@@ -2,7 +2,7 @@
 
 
 <h3>Documentation</h3>
-Current documentation for BusyBox includes: 
+Current documentation for BusyBox includes:
 
 <ul>
   <li><a href=
index d8a389023d931a8206ed2cdbb17835a550dd8e08..a6a86ac33d32cdbc4585dec9a5756540a47b7b19 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 3ca0e708bda47857a0cdece6dc357c07e8c49c92..9756f5dde796b664b1661361e1b2ea55b470616a 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 809a7c921e4d38593331de9221b61a8486bbcc76..33638f3223295a62fd66acd80a391eca6eb2426a 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 5c4e82a8f780adcaf22779e6fac11b695678e716..b1eb92f3811c3fc8a029248bf95f61ad8a53d67c 100644 (file)
Binary files a/docs/busybox.net/images/busybox.png and b/docs/busybox.net/images/busybox.png differ
index 556f72a6c15c3f53d2ea0f481e7cb425daa863cb..9bad9496aef8c100b351397bdc6f52785a195bb6 100644 (file)
Binary files a/docs/busybox.net/images/ltbutton2.png and b/docs/busybox.net/images/ltbutton2.png differ
index ff1ba61f367fa45cce75c9010be35a0c41fdddc0..2cbf78b0b498c476d7f9830cb0dd10221cec6a9a 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 e44e7edf2c0efefc246c64caf9a812d41640e45c..6e7d890d1f00ddfaf861ddd267dca474817458cd 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 3af3dca3376236f556f30c0ffcf60fd76abee30f..9d06eb5437f39a9521c0d806dfd6ad6d9e7a0c25 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 a13bf77335bb8a6558d0a1221aad3f38bc089ea2..fa7566c0c1857f8f04b7903839ac4ae9fc9ba717 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 5f1035489061707179ea455cb3d220388f5bced9..1f8e8c81ba0a26887ffc511db63a8f4f6f39319a 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 bd8b1697c72ee17d023ca8a9be88ed5be4e49090..b581868ef2012f400c5eabbefe1a03cc85ccd4a8 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 047c4d0678b16beca48a54560ecfa9df69f1a399..132aa3b6531eb1f7d4420e447f460cee7e4eca0b 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 0d2f553ed9fd5f479ee83520249d3b2a9e8ada20..ae4ec3ef78bdbd8d69f528832275b0249858a05a 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
@@ -137,7 +137,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
@@ -231,7 +231,7 @@ These are dirty jobs, but somebody's gotta do 'em.
 
  - "Ten Commandments" compliance: (this is a "maybe", certainly not as
    important as any of the previous items.)
-    http://www.lysator.liu.se/c/ten-commandments.html   
+    http://www.lysator.liu.se/c/ten-commandments.html
 
 Other useful links:
 
index 54940957cb0c23e2b933b574f0d2de0f37ab8502..2fc95d36df4834a360ee43f01f9b1d3b6ebd8b64 100644 (file)
@@ -106,7 +106,7 @@ config CONFIG_MU
 Usage String(s)
 ---------------
 
-Next, add usage information for you applet to include/usage.h. 
+Next, add usage information for you applet to include/usage.h.
 This should look like the following:
 
        #define mu_trivial_usage \
@@ -126,8 +126,8 @@ currently exist in usage.h.)
 Header Files
 ------------
 
-Next, add an entry to include/applets.h.  Be *sure* to keep the list 
-in alphabetical order, or else it will break the binary-search lookup 
+Next, add an entry to include/applets.h.  Be *sure* to keep the list
+in alphabetical order, or else it will break the binary-search lookup
 algorithm in busybox.c and the Gods of BusyBox smite you. Yea, verily:
 
        /* all programs above here are alphabetically "less than" 'mu' */
@@ -154,10 +154,10 @@ Adding some text to docs/Configure.help is a nice start.
 The Grand Announcement
 ----------------------
 
-Then create a diff -urN of the files you added (<appletdir/><applet>.c, 
-include/usage.c, include/applets.h, include/config.h, <appletdir>/Makefile.in, <appletdir>/config.in) 
+Then create a diff -urN of the files you added (<appletdir/><applet>.c,
+include/usage.c, include/applets.h, include/config.h, <appletdir>/Makefile.in, <appletdir>/config.in)
 and send it to the mailing list:
-busybox@busybox.net. 
+busybox@busybox.net.
 
 Sending patches as attachments is preferred, but not required.
 
index 25c676ca22d511d6099b14e6aae30195ce3b779f..915d9b27d043f96b115c0b83f2b21713da354b1b 100644 (file)
@@ -266,7 +266,7 @@ these steps:
    conversion.
 
  - Compile and see if everything still works.
+
 Please be aware of changes that have cascading effects into other files. For
 example, if you're changing the name of something in, say utility.c, you
 should probably run 'examples/mk2knr.pl utility.c' at first, but when you run
@@ -293,13 +293,13 @@ Use 'const <type> var' for declaring constants.
                #define var 80
 
        Do this instead, when the variable is in a header file and will be used in
-       several source files: 
+       several source files:
 
-               const int var = 80; 
+               const int var = 80;
 
        Or do this when the variable is used only in a single source file:
 
-               static const int var = 80; 
+               static const int var = 80;
 
 Declaring variables as '[static] const' gives variables an actual type and
 makes the compiler do type checking for you; the preprocessor does _no_ type
@@ -336,7 +336,7 @@ The Folly of #ifdef
 Code cluttered with ifdefs is difficult to read and maintain. Don't do it.
 Instead, put your ifdefs at the top of your .c file (or in a header), and
 conditionally define 'static inline' functions, (or *maybe* macros), which are
-used in the code.  
+used in the code.
 
        Don't do this:
 
@@ -650,7 +650,7 @@ line in the midst of your #includes:
 And a code block similar to the following near the top of your applet_main()
 routine:
 
-    while ((opt = getopt(argc, argv, "abc")) > 0) { 
+    while ((opt = getopt(argc, argv, "abc")) > 0) {
             switch (opt) {
             case 'a':
                 do_a_opt = 1;
index e2055cedec55f40aefdd9d621aee94c2a2fcf76b..bb028597635f42e9de5338b335908dd67dae0a47 100644 (file)
@@ -38,7 +38,7 @@ config CONFIG_VI
        default n
        help
          'vi' is a text editor.  More specifically, it is the One True
-         text editor <grin>.  It does, however, have a rather steep 
+         text editor <grin>.  It does, however, have a rather steep
          learning curve.  If you are not already comfortable with 'vi'
          you may wish to use something else.
 
index 00ef6d50237ffabd36bbcfc7f0db16bc3e1af703..1c822312480f667ab61ed1d82d15592eb3e01953 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 97450479de006912730c6f295717367d6ee13363..017f30934acc014574dacca7c58ba2f5bf81697d 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 09fb41d68cdbbcfd8de26b54483d4b747f63a505..cb74a9832d82640f9dabd95538f04a2282c2f428 100644 (file)
@@ -378,7 +378,7 @@ static unsigned long tokeninfo[] = {
 };
 
 /* internal variable names and their initial values       */
-/* asterisk marks SPECIAL vars; $ is just no-named Field0 */ 
+/* asterisk marks SPECIAL vars; $ is just no-named Field0 */
 enum {
        CONVFMT=0,      OFMT,           FS,                     OFS,
        ORS,            RS,                     RT,                     FILENAME,
@@ -390,7 +390,7 @@ enum {
 
 static char * vNames =
        "CONVFMT\0"     "OFMT\0"        "FS\0*"         "OFS\0"
-       "ORS\0"         "RS\0*"         "RT\0"          "FILENAME\0"    
+       "ORS\0"         "RS\0*"         "RT\0"          "FILENAME\0"
        "SUBSEP\0"      "ARGIND\0"      "ARGC\0"        "ARGV\0"
        "ERRNO\0"       "FNR\0"
        "NR\0"          "NF\0*"         "IGNORECASE\0*"
@@ -486,7 +486,7 @@ static unsigned int hashidx(char *name) {
 static xhash *hash_init(void) {
 
        xhash *newhash;
-       
+
        newhash = (xhash *)xcalloc(1, sizeof(xhash));
        newhash->csize = FIRST_PRIME;
        newhash->items = (hash_item **)xcalloc(newhash->csize, sizeof(hash_item *));
@@ -1053,7 +1053,7 @@ static node *parse_expr(unsigned long iexp) {
                        /* for binary and postfix-unary operators, jump back over
                         * previous operators with higher priority */
                        vn = cn;
-                       while ( ((t.info & PRIMASK) > (vn->a.n->info & PRIMASK2)) || 
+                       while ( ((t.info & PRIMASK) > (vn->a.n->info & PRIMASK2)) ||
                          ((t.info == vn->info) && ((t.info & OPCLSMASK) == OC_COLON)) )
                                vn = vn->a.n;
                        if ((t.info & OPCLSMASK) == OC_TERNARY)
@@ -1085,7 +1085,7 @@ static node *parse_expr(unsigned long iexp) {
                        xtc = TC_OPERAND | TC_UOPPRE | TC_REGEXP;
                        if (tc & (TC_OPERAND | TC_REGEXP)) {
                                xtc = TC_UOPPRE | TC_BINOP | TC_OPERAND | iexp;
-                               /* one should be very careful with switch on tclass - 
+                               /* one should be very careful with switch on tclass -
                                 * only simple tclasses should be used! */
                                switch (tc) {
                                  case TC_VARIABLE:
@@ -1103,7 +1103,7 @@ static node *parse_expr(unsigned long iexp) {
                                        }
                                        xtc = TC_UOPPOST | TC_UOPPRE | TC_BINOP | TC_OPERAND | iexp;
                                        break;
-                                       
+                               
                                  case TC_NUMBER:
                                  case TC_STRING:
                                        cn->info = OC_VAR;
@@ -1763,7 +1763,7 @@ static char *awk_printf(node *n) {
                s = f;
                while (*f && (*f != '%' || *(++f) == '%'))
                        f++;
-               while (*f && !isalpha(*f)) 
+               while (*f && !isalpha(*f))
                        f++;
 
                incr = (f - s) + MAXVARFMT;
index 1587919bca22ed5d81921042ac1cfcfe250c85a9..e3745ef39763d69a213307a134ae2e1cd2f86015 100644 (file)
@@ -31,7 +31,7 @@
  *   - Non-interactive
  *   - Patches must apply cleanly or the hunk will fail.
  *   - Reject file isnt saved
- *   - 
+ *   -
  */
 
 #include <getopt.h>
@@ -55,7 +55,7 @@ static int copy_lines(FILE *src_stream, FILE *dest_stream, const unsigned int li
                        bb_perror_msg_and_die("Error writing to new file");
                }
                free(line);
-               
+
                i++;
        }
        return(i);
@@ -282,7 +282,7 @@ extern int patch_main(int argc, char **argv)
                }
        }
 
-       /* 0 = SUCCESS 
+       /* 0 = SUCCESS
         * 1 = Some hunks failed
         * 2 = More serious problems
         */
index a7c99a16b4749a59fa3319b65bdeb1e1ba479e0c..c97092a5c3c43f436dad234df09d1d8ee9b09ad9 100644 (file)
@@ -209,7 +209,7 @@ static char *copy_parsing_slashn(const char *string, int len)
 /*
  * index_of_next_unescaped_regexp_delim - walks left to right through a string
  * beginning at a specified index and returns the index of the next regular
- * expression delimiter (typically a forward * slash ('/')) not preceeded by 
+ * expression delimiter (typically a forward * slash ('/')) not preceeded by
  * a backslash ('\').
  */
 static int index_of_next_unescaped_regexp_delim(const char delimiter,
@@ -294,7 +294,7 @@ static int get_address(char *my_str, int *linenum, regex_t ** regex)
                next = index_of_next_unescaped_regexp_delim(delimiter, ++pos);
                if (next == -1)
                        bb_error_msg_and_die("unterminated match expression");
-               
+
                temp=copy_parsing_slashn(pos,next);
                *regex = (regex_t *) xmalloc(sizeof(regex_t));
                xregcomp(*regex, temp, REG_NEWLINE);
@@ -372,7 +372,7 @@ static int parse_subst_cmd(sed_cmd_t * const sed_cmd, char *substr)
                        {
                                char *temp;
                                idx+=parse_file_cmd(sed_cmd,substr+idx,&temp);
-                               
+
                                break;
                        }
                        /* Ignore case (gnu exension) */
index 1932742ecd84b9da931697e95bc6460e9f3d2419..28eca754a2d1b156d95dd09c8c5825a90943f0c6 100644 (file)
@@ -19,7 +19,7 @@
  */
 
 static const char vi_Version[] =
-       "$Id: vi.c,v 1.33 2004/02/06 10:36:08 andersen Exp $";
+       "$Id: vi.c,v 1.34 2004/03/15 08:28:32 andersen Exp $";
 
 /*
  * To compile for standalone use:
@@ -2548,14 +2548,14 @@ static void place_cursor(int row, int col, int opti)
        // char cm3[BUFSIZ];
        int Rrow= last_row;
 #endif                                                 /* CONFIG_FEATURE_VI_OPTIMIZE_CURSOR */
-       
+
        memset(cm1, '\0', BUFSIZ - 1);  // clear the buffer
 
        if (row < 0) row = 0;
        if (row >= rows) row = rows - 1;
        if (col < 0) col = 0;
        if (col >= columns) col = columns - 1;
-       
+
        //----- 1.  Try the standard terminal ESC sequence
        sprintf((char *) cm1, CMrc, row + 1, col + 1);
        cm= cm1;
@@ -2565,7 +2565,7 @@ static void place_cursor(int row, int col, int opti)
        //----- find the minimum # of chars to move cursor -------------
        //----- 2.  Try moving with discreet chars (Newline, [back]space, ...)
        memset(cm2, '\0', BUFSIZ - 1);  // clear the buffer
-       
+
        // move to the correct row
        while (row < Rrow) {
                // the cursor has to move up
@@ -2577,7 +2577,7 @@ static void place_cursor(int row, int col, int opti)
                strcat(cm2, CMdown);
                Rrow++;
        }
-       
+
        // now move to the correct column
        strcat(cm2, "\r");                      // start at col 0
        // just send out orignal source char to get to correct place
@@ -2748,7 +2748,7 @@ static void format_line(Byte *dest, Byte *src, int li)
 {
        int co;
        Byte c;
-       
+
        for (co= 0; co < MAX_SCR_COLS; co++) {
                c= ' ';         // assume blank
                if (li > 0 && co == 0) {
@@ -2899,7 +2899,7 @@ static void refresh(int full_screen)
 #else
        place_cursor(crow, ccol, FALSE);
 #endif                                                 /* CONFIG_FEATURE_VI_OPTIMIZE_CURSOR */
-       
+
        if (offset != old_offset)
                old_offset = offset;
 }
@@ -2997,29 +2997,29 @@ key_cmd_mode:
                //case 0x1d:    // gs
                //case 0x1e:    // rs
                //case 0x1f:    // us
-               //case '!':     // !- 
-               //case '#':     // #- 
-               //case '&':     // &- 
-               //case '(':     // (- 
-               //case ')':     // )- 
-               //case '*':     // *- 
-               //case ',':     // ,- 
-               //case '=':     // =- 
-               //case '@':     // @- 
-               //case 'F':     // F- 
-               //case 'K':     // K- 
-               //case 'Q':     // Q- 
-               //case 'S':     // S- 
-               //case 'T':     // T- 
-               //case 'V':     // V- 
-               //case '[':     // [- 
-               //case '\\':    // \- 
-               //case ']':     // ]- 
-               //case '_':     // _- 
-               //case '`':     // `- 
-               //case 'g':     // g- 
+               //case '!':     // !-
+               //case '#':     // #-
+               //case '&':     // &-
+               //case '(':     // (-
+               //case ')':     // )-
+               //case '*':     // *-
+               //case ',':     // ,-
+               //case '=':     // =-
+               //case '@':     // @-
+               //case 'F':     // F-
+               //case 'K':     // K-
+               //case 'Q':     // Q-
+               //case 'S':     // S-
+               //case 'T':     // T-
+               //case 'V':     // V-
+               //case '[':     // [-
+               //case '\\':    // \-
+               //case ']':     // ]-
+               //case '_':     // _-
+               //case '`':     // `-
+               //case 'g':     // g-
                //case 'u':     // u- FIXME- there is no undo
-               //case 'v':     // v- 
+               //case 'v':     // v-
        default:                        // unrecognised command
                buf[0] = c;
                buf[1] = '\0';
@@ -3338,15 +3338,15 @@ key_cmd_mode:
                break;
 #endif                                                 /* CONFIG_FEATURE_VI_SEARCH */
        case '0':                       // 0- goto begining of line
-       case '1':                       // 1- 
-       case '2':                       // 2- 
-       case '3':                       // 3- 
-       case '4':                       // 4- 
-       case '5':                       // 5- 
-       case '6':                       // 6- 
-       case '7':                       // 7- 
-       case '8':                       // 8- 
-       case '9':                       // 9- 
+       case '1':                       // 1-
+       case '2':                       // 2-
+       case '3':                       // 3-
+       case '4':                       // 4-
+       case '5':                       // 5-
+       case '6':                       // 6-
+       case '7':                       // 7-
+       case '8':                       // 8-
+       case '9':                       // 9-
                if (c == '0' && cmdcnt < 1) {
                        dot_begin();    // this was a standalone zero
                } else {
index 090ef049946518b7a1b8fea4b67e1c6995cf35c4..16f2c130f61148c872a428cd3fe41d829b6be2d6 100644 (file)
@@ -38,13 +38,13 @@ Making a Root File System
 The following steps will create a root file system.
 
  - Create an empty file that you can format as a filesystem:
+
        dd if=/dev/zero of=rootfs bs=1k count=4000
 
  - Set up the rootfs file we just created to be used as a loop device (may not
-   be necessary) 
+   be necessary)
 
-       losetup /dev/loop0 rootfs 
+       losetup /dev/loop0 rootfs
 
  - Format the rootfs file with a filesystem:
 
@@ -101,15 +101,15 @@ The following steps will create the boot floppy.
 Note: You will need to have the mtools package installed beforehand.
 
  - Insert a floppy in the drive and format it with an MSDOS filesystem:
+
        mformat a:
 
        (if the system doesn't know what device 'a:' is, look at /etc/mtools.conf)
 
  - Run syslinux on the floppy:
+
        syslinux -s /dev/fd0
-       
+
        (the -s stands for "safe, slow, and stupid" and should work better with
        buggy BIOSes; it can be omitted)
 
index e9b11e90aed39a4a5f0511ce04834b4ec15bf59d..8a7c77d784bd7e4c0a45dd664360310afe9216b6 100644 (file)
@@ -4,5 +4,5 @@ echo
 echo -n "Processing /etc/profile... "
 # no-op
 echo "Done"
-echo 
+echo
 
index e56d10469a11fd7800ae25fc009128eea3404e2b..e79ed418ec4d0ef357032b7fff8336493d0c67fa 100755 (executable)
@@ -63,10 +63,10 @@ mount -o loop,exec rootfs $TARGET_DIR # must be root
 # install uClibc
 mkdir -p $TARGET_DIR/lib
 cd $UCLIBC_DIR
-make INSTALL_DIR= 
+make INSTALL_DIR=
 cp -a libc.so* $BASE_DIR/$TARGET_DIR/lib
 cp -a uClibc*.so $BASE_DIR/$TARGET_DIR/lib
-cp -a ld.so-1/d-link/ld-linux-uclibc.so* $BASE_DIR/$TARGET_DIR/lib 
+cp -a ld.so-1/d-link/ld-linux-uclibc.so* $BASE_DIR/$TARGET_DIR/lib
 cp -a ld.so-1/libdl/libdl.so* $BASE_DIR/$TARGET_DIR/lib
 cp -a crypt/libcrypt.so* $BASE_DIR/$TARGET_DIR/lib
 cd $BASE_DIR
index 8d407cad47b65980f9142dc4022806df274a2448..fa2677ca8d6d3b4d1a5b5faebcff9b13ec386693 100644 (file)
@@ -4,4 +4,4 @@ timeout 10
 prompt 1
 label linux
        kernel linux
-       append initrd=rootfs.gz root=/dev/ram0 
+       append initrd=rootfs.gz root=/dev/ram0
index 188b09b29b6e1d3e99bdb95d7f01790a995d4059..3986436c164f723aba377cfd5b01d8099ecfdd9c 100644 (file)
@@ -39,6 +39,6 @@ make PREFIX=$RPM_BUILD_ROOT install
 %Clean
 rm -rf $RPM_BUILD_ROOT
 
-%Files 
+%Files
 %defattr(-,root,root)
 /
index ea29e8883f020dddf47bb902b51e005ee545c38e..9af192208a44e391a906e503819c65e38903badc 100755 (executable)
@@ -4,7 +4,7 @@
 # Copyright (c) 2001 Erik Andersen <andersen@codepoet.org>
 # Copyright (c) 2001 Stuart Hughes <stuarth@lineo.com>
 # Copyright (c) 2002 Steven J. Hill <shill@broadcom.com>
-# This program is free software; you can redistribute it and/or modify it 
+# This program is free software; you can redistribute it and/or modify it
 # under the same terms as Perl itself.
 
 # TODO -- use strict mode...
@@ -54,13 +54,13 @@ if($basedir !~ m-/lib/modules-) {
     warn "WARNING: base directory does not match ..../lib/modules\n";
 }
 
-# Find the list of .o files living under $basedir 
+# Find the list of .o files living under $basedir
 #if ($verbose) { printf "Locating all modules\n"; }
 my($ofile) = "";
 my($file) = "";
 my(@liblist) = ();
-find sub { 
-       if ( -f $_  && ! -d $_ ) { 
+find sub {
+       if ( -f $_  && ! -d $_ ) {
                $file = $File::Find::name;
                if ( $file =~ /.o$/ ) {
                        push(@liblist, $file);
@@ -118,14 +118,14 @@ foreach $obj ( @liblist, $kernel ){
 foreach $module (keys %$dep) {
     $mod->{$module} = {};
     foreach (@{$dep->{$module}}) {
-        if( $exp->{$_} ) { 
+        if( $exp->{$_} ) {
             warn "resolved symbol $_ in file $exp->{$_}\n" if $verbose;
             next if $exp->{$_} =~ /vmlinux/;
             $mod->{$module}{$exp->{$_}} = 1;
         } else {
             warn "unresolved symbol $_ in file $module\n";
         }
-    } 
+    }
 }
 
 # resolve the dependancies for each module
@@ -222,9 +222,9 @@ Be verbose (not implemented)
 =head1 COPYRIGHT
 
 Copyright (c) 2001 David Schleef <ds@schleef.org>
-Copyright (c) 2001 Erik Andersen <andersen@lineo.com>
+Copyright (c) 2001 Erik Andersen <andersen@codepoet.org>
 Copyright (c) 2001 Stuart Hughes <stuarth@lineo.com>
-This program is free software; you can redistribute it and/or modify it 
+This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.
 
 =head1 AUTHOR
@@ -233,5 +233,5 @@ David Schleef <ds@schleef.org>
 
 =cut
 
-# $Id: depmod.pl,v 1.3 2003/07/14 21:20:51 andersen Exp $
+# $Id: depmod.pl,v 1.4 2004/03/15 08:28:33 andersen Exp $
 
index 38df92497eecf905ddc7e41c8df448292c27e65e..ce711ac6c884ac75bd17b6cdb3c2225803c27c1b 100644 (file)
@@ -1,6 +1,6 @@
 # /etc/inittab init(8) configuration for BusyBox
 #
-# Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+# Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
 #
 #
 # Note, BusyBox init doesn't support runlevels.  The runlevels field is
@@ -22,7 +22,7 @@
 #
 # <runlevels>: The runlevels field is completely ignored.
 #
-# <action>: Valid actions include: sysinit, respawn, askfirst, wait, once, 
+# <action>: Valid actions include: sysinit, respawn, askfirst, wait, once,
 #                                  restart, ctrlaltdel, and shutdown.
 #
 #       Note: askfirst acts just like respawn, but before running the specified
index 2b93e0fae2658a6d770b79e1eb20c44e29b1bfa0..00105b3e577951f5907fce9e796fea02d8e2ad27 100644 (file)
@@ -33,7 +33,7 @@ interface     eth0            #default: eth0
 #auto_time     7200            #default: 7200 (2 hours)
 
 
-# The amount of time that an IP will be reserved (leased) for if a 
+# The amount of time that an IP will be reserved (leased) for if a
 # DHCP decline message is received (seconds).
 
 #decline_time  3600            #default: 3600 (1 hour)
index a72e1e2baf8fd15cc56fa7d4504c7a3666c759c4..37104e9d813e0990b11810b658541beb414548b5 100644 (file)
@@ -8,12 +8,12 @@ usage() {
 echo "Usage: undeb -c package.deb            <Print control file info>"
 echo "       undeb -l package.deb            <List contents of deb package>"
 echo "       undeb -x package.deb /foo/boo   <Extract deb package to this directory,"
-echo "                                        put . for current directory>"  
+echo "                                        put . for current directory>"
 exit
 }
 
 deb=$2
+
 exist() {
 if [ "$deb" = "" ]; then
 usage
@@ -30,11 +30,11 @@ exist
 type more >/dev/null 2>&1 && pager=more
 type less >/dev/null 2>&1 && pager=less
 [ "$pager" = "" ] && echo "No pager found!" && exit
-(ar -p $deb control.tar.gz | tar -xzO *control ; echo -e "\nPress enter to scroll, q to Quit!\n" ; ar -p $deb data.tar.gz | tar -tzv) | $pager 
+(ar -p $deb control.tar.gz | tar -xzO *control ; echo -e "\nPress enter to scroll, q to Quit!\n" ; ar -p $deb data.tar.gz | tar -tzv) | $pager
 exit
 elif [ "$1" = "-c" ]; then
 exist
-ar -p $deb control.tar.gz | tar -xzO *control  
+ar -p $deb control.tar.gz | tar -xzO *control
 exit
 elif [ "$1" = "-x" ]; then
 exist
@@ -44,7 +44,7 @@ elif [ ! -d "$3" ]; then
 echo "No such directory $3!"
 exit
 fi
-ar -p $deb data.tar.gz | tar -xzvpf - -C $3 || exit 
+ar -p $deb data.tar.gz | tar -xzvpf - -C $3 || exit
 echo
 echo "Extracted $deb to $3!"
 exit
index 376286a6f0f8af370fe014e8af15bf0830a7e15e..7fd3676f6496e2e4444fcd48eb93c3f77b5b4b0c 100644 (file)
@@ -7,12 +7,12 @@
 usage() {
 echo "Usage: unrpm -l package.rpm            <List contents of rpm package>"
 echo "       unrpm -x package.rpm /foo/boo   <Extract rpm package to this directory,"
-echo "                                        put . for current directory>"  
+echo "                                        put . for current directory>"
 exit
 }
 
 rpm=$2
+
 exist() {
 if [ "$rpm" = "" ]; then
 usage
index a432ad8761fe018cbe674fd955dc41f75efc3785..3143bd438cde1bb0c4c121766f60db13ab144131 100644 (file)
@@ -95,7 +95,7 @@ config CONFIG_XARGS
        default n
        help
          xargs is used to execute a specified command on
-         every item from standard input.  
+         every item from standard input.
 
 config CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
        bool "  Enable prompt and confirmation option -p"
index fffee8f2c6eef3199d0d410baa20d06c92742a13..ba65a0e1dd8e8a9597ea493e5c6cb46b4984a84d 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 6413a7fd1c15804ce737ec2f1583812dfa486f0c..2d2f242a0b5515834ddcce327a1f995cf99df50c 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 66103046008754ec0b0bdff8b1c75762b9bbb871..11a838e9fcc583d7030a508a4d7d74d1d4ea9dc3 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini find 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 David Douthitt <n9ubh@callsign.net> and
  *  Matt Kraai <kraai@alumni.carnegiemellon.edu>.
@@ -98,7 +98,7 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
                time_t mtime_secs = mtime_days * 24 * 60 * 60;
                if (!((isdigit(mtime_char) && file_age >= mtime_secs &&
                                                file_age < mtime_secs + 24 * 60 * 60) ||
-                               (mtime_char == '+' && file_age >= mtime_secs + 24 * 60 * 60) || 
+                               (mtime_char == '+' && file_age >= mtime_secs + 24 * 60 * 60) ||
                                (mtime_char == '-' && file_age < mtime_secs)))
                        goto no_match;
        }
@@ -234,13 +234,13 @@ int find_main(int argc, char **argv)
                                xdev_dev [0] = stbuf. st_dev;
                        }
                        else {
-                       
+
                                for (i = 1; i < firstopt; i++) {
                                        if ( stat ( argv [i], &stbuf ) < 0 )
                                                bb_error_msg_and_die("could not stat '%s'", argv [i] );
                                        xdev_dev [i-1] = stbuf. st_dev;
                                }
-                       }                                               
+                       }
 #endif
 #ifdef CONFIG_FEATURE_FIND_NEWER
                } else if (strcmp(argv[i], "-newer") == 0) {
index 241099c79808c9f020614f3bf1675c8c66f6bbcd..229508cda13f9b06a94988e426fcc8f1ad703234 100644 (file)
@@ -2,7 +2,7 @@
  * Mini grep implementation for busybox using libc regex.
  *
  * Copyright (C) 1999,2000,2001 by Lineo, inc. and Mark Whitley
- * Copyright (C) 1999,2000,2001 by Mark Whitley <markw@codepoet.org> 
+ * Copyright (C) 1999,2000,2001 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
@@ -116,7 +116,7 @@ static int grep_file(FILE *file)
        int print_n_lines_after = 0;
        int curpos = 0; /* track where we are in the circular 'before' buffer */
        int idx = 0; /* used for iteration through the circular buffer */
-#endif /* CONFIG_FEATURE_GREP_CONTEXT */ 
+#endif /* CONFIG_FEATURE_GREP_CONTEXT */
 
        while ((line = bb_get_chomped_line_from_file(file)) != NULL) {
                llist_t *pattern_ptr = pattern_head;
@@ -190,7 +190,7 @@ static int grep_file(FILE *file)
 
                                        /* make a note that we need to print 'after' lines */
                                        print_n_lines_after = lines_after;
-#endif /* CONFIG_FEATURE_GREP_CONTEXT */ 
+#endif /* CONFIG_FEATURE_GREP_CONTEXT */
                                        print_line(line, linenum, ':');
                                }
                        }
@@ -209,7 +209,7 @@ static int grep_file(FILE *file)
                                print_line(line, linenum, '-');
                                print_n_lines_after--;
                        }
-#endif /* CONFIG_FEATURE_GREP_CONTEXT */ 
+#endif /* CONFIG_FEATURE_GREP_CONTEXT */
                free(line);
        }
 
index 8d7e813b5d0d0ef280f3d9b2db93768677412dc2..16b94e20f900a6a8f0598de6201476c5b10a8fa4 100644 (file)
@@ -96,12 +96,12 @@ static int xargs_exec(char *const *args)
                                        return 124;
                                }
                                if (WIFSTOPPED(status)) {
-                                       bb_error_msg("%s: stopped by signal %d", 
+                                       bb_error_msg("%s: stopped by signal %d",
                                                args[0], WSTOPSIG(status));
                                        return 125;
                                }
                                if (WIFSIGNALED(status)) {
-                                       bb_error_msg("%s: terminated by signal %d", 
+                                       bb_error_msg("%s: terminated by signal %d",
                                                args[0], WTERMSIG(status));
                                        return 125;
                                }
@@ -129,7 +129,7 @@ static int eof_stdin_detected;
                    || (c) == '\f' || (c) == '\v')
 
 #ifdef CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
-static xlist_t *process_stdin(xlist_t * list_arg, 
+static xlist_t *process_stdin(xlist_t * list_arg,
        const char *eof_str, size_t mc, char *buf)
 {
 #define NORM      0
@@ -200,7 +200,7 @@ set:
                }
                if (state == SPACE) {   /* word's delimiter or EOF detected */
                        if (q) {
-                               bb_error_msg_and_die("unmatched %s quote", 
+                               bb_error_msg_and_die("unmatched %s quote",
                                        q == '\'' ? "single" : "double");
                        }
                        /* word loaded */
@@ -234,7 +234,7 @@ set:
 }
 #else
 /* The variant does not support single quotes, double quotes or backslash */
-static xlist_t *process_stdin(xlist_t * list_arg, 
+static xlist_t *process_stdin(xlist_t * list_arg,
        const char *eof_str, size_t mc, char *buf)
 {
 
@@ -496,8 +496,8 @@ int xargs_main(int argc, char **argv)
                read_args = process0_stdin;
 #endif
 
-       while ((list = READ_ARGS(list, eof_str, n_max_chars, max_chars)) != NULL || 
-               (opt & OPT_NO_EMPTY) == 0) 
+       while ((list = READ_ARGS(list, eof_str, n_max_chars, max_chars)) != NULL ||
+               (opt & OPT_NO_EMPTY) == 0)
        {
                opt |= OPT_NO_EMPTY;
                n = 0;
@@ -574,7 +574,7 @@ const char *bb_applet_name = "debug stuff usage";
 
 void bb_show_usage(void)
 {
-       fprintf(stderr, "Usage: %s [-p] [-r] [-t] -[x] [-n max_arg] [-s max_chars]\n", 
+       fprintf(stderr, "Usage: %s [-p] [-r] [-t] -[x] [-n max_arg] [-s max_chars]\n",
                bb_applet_name);
        exit(1);
 }
index ba4edcabaf9d7d7e33a602955e23d771376c2e59..f6f575957215af775c7a8a0014bb4738e4785869 100644 (file)
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell 
+ * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
  * Permission has been granted to redistribute this code under the GPL.
  *
  */
@@ -81,7 +81,7 @@ extern const struct BB_applet applets[];
  * applet usage strings.  These are all of the form:
  *             extern int foo_main(int argc, char **argv);
  *             extern const char foo_usage[];
- * These are all autogenerated from the set of currently defined applets. 
+ * These are all autogenerated from the set of currently defined applets.
  */
 #define PROTOTYPES
 #include "applets.h"
index 7814c4b8ec325c39adf4be22122882988d665de4..a01a0ca3e25dcdd278390a600fe7ac5b9214574e 100644 (file)
@@ -17,7 +17,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell 
+ * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
  * Permission has been granted to redistribute this code under the GPL.
  *
  */
@@ -130,7 +130,7 @@ extern int get_kernel_revision(void);
 
 extern int get_console_fd(void);
 extern struct mntent *find_mount_point(const char *name, const char *table);
-extern void write_mtab(char* blockDevice, char* directory, 
+extern void write_mtab(char* blockDevice, char* directory,
                                           char* filesystemType, long flags, char* string_flags);
 extern void erase_mtab(const char * name);
 extern long *find_pid_by_name( const char* pidName);
@@ -276,7 +276,7 @@ enum {
        MEGABYTE = (KILOBYTE*1024),
        GIGABYTE = (MEGABYTE*1024)
 };
-const char *make_human_readable_str(unsigned long long size, 
+const char *make_human_readable_str(unsigned long long size,
                unsigned long block_size, unsigned long display_unit);
 
 int bb_ask_confirmation(void);
index bbf11b5570690e24ea9419dee37d0e84b45e4097..1679b73ab1b90f60fd5e994d5a9a4e6dc5b4b05a 100644 (file)
@@ -37,7 +37,7 @@ typedef struct archive_handle_s {
 
        /* process the data component, e.g. extract to filesystem */
        void (*action_data)(struct archive_handle_s *);
-       
+
        /* How to process any sub archive, e.g. get_header_tar_gz */
        char (*action_data_subarchive)(struct archive_handle_s *);
 
index 816230bf30a3e3cce28ea011a0e19af3e52863f4..d23532735f6c5df74fc7db0e48a5be079b446a5a 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 1b13f693b2bfc2ee035193705d2a1d112ba91a3d..039921435a7d4e50a8515620e2ceaf11b8c3dff1 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 decdaeafdffc19ca3cc03bcfe463bdbe1df73021..bfc0042fa30b3eef9b6b90569f5dabb8ed543853 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini halt 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 d332ccdbe13e8d219d0e3ebe53f389ad0a56dde8..159b539121a286fe926627c9a1438a482756064e 100644 (file)
@@ -3,7 +3,7 @@
  * Mini init implementation for busybox
  *
  * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  * Adjusted by so many folks, it's impossible to keep track.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -22,7 +22,7 @@
  *
  */
 
-/* Turn this on to disable all the dangerous 
+/* Turn this on to disable all the dangerous
    rebooting stuff when debugging.
 #define DEBUG_INIT
 */
@@ -97,7 +97,7 @@ struct serial_struct {
 
 #if defined CONFIG_FEATURE_INIT_COREDUMPS
 /*
- * When a file named CORE_ENABLE_FLAG_FILE exists, setrlimit is called 
+ * When a file named CORE_ENABLE_FLAG_FILE exists, setrlimit is called
  * before processes are spawned to set core file size as unlimited.
  * This is for debugging only.  Don't use this is production, unless
  * you want core dumps lying about....
@@ -351,7 +351,7 @@ static void console_init(void)
        if ((s = getenv("CONSOLE")) != NULL || (s = getenv("console")) != NULL) {
                safe_strncpy(console, s, sizeof(console));
 #if #cpu(sparc)
-       /* sparc kernel supports console=tty[ab] parameter which is also 
+       /* sparc kernel supports console=tty[ab] parameter which is also
         * passed to init, so catch it here */
                /* remap tty[ab] to /dev/ttyS[01] */
                if (strcmp(s, "ttya") == 0)
@@ -555,8 +555,8 @@ static pid_t run(const struct init_action *a)
 
                /*
                   Interactive shells want to see a dash in argv[0].  This
-                  typically is handled by login, argv will be setup this 
-                  way if a dash appears at the front of the command path 
+                  typically is handled by login, argv will be setup this
+                  way if a dash appears at the front of the command path
                   (like "-/bin/sh").
                 */
 
@@ -585,7 +585,7 @@ static pid_t run(const struct init_action *a)
                         * before the user wants it. This is critical if swap is not
                         * enabled and the system has low memory. Generally this will
                         * be run on the second virtual console, and the first will
-                        * be allowed to start a shell or whatever an init script 
+                        * be allowed to start a shell or whatever an init script
                         * specifies.
                         */
                        messageD(LOG, "Waiting for enter to start '%s'"
@@ -610,7 +610,7 @@ static pid_t run(const struct init_action *a)
                }
 #endif
 
-               /* Now run it.  The new program will take over this PID, 
+               /* Now run it.  The new program will take over this PID,
                 * so nothing further in init.c should be run. */
                execv(cmdpath, cmd);
 
@@ -672,7 +672,7 @@ static void init_reboot(unsigned long magic)
 {
        pid_t pid;
        /* We have to fork here, since the kernel calls do_exit(0) in
-        * linux/kernel/sys.c, which can cause the machine to panic when 
+        * linux/kernel/sys.c, which can cause the machine to panic when
         * the init process is killed.... */
        if ((pid = fork()) == 0) {
                reboot(magic);
@@ -866,7 +866,7 @@ static void new_init_action(int action, const char *command, const char *cons)
        /* Append to the end of the list */
        for (a = init_action_list; a && a->next; a = a->next) {
                /* don't enter action if it's already in the list */
-               if ((strcmp(a->command, command) == 0) && 
+               if ((strcmp(a->command, command) == 0) &&
                    (strcmp(a->terminal, cons) ==0)) {
                        free(new_action);
                        return;
@@ -934,9 +934,9 @@ static void check_memory(void)
 
 /* NOTE that if CONFIG_FEATURE_USE_INITTAB is NOT defined,
  * then parse_inittab() simply adds in some default
- * actions(i.e., runs INIT_SCRIPT and then starts a pair 
- * of "askfirst" shells).  If CONFIG_FEATURE_USE_INITTAB 
- * _is_ defined, but /etc/inittab is missing, this 
+ * actions(i.e., runs INIT_SCRIPT and then starts a pair
+ * of "askfirst" shells).  If CONFIG_FEATURE_USE_INITTAB
+ * _is_ defined, but /etc/inittab is missing, this
  * results in the same set of default behaviors.
  */
 static void parse_inittab(void)
@@ -1053,7 +1053,7 @@ static void reload_signal(int sig)
        run_actions(RESPAWN);
         return;
 }
-                                                                                
+                                                            
 extern int init_main(int argc, char **argv)
 {
        struct init_action *a;
@@ -1083,7 +1083,7 @@ extern int init_main(int argc, char **argv)
        signal(SIGSTOP, stop_handler);
        signal(SIGTSTP, stop_handler);
 
-       /* Turn off rebooting via CTL-ALT-DEL -- we get a 
+       /* Turn off rebooting via CTL-ALT-DEL -- we get a
         * SIGINT on CAD so we can shut things down gracefully... */
        init_reboot(RB_DISABLE_CAD);
 #endif
@@ -1125,7 +1125,7 @@ extern int init_main(int argc, char **argv)
 
                /* NOTE that if CONFIG_FEATURE_USE_INITTAB is NOT defined,
                 * then parse_inittab() simply adds in some default
-                * actions(i.e., runs INIT_SCRIPT and then starts a pair 
+                * actions(i.e., runs INIT_SCRIPT and then starts a pair
                 * of "askfirst" shells */
                parse_inittab();
        }
index 4b822fa9478f93fefc7428a004a80ab3c1f73e18..0ad55a433c661858cee70b5ba8ee3cf2bd749338 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Stuff shared between init, reboot, halt, and poweroff
  *
- * 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 e5d45dfa048bff50506ca825810aa7e1a83737d0..81695087dfc82a571efb5d1f376d06e004d21ee6 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini poweroff 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 185152a71ade289d3d749e80c39d37e65f9c4668..ca4e9a24034a8b57d83e8d53d0af14f853062236 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini reboot 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 774cc75ed6e13cf3cd362968c895b9ab4fcd273c..fbcb123301bdd77d3768b5c02ea3a233cd1d6868 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 b9291005588472deeede60a66ccd48ab8380131f..4f28f7e34fc8080083aeb547364a7bcc168414ef 100644 (file)
@@ -1,11 +1,11 @@
 Please see the LICENSE file for copyright information (GPLv2)
-    
+
 libbb is BusyBox's utility library.  All of this stuff used to be stuffed into
 a single file named utility.c.  When I split utility.c to create libbb, some of
 the very oldest stuff ended up without their original copyright and licensing
 information (which is now lost in the mists of time).  If you see something
 that you wrote that is mis-attributed, do let me know so we can fix that up.
 
-       Erik Andersen 
+       Erik Andersen
        <andersen@codepoet.org>
 
index 7075b46deadd24825f1d3cbd7d978900dfa98804..a3ba42454aa95b0c32b93fd6c376012a4f70eeba 100644 (file)
@@ -11,7 +11,7 @@ void bb_xasprintf(char **string_ptr, const char *format, ...)
 {
        va_list p;
        int r;
-       
+
        va_start(p, format);
        r = vasprintf(string_ptr, format, p);
        va_end(p);
index 4fcbb263d90faa451e64fc6dd43ed44539116cfe..774e533d4117a0d006fce94b491501706eb604df 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -29,7 +29,7 @@
 void chomp(char *s)
 {
        char *lc = last_char_is(s, '\n');
-       
+
        if(lc)
                *lc = 0;
 }
index f0ce3d91c6460af22d51879deac92a9da22519f8..77c054530309ebd6273295c0dddbfa1a4370278a 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index 00115e2c9e9ed57832771a5b1c8d7ab5896665d8..bf0a390a311e862807913876cbcefdae980aae88 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 39625361407302b4a46390a43cd47fc4282bbf2a..1da83c4413b01d21cc6aa1d095854dacfccf2448 100644 (file)
 int correct_password ( const struct passwd *pw )
 {
        char *unencrypted, *encrypted, *correct;
-       
+
 #ifdef CONFIG_FEATURE_SHADOWPASSWDS
        if (( strcmp ( pw-> pw_passwd, "x" ) == 0 ) || ( strcmp ( pw-> pw_passwd, "*" ) == 0 )) {
                struct spwd *sp = getspnam ( pw-> pw_name );
-               
+
                if ( !sp )
                        bb_error_msg_and_die ( "no valid shadow password" );
-               
+
                correct = sp-> sp_pwdp;
        }
        else
index abfe2318a566e092ae2b2301ede370e3dd04d1ba..61f954f463a891781c5c164cc8b8f537917286a3 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 5046b926b39addf154e06d2d85952a7c583c73d5..f169da677bc0ac19570d1abb9d4d56f1ca9f5a2a 100644 (file)
@@ -248,8 +248,8 @@ static void rewrite(FS * fs)
                        pr->cchar = pr->fmt + (p1 - fmtp);
 
                        /* DBU:[dave@cray.com] w/o this, trailing fmt text, space is lost.
-                        * Skip subsequent text and up to the next % sign and tack the 
-                        * additional text onto fmt: eg. if fmt is "%x is a HEX number", 
+                        * Skip subsequent text and up to the next % sign and tack the
+                        * additional text onto fmt: eg. if fmt is "%x is a HEX number",
                         * we lose the " is a HEX number" part of fmt.
                         */
                        for (p3 = p2; *p3 && *p3 != '%'; p3++);
index dbb25b7c9d79a4a74d2a08829f0b6a8875d20bd2..18811b8d1eac37f088e26a308aa0cbf885d2a355 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 433f29d0f54ec626ca0dd35f9842f4416bbbf365..0937658a38efb512ec17a72d0de7e820e868b78e 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 72fde58d1b1ef9c3122db223752fcf8ec0b771c2..bf828be95e4a4019b4bf94cda0488c9f622214e2 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index b6320385217fef48a9ff43ae39492b6737e12435..83824de9ef8134351146ee994326e0dd2a15a64a 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 77fa0179eda3fc492dbe6b7a9caa1eaea328b2fc..930710f325ba237102722f27016bd5f1d084c267 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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
 #include <stdlib.h>
 #include "libbb.h"
 
-#define COMM_LEN 16 /* synchronize with size of comm in struct task_struct 
+#define COMM_LEN 16 /* synchronize with size of comm in struct task_struct
                                           in /usr/include/linux/sched.h */
 
 
 /* find_pid_by_name()
- *  
+ *
  *  Modified by Vladimir Oleynik for use with libbb/procps.c
  *  This finds the pid of the specified process.
- *  Currently, it's implemented by rummaging through 
+ *  Currently, it's implemented by rummaging through
  *  the proc filesystem.
  *
  *  Returns a list of all matching PIDs
index 836ce44d584af6066d0ed2c40969a7e44c63d64c..81824a216e6dec0d975607145120bd0241f11163 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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
@@ -35,7 +35,7 @@ extern char *find_real_root_device_name(const char* name)
        char *fileName = NULL;
        dev_t dev;
 
-       if (stat("/", &rootStat) != 0) 
+       if (stat("/", &rootStat) != 0)
                bb_perror_msg("could not stat '/'");
        else {
                /* This check is here in case they pass in /dev name */
@@ -45,7 +45,7 @@ extern char *find_real_root_device_name(const char* name)
                        dev = rootStat.st_dev;
 
                dir = opendir("/dev");
-               if (!dir) 
+               if (!dir)
                        bb_perror_msg("could not open '/dev'");
                else {
                        while((entry = readdir(dir)) != NULL) {
@@ -59,9 +59,9 @@ extern char *find_real_root_device_name(const char* name)
 
                                /* Some char devices have the same dev_t as block
                                 * devices, so make sure this is a block device */
-                               if (stat(fileName, &statBuf) == 0 && 
+                               if (stat(fileName, &statBuf) == 0 &&
                                                S_ISBLK(statBuf.st_mode)!=0 &&
-                                               statBuf.st_rdev == dev) 
+                                               statBuf.st_rdev == dev)
                                        break;
                                free(fileName);
                                fileName=NULL;
index f4b332dcafb0db16f1874b26b64d49aafa83f56d..221fc947bd194b16ca5d7f9fb5b4ae76741a81d9 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 30c7a5079df4e63043565b4f1903d8f317d0478b..30de4078a726eb8c6540aa0fcf1c8cf207b800b2 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 0dc24cb7897c0e998a683ab7230054b40ae5cdaa..bfb7468a8fe606508902f2caef35819f315fb50c 100644 (file)
@@ -29,7 +29,7 @@
 
 
 
-/* From <linux/kd.h> */ 
+/* From <linux/kd.h> */
 static const int KDGKBTYPE = 0x4B33;  /* get keyboard type */
 
 
index 9a831f184e75f5ec87960aedbe5e3be6b5ee566a..6d12b21c477283f4e4f5ae0b977ceca997e76924 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index 69f6a17e509500b278bcf24bd07169ebbbd34775..ef90463fb69ef25ada9cef702c1c75814e6c1caf 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Determine the width and height of the terminal.
  *
- * 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
@@ -30,7 +30,7 @@
 
 /* It is perfectly ok to pass in a NULL for either width or for
  * height, in which case that value will not be set.  It is also
- * perfectly ok to have CONFIG_FEATURE_AUTOWIDTH disabled, in 
+ * perfectly ok to have CONFIG_FEATURE_AUTOWIDTH disabled, in
  * which case you will always get 80x24 */
 void get_terminal_width_height(int fd, int *width, int *height)
 {
index e79d6d6f68e8d7e0fd31b349949c00d3d108afa0..e37ac549a82bbe570531ab3bb918482f9426e775 100644 (file)
@@ -4,7 +4,7 @@
  *
  *  Copyright (C) 2003 Glenn L. McGrath
  *  Copyright (C) 2003 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
 
  LICENSE TERMS
 
- The free distribution and use of this software in both source and binary 
+ The free distribution and use of this software in both source and binary
  form is allowed (with or without changes) provided that:
 
-   1. distributions of this source code include the above copyright 
+   1. distributions of this source code include the above copyright
       notice, this list of conditions and the following disclaimer;
 
    2. distributions in binary form include the above copyright
       notice, this list of conditions and the following disclaimer
       in the documentation and/or other associated materials;
 
-   3. the copyright holder's name is not used to endorse products 
-      built using this software without specific written permission. 
+   3. the copyright holder's name is not used to endorse products
+      built using this software without specific written permission.
 
  ALTERNATIVELY, provided that this notice is retained in full, this product
  may be distributed under the terms of the GNU General Public License (GPL),
  in which case the provisions of the GPL apply INSTEAD OF those given above.
+
  DISCLAIMER
 
  This software is provided 'as is' with no explicit or implied warranties
- in respect of its properties, including, but not limited to, correctness 
+ in respect of its properties, including, but not limited to, correctness
  and/or fitness for purpose.
  ---------------------------------------------------------------------------
  Issue Date: 10/11/2002
@@ -805,7 +805,7 @@ extern int hash_fd(int src_fd, const size_t size, const uint8_t hash_algo,
                cx = &md5_cx;
        }
 #endif
-       
+
        /* Initialize the computation context.  */
 #ifdef CONFIG_SHA1SUM
        if (hash_algo == HASH_SHA1) {
index fb2a17b735c8860c35e50ae069a3aa1672781b8b..87ec15acc02f385bd3dd6f18fbec95d5a64e3a78 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 b53a56de88995f9883ec65497abd55cb7a3cb621..5c765f1be30a819cd3e7e9be787459272232666c 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 656889150d7ac79a2df47c305eac2a557b770510..ad9025c083c7d3d11aef31f385fb8222e0e843f3 100644 (file)
@@ -13,8 +13,8 @@
  *      representations (say, powers of 1024) and manipulating coefficients.
  *      The base ten "bytes" output could be handled similarly.
  *
- *   2) This routine always outputs a decimal point and a tenths digit when 
- *      display_unit != 0.  Hence, it isn't uncommon for the returned string 
+ *   2) This routine always outputs a decimal point and a tenths digit when
+ *      display_unit != 0.  Hence, it isn't uncommon for the returned string
  *      to have a length of 5 or 6.
  *
  *      It might be nice to add a flag to indicate no decimal digits in
@@ -28,7 +28,7 @@
 #include <stdio.h>
 #include "libbb.h"
 
-const char *make_human_readable_str(unsigned long long size, 
+const char *make_human_readable_str(unsigned long long size,
        unsigned long block_size, unsigned long display_unit)
 {
        /* The code will adjust for additional (appended) units. */
@@ -37,7 +37,7 @@ const char *make_human_readable_str(unsigned long long size,
        static const char fmt_tenths[] = "%Lu.%d%c";
 
        static char str[21];            /* Sufficient for 64 bit unsigned integers. */
-       
+
        unsigned long long val;
        int frac;
        const char *u;
index ea82e8ce6c1b77589c7249a264358c6b9f802eb5..fbcd813277b8db911832a6174cce562b81462364 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -69,7 +69,7 @@ void add_to_ino_dev_hashtable(const struct stat *statbuf, const char *name)
        int i;
        size_t s;
        ino_dev_hashtable_bucket_t *bucket;
-    
+
        i = hash_inode(statbuf->st_ino);
        s = name ? strlen(name) : 0;
        bucket = xmalloc(sizeof(ino_dev_hashtable_bucket_t) + s);
index 28007f4437121950294da9e1a504170dc62fd4cd..f44e866df4c81d96c71270d01fc904a6d3f510b6 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * stolen from net-tools-1.59 and stripped down for busybox by 
+ * stolen from net-tools-1.59 and stripped down for busybox by
  *                     Erik Andersen <andersen@codepoet.org>
  *
  * Heavily modified by Manuel Novoa III       Mar 12, 2001
@@ -15,7 +15,7 @@
  *              that either displays or sets the characteristics of
  *              one or more of the system's networking interfaces.
  *
- * Version:     $Id: interface.c,v 1.20 2003/08/29 11:34:08 bug1 Exp $
+ * Version:     $Id: interface.c,v 1.21 2004/03/15 08:28:42 andersen Exp $
  *
  * Author:      Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
  *              and others.  Copyright 1993 MicroWalt Corporation
  *
  * {1.34} - 19980630 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  *                     - gettext instead of catgets for i18n
- *          10/1998  - Andi Kleen. Use interface list primitives.       
- *         20001008 - Bernd Eckenfels, Patch from RH for setting mtu 
+ *          10/1998  - Andi Kleen. Use interface list primitives.
+ *         20001008 - Bernd Eckenfels, Patch from RH for setting mtu
  *                     (default AF was wrong)
  */
 
 /* #define KEEP_UNUSED */
 
-/* 
- * 
+/*
+ *
  * Protocol Families.
- * 
+ *
  */
 #define HAVE_AFINET 1
 #undef HAVE_AFIPX
 #undef HAVE_AFECONET
 #undef HAVE_AFASH
 
-/* 
- * 
+/*
+ *
  * Device Hardware types.
- * 
+ *
  */
 #define HAVE_HWETHER   1
 #define HAVE_HWPPP     1
@@ -1822,7 +1822,7 @@ static void ife_print(struct interface *ptr)
                hw = get_hwntype(-1);
 
        printf(_("%-9.9s Link encap:%s  "), ptr->name, _(hw->title));
-       /* For some hardware types (eg Ash, ATM) we don't print the 
+       /* For some hardware types (eg Ash, ATM) we don't print the
           hardware address if it's null.  */
        if (hw->print != NULL && (!(hw_null_address(hw, ptr->hwaddr) &&
                                                                hw->suppress_null_addr)))
@@ -2011,7 +2011,7 @@ static void ife_print(struct interface *ptr)
                printf("          ");
                if (ptr->map.irq)
                        printf(_("Interrupt:%d "), ptr->map.irq);
-               if (ptr->map.base_addr >= 0x100)        /* Only print devices using it for 
+               if (ptr->map.base_addr >= 0x100)        /* Only print devices using it for
                                                                                           I/O maps */
                        printf(_("Base address:0x%lx "),
                                   (unsigned long) ptr->map.base_addr);
index e9b106aa3933f7f817a67f826fc61d792b35f353..f3caaf178ff62342c227790a0d412fd4c7c5b26a 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Based in part on code from sash, Copyright (c) 1999 by David I. Bell 
+ * Based in part on code from sash, Copyright (c) 1999 by David I. Bell
  * Permission has been granted to redistribute this code under the GPL.
  *
  * This program is free software; you can redistribute it and/or modify
index 740ac523c79ead9abd1a00e149a044e1991fd7d8..e01aafa256fe45e63afb26cefc48fc3d8bc76a2e 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 4d73dc4ccaf8146c2e9573eea275ae2dffcb05cd..81d1f0ab6265cec357f85daba2e4eb43db0e0b22 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 adfd1ffcce31241f599d9f170dbb5d2681ba2154..671c452d297114f25e35d166c321e13f26d1edae 100644 (file)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * 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 81fb8f25596271c4f5c47b0816201a9422cfc014..a2ff5284ac35731c3643e2ffac4f71e2e94ef4d4 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * some system calls possibly missing from libc
  *
- * 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 a62169a2632ad1a6bf5fa5213d8de0d5f8786f11..528422567f0b546244c2f4b1a4ae12c34bcce4db 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 58b0f66e20ecdfc1d0d6faae5f02294815f521ec..42504e81fa93a1f3e0c255ea0e95d48ff8dc1354 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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
@@ -23,8 +23,8 @@
 #include "libbb.h"
 
 
-/* Busybox mount uses either /proc/mounts or /etc/mtab to 
- * get the list of currently mounted filesystems */ 
+/* Busybox mount uses either /proc/mounts or /etc/mtab to
+ * get the list of currently mounted filesystems */
 #if defined CONFIG_FEATURE_MTAB_SUPPORT
 const char bb_path_mtab_file[] = CONFIG_FEATURE_MTAB_FILENAME;
 #else
index 5a36c890def4f33b2b5c42c1567956b7cfa144a1..907a47486697effe31e36874be12ed52fe8939f9 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 906727b7669b28a4a9ba9e8c5aef12b5f9e71f77..22a617cc8c3633094b096811a194154f9933c211 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 57c2a01ecad39972dcf39e985f580f64f46e2549..a9fd0cd09d4c0ec4909a8d26356406ecfd4c6dc8 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 1dd5674ec082e0b7f58d0fcbb8b30c71f33fbc4a..d1457900ee10d9c6d04ce285f6f70ac298ca57c8 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 ec2fcce74952190d690b7bcddae064c1dc595521..21a037f75c1273e448e1dbf757efb13962131225 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 7132c76ef9ba44ae186b2f4b3c7f0071664bd435..185957bc32d17f1697216a4e5b934862309b8eca 100644 (file)
@@ -31,7 +31,7 @@
 
 extern int bb_parse_mode(const char *s, mode_t *current_mode)
 {
-       static const mode_t who_mask[] = { 
+       static const mode_t who_mask[] = {
                S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO, /* a */
                S_ISUID | S_IRWXU,              /* u */
                S_ISGID | S_IRWXG,              /* g */
index 92ad6a21647f2cdd6f6d85d63ce423e3e4a7431f..5262239ff2f84198b171279118e94939a5f73e91 100644 (file)
@@ -34,7 +34,7 @@ unsigned long bb_xparse_number(const char *numstr,
        unsigned long int r;
        char *e;
        int old_errno;
-       
+
        /* Since this is a lib function, we're not allowed to reset errno to 0.
         * Doing so could break an app that is deferring checking of errno.
         * So, save the old value so that we can restore it if successful. */
index 0928e4371dc9437b6577d3cd94a87ab0824ffa23..8ba053188ab5a91d4d024a5e6f954cff12f31db2 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 122f3972b6e36e4ebea3fb0822ce7a0478406b3e..15bf0421e9892cdd385e9d5dbad5f216f59a3427 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 161b398fad819106b7433926fcb9e7e270cf99fe..bd7108d2f0ee4766312f99e91fab656cfc290388 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 3e69331c5b0a559f47db3895c60ef6c0982ef8c1..3c438b2c9654b38162dc1e65e1010a29461d7313 100644 (file)
@@ -46,7 +46,7 @@
 #include <stdarg.h>
 #include "libbb.h"
 
-#if defined(__UCLIBC__) 
+#if defined(__UCLIBC__)
 
 # if defined(__FLAG_ERROR)
 /* Using my newer stdio implementation.  Unlocked macros are:
index ef2717bdd62fde1fa8a93dbb04f5efd4440c551d..f5ac500fafb42e6f5f05a502a5af558fb6a30b9f 100644 (file)
@@ -19,7 +19,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  *
- * 
+ *
  */
 
 #include <stdio.h>
@@ -37,7 +37,7 @@ char bb_process_escape_sequence(const char **ptr)
        unsigned int num_digits;
        unsigned int r;
        unsigned int n;
-       
+
        n = 0;
        q = *ptr;
 
index ce6078539f02106e80768d934f7771524e0df86c..727149d0c3a3c12c3aba5594bdd27163417251e6 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routine.
  *
- * 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 abe8e06fd90cd48b7ae2a21b1512525ca332a7ad..4292689ca9d9681ae861ebaadae10048dba98aed 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index 6ee59e8f1a24af7c48985639f17cebedd041d7ff..d27629829f5f0a1638a2a6d40848bc2692c5cdaf 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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
 
 
 /*
- * Walk down all the directories under the specified 
+ * Walk down all the directories under the specified
  * location, and do something (something specified
  * by the fileAction and dirAction function pointers).
  *
- * Unfortunately, while nftw(3) could replace this and reduce 
- * code size a bit, nftw() wasn't supported before GNU libc 2.1, 
+ * Unfortunately, while nftw(3) could replace this and reduce
+ * code size a bit, nftw() wasn't supported before GNU libc 2.1,
  * and so isn't sufficiently portable to take over since glibc2.1
  * is so stinking huge.
  */
index 0eb766086bc77a54154a810c43214d6a5c15837c..607b84190578d1cbbbf84588818a5c026a359871 100644 (file)
@@ -111,7 +111,7 @@ extern int run_parts(char **args, const unsigned char test_mode, char **env)
                                        exitstatus = 1;
                                }
                        }
-               } 
+               }
                else if (!S_ISDIR(st.st_mode)) {
                        bb_error_msg("component %s is not an executable plain file", filename);
                        exitstatus = 1;
@@ -121,6 +121,6 @@ extern int run_parts(char **args, const unsigned char test_mode, char **env)
                free(filename);
        }
        free(namelist);
-       
+
        return(exitstatus);
 }
index 4855d763ecf6bb8e0a0800639983d77089081434..993b4e7117231c3688a908a69adad126fedcf878 100644 (file)
@@ -54,20 +54,20 @@ void run_shell ( const char *shell, int loginshell, const char *command, const c
        const char **args;
        int argno = 1;
        int additional_args_cnt = 0;
-       
+
        for ( args = additional_args; args && *args; args++ )
                additional_args_cnt++;
 
                args = (const char **) xmalloc (sizeof (char *) * ( 4  + additional_args_cnt ));
-               
+
        args [0] = bb_get_last_path_component ( bb_xstrdup ( shell ));
-       
+
        if ( loginshell ) {
                char *args0;
                bb_xasprintf ( &args0, "-%s", args [0] );
                args [0] = args0;
        }
-    
+
        if ( command ) {
                args [argno++] = "-c";
                args [argno++] = command;
index 67f3268c5f7659b90bcefabb8a94512d4744bf16..92e1d8a4b41f344e9728482f28a481dc735910f9 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 08a2a0d9ccce78b27cfa111e829f06f3a7f4d143..2016e6b52571a61d2cd7134b4bff8500f432b553 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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
 
 
 
-/* Like strncpy but make sure the resulting string is always 0 terminated. */  
+/* Like strncpy but make sure the resulting string is always 0 terminated. */
 extern char * safe_strncpy(char *dst, const char *src, size_t size)
-{   
+{
        dst[size-1] = '\0';
-       return strncpy(dst, src, size-1);   
+       return strncpy(dst, src, size-1);
 }
 
 
index 0ac6c2d96da716f2ecf7fe85f7ea32a4b5e959c3..201ea1cd32a12a13e24fc6bc6f28ba6c2a94cf12 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 b18f8967e048c4c9716785c8d3b68b012571110b..aeb285a53f135f470342508d096670e3a63adb00 100644 (file)
@@ -52,13 +52,13 @@ void setup_environment ( const char *shell, int loginshell, int changeenv, const
 {
        if ( loginshell ) {
                const char *term;
-       
+
                /* Change the current working directory to be the home directory
                 * of the user.  It is a fatal error for this process to be unable
                 * to change to that directory.  There is no "default" home
                 * directory.
                 * Some systems default to HOME=/
-                */              
+                */             
                if ( chdir ( pw-> pw_dir )) {
                        if ( chdir ( "/" )) {
                                syslog ( LOG_WARNING, "unable to cd to %s' for user %s'\n", pw-> pw_dir, pw-> pw_name );
index 8ceb356951b9ec828b7e913cfb69eed66b837b2e..9e89dbd39f8d3b507398106ee854a2a64f45f111 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * some system calls possibly missing from libc
  *
- * 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 4b530416a8760225a517224d7f7aed0e34d1a11c..ac472dbdae58a6926da163bbefc26a6db0a9a442 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 75e7c2d43f2c966d25613b9346f3d24974b17113..38aa28231b4e4609a0e7081150445cf25abbb8d0 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index 681358414775fce64173231b872ab7c778259ce1..be444a97bb9916031647cff157d31ae5c1e3c047 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index 2a19dd182dde89dbc43b91993821c05b5fc59d23..53fdbd37a62321f53d11b684266b03c721d64a03 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 9270290cd9bb22c8fdd421d82bfacbe251c7d07a..07b37e4ad79b51551895116e52a91a6a4ee0edb1 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 2fd70ba1acc73c8e291ebab5d374086f2402eaaa..0601121ad10d0df22fc64ab5b29a6193075cc7b1 100644 (file)
@@ -40,9 +40,9 @@ void vfork_daemon_rexec(int nochdir, int noclose,
        int fd;
        char **vfork_args;
        int a = 0;
-       
+
        setsid();
-       
+
        if (!nochdir)
                chdir("/");
 
@@ -73,6 +73,6 @@ void vfork_daemon_rexec(int nochdir, int noclose,
                bb_perror_msg_and_die("vfork");
        default: /* parent */
                exit(0);
-       }       
+       }
 }
 #endif /* uClinux */
index ffdfd5283918e77bddffb50768f0e876c16151aa..1560eb59584f2723aaa059b5b2579bfbd78cc1a1 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 cd48af2591ab5aadb6f1920039a20719619534f4..5c446967ab19748a0abde5054851e040c0fbde44 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 368451c5200c5d46c16e16f9ab80fcd88c296dde..ab77cb19edc20973f281fa9aec83c1d94984d85c 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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 2443bb2991f18c851842f317a8926b58b42d93ef..4cd22c74f0d6b1dc89be351aff80e7a9a2f20e89 100644 (file)
@@ -64,7 +64,7 @@ int xconnect(struct sockaddr_in *s_addr)
        int s = socket(AF_INET, SOCK_STREAM, 0);
        if (connect(s, (struct sockaddr_in *)s_addr, sizeof(struct sockaddr_in)) < 0)
        {
-               bb_perror_msg_and_die("Unable to connect to remote host (%s)", 
+               bb_perror_msg_and_die("Unable to connect to remote host (%s)",
                                inet_ntoa(s_addr->sin_addr));
        }
        return s;
index da3775a590b02e2081b404e92b8ced667fe2b1fb..01b2f87bcd2504e538db3b3fd502a3ecd7f62cdd 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * 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
@@ -85,7 +85,7 @@ extern char * bb_xstrndup (const char *s, int n) {
                bb_error_msg_and_die("bb_xstrndup bug");
 
        t = xmalloc(++n);
-       
+
        return safe_strncpy(t,s,n);
 }
 #endif
@@ -104,7 +104,7 @@ FILE *bb_xfopen(const char *path, const char *mode)
 extern int bb_xopen(const char *pathname, int flags)
 {
        int ret;
-       
+
        ret = open(pathname, flags, 0777);
        if (ret == -1) {
                bb_perror_msg_and_die("%s", pathname);
@@ -146,10 +146,10 @@ extern void bb_xread_all(int fd, void *buf, size_t count)
 extern unsigned char bb_xread_char(int fd)
 {
        char tmp;
-       
+
        bb_xread_all(fd, &tmp, 1);
 
-       return(tmp);    
+       return(tmp);
 }
 #endif
 
index ed5d3eb4f52e33ae9799bdd743e1e14bc0fe24d6..56fb60e823313d9cfcdd32dd916e519ba94b58ee 100644 (file)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * Copyright (C) 2003 Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 2003-2004 Erik Andersen <andersen@codepoet.org>
  */
 
 
index d743520c3918bea437aab5a1a6145e33bb6262f9..e9008544660b84d579bfac60e4388d9aeddc9f2f 100644 (file)
@@ -29,7 +29,7 @@
 #include "libbb.h"
 
 #ifdef L_xgetularg_bnd_sfx
-extern 
+extern
 unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
                                                                   unsigned long lower,
                                                                   unsigned long upper,
@@ -61,7 +61,7 @@ unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
                bb_show_usage();
        }
        errno = old_errno;      /* Ok.  So restore errno. */
-       
+
        /* Do optional suffix parsing.  Allow 'empty' suffix tables.
         * Note that we also all nul suffixes with associated multipliers,
         * to allow for scaling of the arg by some default multiplier. */
@@ -78,7 +78,7 @@ unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
                        }
                        ++suffixes;
                }
-       }               
+       }
 
        /* Finally, check for illegal trailing chars and range limits. */
        /* Note: although we allow leading space (via stroul), trailing space
@@ -92,7 +92,7 @@ unsigned long bb_xgetularg_bnd_sfx(const char *arg, int base,
 #endif
 
 #ifdef L_xgetlarg_bnd_sfx
-extern 
+extern
 long bb_xgetlarg_bnd_sfx(const char *arg, int base,
                                                 long lower,
                                                 long upper,
@@ -124,7 +124,7 @@ long bb_xgetlarg_bnd_sfx(const char *arg, int base,
 #endif
 
 #ifdef L_getlarg10_sfx
-extern 
+extern
 long bb_xgetlarg10_sfx(const char *arg, const struct suffix_mult *suffixes)
 {
        return bb_xgetlarg_bnd_sfx(arg, 10, LONG_MIN, LONG_MAX, suffixes);
@@ -132,7 +132,7 @@ long bb_xgetlarg10_sfx(const char *arg, const struct suffix_mult *suffixes)
 #endif
 
 #ifdef L_xgetularg_bnd
-extern 
+extern
 unsigned long bb_xgetularg_bnd(const char *arg, int base,
                                                           unsigned long lower,
                                                           unsigned long upper)
@@ -142,7 +142,7 @@ unsigned long bb_xgetularg_bnd(const char *arg, int base,
 #endif
 
 #ifdef L_xgetularg10_bnd
-extern 
+extern
 unsigned long bb_xgetularg10_bnd(const char *arg,
                                                                 unsigned long lower,
                                                                 unsigned long upper)
@@ -152,7 +152,7 @@ unsigned long bb_xgetularg10_bnd(const char *arg,
 #endif
 
 #ifdef L_xgetularg10
-extern 
+extern
 unsigned long bb_xgetularg10(const char *arg)
 {
        return bb_xgetularg10_bnd(arg, 0, ULONG_MAX);
index b8cfe617a960f92d142cdd8f4f755df72d4885ff..21a657dfc66cfd0dd8c3dd48f54f7ef85868020e 100644 (file)
 #include "libbb.h"
 
 extern char *xreadlink(const char *path)
-{                       
+{   
        static const int GROWBY = 80; /* how large we will grow strings by */
 
-       char *buf = NULL;   
+       char *buf = NULL;
        int bufsize = 0, readsize = 0;
 
        do {
@@ -27,10 +27,10 @@ extern char *xreadlink(const char *path)
                    bb_perror_msg("%s", path);
                    return NULL;
                }
-       }           
+       }
        while (bufsize < readsize + 1);
 
        buf[readsize] = '\0';
 
        return buf;
-}       
+}
index bfccfec692eebb246f1d7e0b9f0ac920a521e024..fa6c0fa2b08d7e8c03139ec8fbc92c7037c2f050 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Utility routines.
  *
- * Copyright (C) many different people.  
+ * Copyright (C) many different people.
  * If you wrote this, please acknowledge your work.
  *
  * This program is free software; you can redistribute it and/or modify
index 5c54be325ed32b70298af9e79c3509fac0e20298..79dbb462f6bbc64b920ff74f8530baf95b22a012 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 886639e1fa9544fc7a941912d9e39ffd5529c75d..cb7cbde7634dbac708eba5cd71a50268aca81bfc 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 a20b3a260b69317744965a9592cd039139bdfa76..ed4f59c5b164b5d51ec214b715f381272616bd5c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * __getgrent.c - This file is part of the libc-8086/grp package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -187,7 +187,7 @@ struct group *bb_getgrent(int grp_fd)
        }
 #else                                                  /* !GR_SCALE_DYNAMIC */
        free(members);
-       members = (char **) malloc((member_num + 1) * sizeof(char *));   
+       members = (char **) malloc((member_num + 1) * sizeof(char *));
        for ( ; field_begin && *field_begin != '\0'; field_begin = ptr) {
            if ((ptr = strchr(field_begin, ',')) != NULL)
                *ptr++ = '\0';
index 1b38c27efc6e5a89f3e7713d372f9e0858e9cb7b..09ed63139da7be5537f690537226ca42ed8b819e 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * __getpwent.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
index da4ca053fa271daa78c954593bd7a43e1d54a910..77c2884ed4d41ace35375ab7df0af430e413fcda 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * fgetgrent.c - This file is part of the libc-8086/grp package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <stdio.h>
 #include <errno.h>
index 54c3b3adc9690745a6e09f91b57f91c4943b422b..74bf922d7725b705b4e7982ad4305db42a019c12 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * fgetpwent.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <errno.h>
 #include <stdio.h>
index 0f5ce1cac0ed9ffc1d87d4541aba59f7fb73cafc..4502e2b426e1a6b29e466b7245b909bf6297f40c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * getgrgid.c - This file is part of the libc-8086/grp package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <sys/types.h>
 #include <unistd.h>
index 46950e2b6da4e3850bd43c2053cd13f4c9fc5be6..766b7bc5d776c6cfa78d69ab9ac4c59e97e64a25 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * getgrnam.c - This file is part of the libc-8086/grp package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
index d46e2c7dab76def5c9710bc92536a5d548f4e63b..8494a6ae9e13c50681eddabe5c7c702ebeb93504 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * getpw.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <sys/types.h>
 #include <errno.h>
index 013f155bc2f125192fc5bc23712c90b4d4563bb5..f4caeeab1ae9d1f24029eae974c0d16b1051ab2c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * getpwnam.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <unistd.h>
 #include <string.h>
index bae6e15e63b9d2986ab380dc783ac881c023d119..7fa7ed956d35a006756d48c909fdb36e2d1851aa 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * getpwuid.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
index ff3c49e68057e773fc1e83f9fb1c894b435494ec..753026c29c424e669532b605a96931f22237a2d9 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * grent.c - This file is part of the libc-8086/grp package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -24,7 +24,7 @@
  * in together.
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <unistd.h>
 #include <fcntl.h>
index f979483796c0ce62511a839634580cf78effc927..9243fd3ac699964c8b8bbc9411de8742dcb1ca91 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * initgroups.c - This file is part of the libc-8086/grp package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <unistd.h>
 #include <string.h>
index f6b3a25772d6e125c07c665974982997aaf7fb54..0710ff5b28826b33316db635733bba1ff35a4043 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * putpwent.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
@@ -18,7 +18,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <stdio.h>
 #include <errno.h>
index f7f8581f3e8ca12bd35de90f7bc6b2254fc121bf..1cdb2d45419e82815eeb5173b6d8c2ec55a36327 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * pwent.c - This file is part of the libc-8086/pwd package for ELKS,
  * Copyright (C) 1995, 1996 Nat Friedman <ndf@linux.mit.edu>.
- * 
+ *
  *  This library is free software; you can redistribute it and/or
  *  modify it under the terms of the GNU Library General Public
  *  License as published by the Free Software Foundation; either
index 449e811dcc5eb317fcca7c90940b1c13a95e5bad..15a16f4e6cd9e582f747564c1cb2fa15a5fa5c06 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Taken from the set of syscalls for uClibc
  *
- * 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 Library General Public License as published by
@@ -20,7 +20,7 @@
  *
  */
 
-#include "busybox.h" 
+#include "busybox.h"
 
 #include <errno.h>
 #include <unistd.h>
index 9e218f96ffd86a880928919b3c482a97f247d017..b3a4901f5ec5b65674d85be9a4233907b4c42bf5 100644 (file)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * Copyright 1989 - 1994, Julianne Frances Haugh 
+ * Copyright 1989 - 1994, Julianne Frances Haugh
  *                     <jockgrrl@austin.rr.com>, <jfh@austin.ibm.com>
  * All rights reserved.
  *
@@ -29,8 +29,8 @@
  * SUCH DAMAGE.
  */
 
-/* TODO:  fgetspent_r.c  getspent_r.c  getspnam_r.c sgetspent_r.c 
- *               lckpwdf  ulckpwdf 
+/* TODO:  fgetspent_r.c  getspent_r.c  getspnam_r.c sgetspent_r.c
+ *               lckpwdf  ulckpwdf
  */
 
 #include <stdio.h>
@@ -267,7 +267,7 @@ struct spwd *fgetspent(FILE *fp)
 
 /*
  * putspent - put a (struct spwd *) into the (FILE *) you provide.
- * 
+ *
  *     this was described in shadow_.h but not implemented, so here
  *     I go.  -beppu
  *
@@ -290,7 +290,7 @@ int putspent(const struct spwd *sp, FILE *fp)
                        sp->sp_min,                     /* minimum number of days between changes */
                        sp->sp_max,                     /* maximum number of days between changes */
                        sp->sp_warn,            /* number of days of warning before password expires */
-                       sp->sp_inact,           /* number of days after password expires until 
+                       sp->sp_inact,           /* number of days after password expires until
                                                                   the account becomes unusable */
                        sp->sp_expire,          /* days since 1/1/70 until account expires */
                        "");
index 3359d56380b062614f7cacdae3a6b31eef283be5..a013d141f66f953c30771636b7dfbf20db71e2d3 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 160051094687917a4bde0430cf41d2d2003fbb35..87c0a5c4e671233eae0f566269a3ddcdf4e715c0 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 af1cd7a8353de89cd04edaaa3b200d99f546ec42..cfbd71624dc52752ed8aa770f961886604f724f4 100644 (file)
@@ -136,7 +136,7 @@ extern void if_i_am_not_root(void);
 /*
  * addgroup will take a login_name as its first parameter.
  *
- * gid 
+ * gid
  *
  * can be customized via command-line parameters.
  * ________________________________________________________________________ */
@@ -157,7 +157,7 @@ int addgroup_main(int argc, char **argv)
        } else {
                bb_show_usage();
        }
-       
+
        if (optind < argc) {
                user = argv[optind];
                optind++;
index c4ab557d010caf39ea79a42617ae5f5a68a73698..3e10fd39862a1e87c8ed7efe5738f43a35ea3748 100644 (file)
@@ -77,7 +77,7 @@ static int passwd_study(const char *filename, struct passwd *p)
        if ((p->pw_uid > max) || (p->pw_uid < min))
                p->pw_uid = min;
 
-       /* stuff to do:  
+       /* stuff to do:
         * make sure login isn't taken;
         * find free uid and gid;
         */
@@ -246,7 +246,7 @@ void if_i_am_not_root(void)
  *
  * home
  * shell
- * gecos 
+ * gecos
  *
  * can be customized via command-line parameters.
  * ________________________________________________________________________ */
index b12b88fb1f294a73b182dfe3d0eff11b36072a0c..0e475e4c0c10c6644a2682647ca06ab09c0679e3 100644 (file)
@@ -5,13 +5,13 @@
    be here. Now read the real man-page agetty.8 instead.
 
    -f option added by Eric Rasmussen <ear@usfirst.org> - 12/28/95
-   
+
    1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
    - added Native Language Support
 
    1999-05-05 Thorsten Kranzkowski <dl8bcu@gmx.net>
    - enable hardware flow control before displaying /etc/issue
-   
+
 */
 
 #include <stdio.h>
@@ -54,11 +54,11 @@ extern void updwtmp(const char *filename, const struct utmp *ut);
 
  /*
   * Things you may want to modify.
-  * 
+  *
   * If ISSUE is not defined, agetty will never display the contents of the
   * /etc/issue file. You will not want to spit out large "issue" files at the
   * wrong baud rate. Relevant for System V only.
-  * 
+  *
   * You may disagree with the default line-editing etc. characters defined
   * below. Note, however, that DEL cannot be used for interrupt generation
   * and for line editing at the same time.
@@ -386,7 +386,7 @@ static void parse_args(int argc, char **argv, struct options *op)
                case 'I':
                        if (!(op->initstring = strdup(optarg)))
                                error(bb_msg_memory_exhausted);
-                               
+
                        {
                                const char *p;
                                char *q;
@@ -700,9 +700,9 @@ static void auto_baud(struct termio *tp)
         * the DCD line, and if the computer is fast enough to set the proper
         * baud rate before the message has gone by. We expect a message of the
         * following format:
-        * 
+        *
         * <junk><number><junk>
-        * 
+        *
         * The number is interpreted as the baud rate of the incoming call. If the
         * modem does not tell us the baud rate within one second, we will keep
         * using the current baud rate. It is advisable to enable BREAK
index ee50a175a044d701532c1c7c1c55f2d9c1a9dfbe..99f66b53bcfae03ee5bb3e25390f9eb56de9e26b 100644 (file)
@@ -77,7 +77,7 @@ extern int login_main(int argc, char **argv)
        int opt_preserve = 0;
        int opt_fflag = 0;
        char *opt_host = 0;
-       int alarmstarted = 0;   
+       int alarmstarted = 0;
 #ifdef CONFIG_SELINUX
        int flask_enabled = is_flask_enabled();
        security_id_t sid = 0, old_tty_sid, new_tty_sid;
@@ -88,7 +88,7 @@ extern int login_main(int argc, char **argv)
        signal ( SIGALRM, alarm_handler );
        alarm ( TIMEOUT );
        alarmstarted = 1;
-       
+
        while (( flag = getopt(argc, argv, "f:h:p")) != EOF ) {
                switch ( flag ) {
                case 'p':
@@ -104,7 +104,7 @@ extern int login_main(int argc, char **argv)
 
                        if ( !amroot )          /* Auth bypass only if real UID is zero */
                                bb_error_msg_and_die ( "-f permission denied" );
-                       
+
                        safe_strncpy(username, optarg, USERNAME_SIZE);
                        opt_fflag = 1;
                        break;
@@ -119,7 +119,7 @@ extern int login_main(int argc, char **argv)
        if (optind < argc)             // user from command line (getty)
                safe_strncpy(username, argv[optind], USERNAME_SIZE);
 
-       if ( !isatty ( 0 ) || !isatty ( 1 ) || !isatty ( 2 )) 
+       if ( !isatty ( 0 ) || !isatty ( 1 ) || !isatty ( 2 ))
                return EXIT_FAILURE;            /* Must be a terminal */
 
 #ifdef CONFIG_FEATURE_U_W_TMP
@@ -136,7 +136,7 @@ extern int login_main(int argc, char **argv)
        if ( amroot )
                memset ( utent.ut_host, 0, sizeof utent.ut_host );
 #endif
-       
+
        if ( opt_host ) {
 #ifdef CONFIG_FEATURE_U_W_TMP
                safe_strncpy ( utent.ut_host, opt_host, sizeof( utent. ut_host ));
@@ -145,7 +145,7 @@ extern int login_main(int argc, char **argv)
        }
        else
                snprintf ( fromhost, sizeof( fromhost ) - 1, " on `%.100s'", tty );
-       
+
        setpgrp();
 
        openlog ( "login", LOG_PID | LOG_CONS | LOG_NOWAIT, LOG_AUTH );
@@ -167,14 +167,14 @@ extern int login_main(int argc, char **argv)
                        pw_copy.pw_passwd = "!";
                        opt_fflag = 0;
                        failed = 1;
-               } else 
+               } else
                        pw_copy = *pw;
 
                pw = &pw_copy;
 
                if (( pw-> pw_passwd [0] == '!' ) || ( pw-> pw_passwd[0] == '*' ))
                        failed = 1;
-               
+
                if ( opt_fflag ) {
                        opt_fflag = 0;
                        goto auth_ok;
@@ -192,14 +192,14 @@ extern int login_main(int argc, char **argv)
                        goto auth_ok;
 
                failed = 1;
-               
+
 auth_ok:
-               if ( !failed) 
+               if ( !failed)
                        break;
 
                { // delay next try
                        time_t start, now;
-                       
+
                        time ( &start );
                        now = start;
                        while ( difftime ( now, start ) < FAIL_DELAY) {
@@ -215,7 +215,7 @@ auth_ok:
                        return EXIT_FAILURE;
        }
        }
-               
+
        alarm ( 0 );
        if ( check_nologin ( pw-> pw_uid == 0 ))
                return EXIT_FAILURE;
@@ -253,15 +253,15 @@ auth_ok:
                sid = 0;
 #endif
 
-       if ( *tty != '/' ) 
+       if ( *tty != '/' )
                snprintf ( full_tty, sizeof( full_tty ) - 1, "/dev/%s", tty);
        else
                safe_strncpy ( full_tty, tty, sizeof( full_tty ) - 1 );
-       
-       if ( !is_my_tty ( full_tty ))  
+
+       if ( !is_my_tty ( full_tty ))
                syslog ( LOG_ERR, "unable to determine TTY name, got %s\n", full_tty );
-               
-       /* Try these, but don't complain if they fail 
+
+       /* Try these, but don't complain if they fail
         * (for example when the root fs is read only) */
        chown ( full_tty, pw-> pw_uid, pw-> pw_gid );
        chmod ( full_tty, 0600 );
@@ -275,14 +275,14 @@ auth_ok:
        motd ( );
        signal ( SIGALRM, SIG_DFL );    /* default alarm signal */
 
-       if ( pw-> pw_uid == 0 ) 
+       if ( pw-> pw_uid == 0 )
                syslog ( LOG_INFO, "root login %s\n", fromhost );
        run_shell ( tmp, 1, 0, 0
 #ifdef CONFIG_SELINUX
        , sid
 #endif
         );     /* exec the shell finally. */
-       
+
        return EXIT_FAILURE;
 }
 
@@ -306,7 +306,7 @@ static int login_prompt ( char *buf_name )
                for ( sp = buf; isspace ( *sp ); sp++ ) { }
                for ( ep = sp; isgraph ( *ep ); ep++ ) { }
 
-               *ep = 0;                
+               *ep = 0;
                safe_strncpy(buf_name, sp, USERNAME_SIZE);
                if(buf_name[0])
                        return 1;
@@ -332,7 +332,7 @@ static int check_nologin ( int amroot )
                }
                if ( !amroot )
                        return 1;
-                       
+
                puts ( "\r\n[Disconnect bypassed -- root login allowed.]\r" );
        }
        return 0;
@@ -377,7 +377,7 @@ static int is_my_tty ( const char *tty )
 
        if ( stat ( tty, &by_name ) || fstat ( 0, &by_fd ))
                return 0;
-               
+
        if ( by_name. st_rdev != by_fd. st_rdev )
                return 0;
        else
@@ -391,8 +391,8 @@ static void motd ( )
        register int c;
 
        if (( fp = fopen ( bb_path_motd_file, "r" ))) {
-               while (( c = getc ( fp )) != EOF ) 
-                       putchar ( c );          
+               while (( c = getc ( fp )) != EOF )
+                       putchar ( c );
                fclose ( fp );
        }
 }
index 2d7a7ac05a9ff756fd1f2a75ba599233ad63c9ee..ec0c16c7dc726177e9200a66e41e0c85c5086dea 100644 (file)
@@ -84,12 +84,12 @@ int su_main ( int argc, char **argv )
     }
 
        /* get user if specified */
-       if ( optind < argc ) 
+       if ( optind < argc )
                opt_username = argv [optind++];
 
        if ( optind < argc )
                opt_args = argv + optind;
-               
+
 #if defined( SYSLOG_SUCCESS ) || defined( SYSLOG_FAILURE )
 #ifdef CONFIG_FEATURE_U_W_TMP
        /* The utmp entry (via getlogin) is probably the best way to identify
@@ -108,11 +108,11 @@ int su_main ( int argc, char **argv )
 
        openlog ( bb_applet_name, 0, LOG_AUTH );
 #endif
-               
+
        pw = getpwnam ( opt_username );
        if ( !pw )
                bb_error_msg_and_die ( "user %s does not exist", opt_username );
-               
+
        /* Make sure pw->pw_shell is non-NULL.  It may be NULL when NEW_USER
           is a username that is retrieved via NIS (YP), but that doesn't have
           a default shell listed.  */
@@ -145,13 +145,13 @@ int su_main ( int argc, char **argv )
        if ( !opt_shell )
                opt_shell = pw->pw_shell;
 
-       change_identity ( pw ); 
+       change_identity ( pw );
        setup_environment ( opt_shell, opt_loginshell, !opt_preserve, pw );
        run_shell ( opt_shell, opt_loginshell, opt_command, (const char**)opt_args
 #ifdef CONFIG_SELINUX
        , 0
 #endif
        );
-       
+
        return EXIT_FAILURE;
 }
index c5327c201796a97724f3f6a24865c0343f60ca06..7e18c16a093e0a69e326125bd3c0c436ce82dee6 100644 (file)
@@ -86,11 +86,11 @@ config CONFIG_HDPARM
        default n
        help
          Get/Set hard drive parameters.  Primarily intended for ATA
-         drives.  Adds about 13k (or around 30k if you enable the 
+         drives.  Adds about 13k (or around 30k if you enable the
          CONFIG_FEATURE_HDPARM_GET_IDENTITY option)....
 
 config CONFIG_FEATURE_HDPARM_GET_IDENTITY
-       bool "  Support obtaining detailed information directly from drives" 
+       bool "  Support obtaining detailed information directly from drives"
        default y
        depends on CONFIG_HDPARM
        help
@@ -99,7 +99,7 @@ config CONFIG_FEATURE_HDPARM_GET_IDENTITY
          feature set.  Enabling this option will add about 16k...
 
 config CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
-       bool "  Register an IDE interface (DANGEROUS)" 
+       bool "  Register an IDE interface (DANGEROUS)"
        default n
        depends on CONFIG_HDPARM
        help
@@ -107,7 +107,7 @@ config CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
          This is dangerous stuff, so you should probably say N.
 
 config CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
-       bool "  Un-register an IDE interface (DANGEROUS)" 
+       bool "  Un-register an IDE interface (DANGEROUS)"
        default n
        depends on CONFIG_HDPARM
        help
@@ -115,7 +115,7 @@ config CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
          This is dangerous stuff, so you should probably say N.
 
 config CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
-       bool "  perform device reset (DANGEROUS)" 
+       bool "  perform device reset (DANGEROUS)"
        default n
        depends on CONFIG_HDPARM
        help
@@ -123,7 +123,7 @@ config CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
          This is dangerous stuff, so you should probably say N.
 
 config CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
-       bool "  tristate device for hotswap (DANGEROUS)" 
+       bool "  tristate device for hotswap (DANGEROUS)"
        default n
        depends on CONFIG_HDPARM
        help
index 374ce68f8766f69fe8f7e4a449f7faf190e957cb..4bae724769af5b2e0fa0cb2abef7fb7be12f877d 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 fea9b89267f06f6aa1e89762995ceaa93c59d677..89e3208a612fd0a7433baa64ebf2e6a05b73ddee 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 e941f6b4fd6fee5e742466c35743d4b11fe89b5e..110c026545750e5763941237887cce713827971d 100644 (file)
@@ -76,7 +76,7 @@ static char *ret_code_descript[] = {
 #else
 void usage(char *prog)
 {
-       fprintf(stderr, 
+       fprintf(stderr,
                "Usage: %s [ -q ] [ -o offset ] [ -f frequency ] [ -p timeconstant ] [ -t tick ]\n",
                prog);
 }
@@ -126,7 +126,7 @@ int main(int argc, char ** argv)
        ret = adjtimex(&txc);
 
        if (ret < 0) perror("adjtimex");
-       
+
        if (!quiet && ret>=0) {
                printf(
                        "    mode:         %d\n"
index f574ae4a0f6c16c8105dc9311b7d37fbf8c204d6..0ac658d9c31d76312de367cf15e641fdabdb4276 100644 (file)
@@ -87,7 +87,7 @@ static void not(void)
 
 static void set_output_base(void)
 {
-       base=(unsigned char)pop();      
+       base=(unsigned char)pop();
        if ((base != 10) && (base != 16)) {
                fprintf(stderr, "Error: base = %d is not supported.\n", base);
                base=10;
@@ -96,7 +96,7 @@ static void set_output_base(void)
 
 static void print_base(double print)
 {
-       if (base == 16) 
+       if (base == 16)
                printf("%x\n", (unsigned int)print);
        else
        printf("%g\n", print);
@@ -178,7 +178,7 @@ static void stack_machine(const char *argument)
 }
 
 /* return pointer to next token in buffer and set *buffer to one char
- * past the end of the above mentioned token 
+ * past the end of the above mentioned token
  */
 static char *get_token(char **buffer)
 {
index 5c91b522db2f779ec0ebc2a13ccd478f535b58e6..eaa61c102e9804b6901a06c1acda4fb21d3db4c8 100644 (file)
@@ -606,7 +606,7 @@ static uint8_t mode_loop(uint16_t mode_sup, uint16_t mode_sel, int cc, uint8_t *
 static void print_ascii(uint16_t *p, uint8_t length) {
        uint8_t ii;
        char cl;
-       
+
        /* find first non-space & print it */
        for(ii = 0; ii< length; ii++)
        {
@@ -1080,7 +1080,7 @@ static void identify (uint16_t *id_supplied, const char *devname)
                if_printf(((dev == ATAPI_DEV) && (eqpt != CDROM) && (val[CAPAB_0] & DMA_IL_SUP)),
                                        "\t     Interleaved DMA support\n");
 
-               if((val[WHATS_VALID] & OK_W64_70) && 
+               if((val[WHATS_VALID] & OK_W64_70) &&
                   (val[DMA_TIME_MIN] || val[DMA_TIME_NORM]))
                {
                        printf("\t     Cycle time:");
@@ -1241,7 +1241,7 @@ static int do_ctimings, do_timings = 0;
 static unsigned long set_readahead= 0, get_readahead= 0, bbreadahead= 0;
 static unsigned long set_readonly = 0, get_readonly = 0, readonly = 0;
 static unsigned long set_unmask   = 0, get_unmask   = 0, unmask   = 0;
-static unsigned long set_mult     = 0, get_mult     = 0, mult     = 0;     
+static unsigned long set_mult     = 0, get_mult     = 0, mult     = 0;
 #ifdef CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
 static unsigned long set_dma      = 0, get_dma      = 0, dma      = 0;
 #endif
index e7f9eb57a10023c97b17de0f721188699c25a655..86613bf27a88b32f032e9b9ebd96f7a17c9511e1 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * last implementation for busybox
  *
- * Copyright (C) 2003  Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 2003-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
@@ -68,10 +68,10 @@ extern int last_main(int argc, char **argv)
                        else if (strncmp(ut.ut_user, "runlevel", 7) == 0)
                                ut.ut_type = RUN_LVL;
                } else {
-                       if (!ut.ut_name[0] || strcmp(ut.ut_name, "LOGIN") == 0 || 
+                       if (!ut.ut_name[0] || strcmp(ut.ut_name, "LOGIN") == 0 ||
                                        ut.ut_name[0] == 0)
                        {
-                               /* Don't bother.  This means we can't find how long 
+                               /* Don't bother.  This means we can't find how long
                                 * someone was logged in for.  Oh well. */
                                continue;
                        }
index 308d651ae92e4433a397bc4140c83b254952c5f3..45498bb1d0ece40bee018c87b1d990cf9ea1ffc0 100644 (file)
@@ -1,9 +1,9 @@
 /* vi: set sw=4 ts=4: */
 /*
  * public domain -- Dave 'Kill a Cop' Cinege <dcinege@psychosis.com>
- * 
+ *
  * makedevs
- * Make ranges of device files quickly. 
+ * Make ranges of device files quickly.
  * known bugs: can't deal with alpha ranges
  */
 
index e7995455291d733c077409642fee73300e78fa13..b0cdaccb9cc80bb021b252dd7e433ca8ede3c3d5 100644 (file)
@@ -57,7 +57,7 @@ extern int mt_main(int argc, char **argv)
        struct mtop op;
        struct mtpos position;
        int fd, mode;
-       
+
        if (argc < 2) {
                bb_show_usage();
        }
index 2b16f2e220ff22699f4f64fb8c657ef64f94005a..8edc8877a2db207e8d85b8689b1529d540faf79b 100644 (file)
@@ -1,14 +1,14 @@
 /*-------------------------------------------------------------------------
  * Filename:      xmodem.c
- * Version:       $Id: rx.c,v 1.1 2003/12/20 07:30:35 bug1 Exp $
+ * Version:       $Id: rx.c,v 1.2 2004/03/15 08:28:46 andersen Exp $
  * Copyright:     Copyright (C) 2001, Hewlett-Packard Company
  * Author:        Christopher Hoover <ch@hpl.hp.com>
- * Description:   xmodem functionality for uploading of kernels 
+ * Description:   xmodem functionality for uploading of kernels
  *                and the like
  * Created at:    Thu Dec 20 01:58:08 PST 2001
  *-----------------------------------------------------------------------*/
 /*
- * xmodem.c: xmodem functionality for uploading of kernels and 
+ * xmodem.c: xmodem functionality for uploading of kernels and
  *            the like
  *
  * Copyright (C) 2001 Hewlett-Packard Laboratories
@@ -69,7 +69,7 @@ Cf:
 #define TIMEOUT_LONG 10
 #define MAXERRORS 10
 
-static inline void write_byte(int fd, char cc) { 
+static inline void write_byte(int fd, char cc) {
        write(fd, &cc, 1);
 }
 
@@ -80,7 +80,7 @@ static inline void write_flush(int fd) {
 static inline void read_flush(int fd) {
        tcflush(fd, TCIFLUSH);
 }
-  
+
 static int read_byte(int fd, unsigned int timeout) {
        char buf[1];
        int n;
@@ -312,12 +312,12 @@ int rx_main(int argc, char **argv)
 
        if (tcgetattr(ttyfd, &tty) < 0)
                        bb_error_msg_and_die("%s: tcgetattr failed: %m\n", argv[0]);
-       
+
        orig_tty = tty;
 
        cfmakeraw(&tty);
        tcsetattr(ttyfd, TCSAFLUSH, &tty);
-       
+
        memset(&act, 0, sizeof(act));
        act.sa_handler = sigalrm_handler;
        sigaction(SIGALRM, &act, 0);
index 4778cfb5fd30215cb6a60b1bcd278f2df2c41b45..5dcd876e93ba67db10ef849c0ce446800f3b8400 100644 (file)
@@ -136,7 +136,7 @@ pipe:
  *    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> 
+ *             ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change>
  *
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
index 7aaa12e2ade5f6a64254cf0b1de6fa2c96c78764..ca896a1c57dd2464697474ef86eb4e936eb3aa04 100644 (file)
@@ -17,7 +17,7 @@
    02111-1307, USA.  */
 
 /* Originally written by David Keppel <pardo@cs.washington.edu>.
-   Heavily modified by David MacKenzie <djm@gnu.ai.mit.edu>.  
+   Heavily modified by David MacKenzie <djm@gnu.ai.mit.edu>.
    Heavily modified for busybox by Erik Andersen <andersen@codepoet.org>
    */
 
index b1167dc90c8a4eb2b4a36dafdc59ec3f00bc166f..276fadebdad9cb96c941da055441deea01c7d6c2 100644 (file)
@@ -67,7 +67,7 @@ extern int watchdog_main(int argc, char **argv)
        fd = bb_xopen(argv[argc - 1], O_WRONLY);
 
        while (1) {
-               /* 
+               /*
                 * Make sure we clear the counter before sleeping, as the counter value
                 * is undefined at this point -- PFM
                 */
index d9f76d1b482288e854e1c04ac67dd147c6d4221f..faccee88fd3a2b9db922f30bcd95fd5071b26eaa 100644 (file)
@@ -45,9 +45,9 @@ config CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
        default n
        depends on CONFIG_INSMOD && ( CONFIG_FEATURE_2_2_MODULES || CONFIG_FEATURE_2_4_MODULES )
        help
-         By adding module symbols to the kernel symbol table, Oops messages 
+         By adding module symbols to the kernel symbol table, Oops messages
          occuring within kernel modules can be properly debugged.  By enabling
-         this feature, module symbols will always be added to the kernel symbol 
+         this feature, module symbols will always be added to the kernel symbol
          table for properly debugging support.  If you are not interested in
          Oops messages from kernel modules, say N.
 
@@ -62,7 +62,7 @@ config CONFIG_FEATURE_INSMOD_LOADINKMEM
          being loaded into memory.
 
 config CONFIG_FEATURE_INSMOD_LOAD_MAP
-       bool "  Enable load map (-m) option" 
+       bool "  Enable load map (-m) option"
        default n
        depends on CONFIG_INSMOD && ( CONFIG_FEATURE_2_2_MODULES || CONFIG_FEATURE_2_4_MODULES )
        help
@@ -78,7 +78,7 @@ config CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
        depends on CONFIG_FEATURE_INSMOD_LOAD_MAP
        help
          Without this option, -m will only output section
-         load map.  With this option, -m will also output 
+         load map.  With this option, -m will also output
          symbols load map.
 
 config CONFIG_LSMOD
@@ -100,7 +100,7 @@ config CONFIG_MODPROBE
        bool "modprobe"
        default n
        help
-         Handle the loading of modules, and their dependancies on a high 
+         Handle the loading of modules, and their dependancies on a high
          level.
 
 config CONFIG_RMMOD
index 646e4489e4c1ccddec3ce284c4d4330359c26919..5e1c886c0cfb2274a65e8dc030ac79b3537513b0 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 f6d5887fc97d32ed38a37c2b5ce9e89b0ada28e4..a92befafb1400ff7e4b7d9a69ee875e8e7013b0f 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 73259131b97713f0f3944b5c3060ed193058b712..eaa425f5dbf6b7dfddd07a8da9acbe97e97d26c1 100644 (file)
@@ -2,11 +2,10 @@
 /*
  * Mini insmod implementation for busybox
  *
- * This version of insmod supports x86, ARM, SH3/4/5, powerpc, m68k, 
+ * This version of insmod supports x86, ARM, SH3/4/5, powerpc, m68k,
  * MIPS, and v850e.
  *
- * Copyright (C) 1999,2000 by Lineo, inc. and Erik Andersen
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  * and Ron Alder <alder@lineo.com>
  *
  * Miles Bader <miles@gnu.org> added NEC V850E support.
@@ -32,7 +31,7 @@
  *   These blocks should be easy maintain and sync with obj_xxx.c in modutils.
  *
  * Magnus Damm <damm@opensource.se> added PowerPC support 20-Feb-2001.
- *   PowerPC specific code stolen from modutils-2.3.16, 
+ *   PowerPC specific code stolen from modutils-2.3.16,
  *   written by Paul Mackerras, Copyright 1996, 1997 Linux International.
  *   I've only tested the code on mpc8xx platforms in big-endian mode.
  *   Did some cleanup and added CONFIG_USE_xxx_ENTRIES...
@@ -104,7 +103,7 @@ extern int insmod_ng_main( int argc, char **argv);
 #endif
 
 #ifdef CONFIG_FEATURE_INSMOD_LOADINKMEM
-#define LOADBITS 0     
+#define LOADBITS 0
 #else
 #define LOADBITS 1
 #endif
@@ -152,7 +151,7 @@ extern int insmod_ng_main( int argc, char **argv);
 #define ELFCLASSM      ELFCLASS32
 #endif
 
-#if defined(__mc68000__) 
+#if defined(__mc68000__)
 #define CONFIG_USE_GOT_ENTRIES
 #define CONFIG_GOT_ENTRY_SIZE 4
 #define CONFIG_USE_SINGLE
@@ -183,7 +182,7 @@ extern int insmod_ng_main( int argc, char **argv);
 #define CONFIG_USE_PLT_ENTRIES
 #define CONFIG_PLT_ENTRY_SIZE 16
 #define CONFIG_USE_PLT_LIST
-#define CONFIG_LIST_ARCHTYPE ElfW(Addr) 
+#define CONFIG_LIST_ARCHTYPE ElfW(Addr)
 #define CONFIG_USE_LIST
 
 #define MATCH_MACHINE(x) (x == EM_PPC)
@@ -282,7 +281,7 @@ extern int insmod_ng_main( int argc, char **argv);
 #ifndef MODUTILS_MODULE_H
 static const int MODUTILS_MODULE_H = 1;
 
-#ident "$Id: insmod.c,v 1.112 2004/02/18 10:14:17 mjn3 Exp $"
+#ident "$Id: insmod.c,v 1.113 2004/03/15 08:28:47 andersen Exp $"
 
 /* This file contains the structures used by the 2.0 and 2.1 kernels.
    We do not use the kernel headers directly because we do not wish
@@ -503,7 +502,7 @@ int delete_module(const char *);
 #ifndef MODUTILS_OBJ_H
 static const int MODUTILS_OBJ_H = 1;
 
-#ident "$Id: insmod.c,v 1.112 2004/02/18 10:14:17 mjn3 Exp $"
+#ident "$Id: insmod.c,v 1.113 2004/03/15 08:28:47 andersen Exp $"
 
 /* The relocatable object is manipulated using elfin types.  */
 
@@ -680,7 +679,7 @@ static enum obj_reloc arch_apply_relocation (struct obj_file *f,
 static void arch_create_got (struct obj_file *f);
 
 static int obj_gpl_license(struct obj_file *f, const char **license);
-       
+
 #ifdef CONFIG_FEATURE_2_4_MODULES
 static int arch_init_module (struct obj_file *f, struct new_module *);
 #endif
@@ -888,8 +887,8 @@ arch_apply_relocation(struct obj_file *f,
                        goto bb_use_got;
 
                case R_ARM_GOTPC:
-                       /* relative reloc, always to _GLOBAL_OFFSET_TABLE_ 
-                        * (which is .got) similar to branch, 
+                       /* relative reloc, always to _GLOBAL_OFFSET_TABLE_
+                        * (which is .got) similar to branch,
                         * but is full 32 bits relative */
 
                        assert(got);
@@ -922,7 +921,7 @@ arch_apply_relocation(struct obj_file *f,
                case R_390_PC16DBL:
                        *(unsigned short *) loc += (v - dot) >> 1;
                        break;
-               case R_390_PC16: 
+               case R_390_PC16:
                        *(unsigned short *) loc += v - dot;
                        break;
 
@@ -933,7 +932,7 @@ arch_apply_relocation(struct obj_file *f,
                        pe = (struct arch_single_entry *) &isym->pltent;
                        assert(pe->allocated);
                        if (pe->inited == 0) {
-                               ip = (unsigned long *)(ifile->plt->contents + pe->offset); 
+                               ip = (unsigned long *)(ifile->plt->contents + pe->offset);
                                ip[0] = 0x0d105810; /* basr 1,0; lg 1,10(1); br 1 */
                                ip[1] = 0x100607f1;
                                if (ELF32_R_TYPE(rel->r_info) == R_390_PLT16DBL)
@@ -984,7 +983,7 @@ arch_apply_relocation(struct obj_file *f,
                        break;
 
 #ifndef R_390_GOTOFF32
-#define R_390_GOTOFF32 R_390_GOTOFF 
+#define R_390_GOTOFF32 R_390_GOTOFF
 #endif
                case R_390_GOTOFF32:
                        assert(got != 0);
@@ -1052,7 +1051,7 @@ arch_apply_relocation(struct obj_file *f,
 
                case R_68K_PC8:
                        v -= dot;
-                       if ((Elf32_Sword)v > 0x7f || 
+                       if ((Elf32_Sword)v > 0x7f ||
                                        (Elf32_Sword)v < -(Elf32_Sword)0x80) {
                                ret = obj_reloc_overflow;
                        }
@@ -1061,7 +1060,7 @@ arch_apply_relocation(struct obj_file *f,
 
                case R_68K_PC16:
                        v -= dot;
-                       if ((Elf32_Sword)v > 0x7fff || 
+                       if ((Elf32_Sword)v > 0x7fff ||
                                        (Elf32_Sword)v < -(Elf32_Sword)0x8000) {
                                ret = obj_reloc_overflow;
                        }
@@ -1365,7 +1364,7 @@ bb_use_plt:
                        v -= dot;
                        /* if the target is too far away.... */
 #if defined (__arm__) || defined (__powerpc__)
-                       if ((int)v < -0x02000000 || (int)v >= 0x02000000) 
+                       if ((int)v < -0x02000000 || (int)v >= 0x02000000)
 #elif defined (__v850e__)
                                if ((Elf32_Sword)v > 0x1fffff || (Elf32_Sword)v < (Elf32_Sword)-0x200000)
 #endif
@@ -1426,7 +1425,7 @@ bb_use_got:
 }
 
 
-#if defined(CONFIG_USE_LIST) 
+#if defined(CONFIG_USE_LIST)
 
 static int arch_list_add(ElfW(RelM) *rel, struct arch_list_entry **list,
                          int offset, int size)
@@ -1453,7 +1452,7 @@ static int arch_list_add(ElfW(RelM) *rel, struct arch_list_entry **list,
 
 #endif
 
-#if defined(CONFIG_USE_SINGLE) 
+#if defined(CONFIG_USE_SINGLE)
 
 static int arch_single_init(ElfW(RelM) *rel, struct arch_single_entry *single,
                             int offset, int size)
@@ -1471,7 +1470,7 @@ static int arch_single_init(ElfW(RelM) *rel, struct arch_single_entry *single,
 
 #if defined(CONFIG_USE_GOT_ENTRIES) || defined(CONFIG_USE_PLT_ENTRIES)
 
-static struct obj_section *arch_xsect_init(struct obj_file *f, char *name, 
+static struct obj_section *arch_xsect_init(struct obj_file *f, char *name,
                                           int offset, int size)
 {
        struct obj_section *myrelsec = obj_find_section(f, name);
@@ -1483,7 +1482,7 @@ static struct obj_section *arch_xsect_init(struct obj_file *f, char *name,
        if (myrelsec) {
                obj_extend_section(myrelsec, offset);
        } else {
-               myrelsec = obj_create_alloced_section(f, name, 
+               myrelsec = obj_create_alloced_section(f, name,
                                size, offset);
                assert(myrelsec);
        }
@@ -1575,7 +1574,7 @@ static void arch_create_got(struct obj_file *f)
 
 #elif defined(__sh__)
                                case R_SH_GOT32:
-                                       got_allocate = 1; 
+                                       got_allocate = 1;
                                        break;
 
                                case R_SH_GOTPC:
@@ -1602,7 +1601,7 @@ static void arch_create_got(struct obj_file *f)
 #if defined(CONFIG_USE_GOT_ENTRIES)
                        if (got_allocate) {
                                got_offset += arch_single_init(
-                                               rel, &intsym->gotent, 
+                                               rel, &intsym->gotent,
                                                got_offset, CONFIG_GOT_ENTRY_SIZE);
 
                                got_needed = 1;
@@ -1610,13 +1609,13 @@ static void arch_create_got(struct obj_file *f)
 #endif
 #if defined(CONFIG_USE_PLT_ENTRIES)
                        if (plt_allocate) {
-#if defined(CONFIG_USE_PLT_LIST) 
+#if defined(CONFIG_USE_PLT_LIST)
                                plt_offset += arch_list_add(
-                                               rel, &intsym->pltent, 
+                                               rel, &intsym->pltent,
                                                plt_offset, CONFIG_PLT_ENTRY_SIZE);
 #else
                                plt_offset += arch_single_init(
-                                               rel, &intsym->pltent, 
+                                               rel, &intsym->pltent,
                                                plt_offset, CONFIG_PLT_ENTRY_SIZE);
 #endif
                                plt_needed = 1;
@@ -1954,7 +1953,7 @@ static struct obj_section *obj_create_alloced_section_first(struct obj_file *f,
 static void *obj_extend_section(struct obj_section *sec, unsigned long more)
 {
        unsigned long oldsize = sec->header.sh_size;
-       if (more) { 
+       if (more) {
                sec->contents = xrealloc(sec->contents, sec->header.sh_size += more);
        }
        return sec->contents + oldsize;
@@ -2363,7 +2362,7 @@ old_init_module(const char *m_name, struct obj_file *f,
                                struct obj_symbol *sym;
                                for (sym = f->symtab[i]; sym; sym = sym->next)
                                        if (ELFW(ST_BIND) (sym->info) != STB_LOCAL
-                                                       && sym->secidx <= SHN_HIRESERVE) 
+                                                       && sym->secidx <= SHN_HIRESERVE)
                                        {
                                                sym->ksymidx = nsyms++;
                                                strsize += strlen(sym->name) + 1;
@@ -2977,7 +2976,7 @@ new_init_module(const char *m_name, struct obj_file *f,
        tgt_long m_addr;
 
        sec = obj_find_section(f, ".this");
-       if (!sec || !sec->contents) { 
+       if (!sec || !sec->contents) {
                bb_perror_msg_and_die("corrupt module %s?",m_name);
        }
        module = (struct new_module *) sec->contents;
@@ -3499,7 +3498,7 @@ static struct obj_file *obj_load(FILE * fp, int loadprogbits)
                                        sec->contents = NULL;
                                        break;
                                }
-#endif                 
+#endif
                        case SHT_SYMTAB:
                        case SHT_STRTAB:
                        case SHT_RELM:
@@ -3726,7 +3725,7 @@ static int obj_gpl_license(struct obj_file *f, const char **license)
 #define TAINT_UNSAFE_SMP                (1<<2)
 #define TAINT_URL                                              "http://www.tux.org/lkml/#export-tainted"
 
-static void set_tainted(struct obj_file *f, int fd, char *m_name, 
+static void set_tainted(struct obj_file *f, int fd, char *m_name,
                int kernel_has_tainted, int taint, const char *text1, const char *text2)
 {
        char buf[80];
@@ -3819,7 +3818,7 @@ get_module_version(struct obj_file *f, char str[STRVERSIONLEN])
  * start of some sections.  this info is used by ksymoops to do better
  * debugging.
  */
-static void 
+static void
 add_ksymoops_symbols(struct obj_file *f, const char *filename,
                                 const char *m_name)
 {
@@ -4059,7 +4058,7 @@ extern int insmod_main( int argc, char **argv)
 #ifdef CONFIG_FEATURE_INSMOD_LOAD_MAP
        while ((opt = getopt(argc, argv, "fkqsvxmLo:")) > 0)
 #else
-       while ((opt = getopt(argc, argv, "fkqsvxLo:")) > 0) 
+       while ((opt = getopt(argc, argv, "fkqsvxLo:")) > 0)
 #endif
                {
                        switch (opt) {
index 1b914e720ae7e14aa3c876f348d2c71262d911a7..7bf314afe4d001fc1db7b47a292f08ace1d853ec 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini lsmod implementation for busybox
  *
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
  * Modified by Alcove, Julien Gaulmin <julien.gaulmin@alcove.fr> and
  * Nicolas Ferre <nicolas.ferre@alcove.fr> to support pre 2.1 kernels
index 0cebb6e67947fe882843eeb4a9e6d9c05f41cd5b..cc9742c0a0c2576fd78ce0fa63bf4d070892f715 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini rmmod 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
@@ -46,10 +46,10 @@ extern int rmmod_main(int argc, char **argv)
                switch (n) {
                        case 'w':       // --wait
                                flags &= ~O_NONBLOCK;
-                               break;  
+                               break;
                        case 'f':       // --force
                                flags |= O_TRUNC;
-                               break;  
+                               break;
                        case 'a':
                                /* Unload _all_ unused modules via NULL delete_module() call */
                                /* until the number of modules does not change */
index d2916e7cdc06a9dc1420d3ee903783dbe0ebed08..a7cef41bfac30afffd0a20974acc340577e9f012 100644 (file)
@@ -63,7 +63,7 @@ config CONFIG_FEATURE_HTTPD_AUTH_MD5
        default n
        depends on CONFIG_FEATURE_HTTPD_BASIC_AUTH
        help
-         Enables basic per url authentication from /etc/httpd.conf 
+         Enables basic per url authentication from /etc/httpd.conf
          using md5 passwords.
 
 
@@ -187,7 +187,7 @@ config CONFIG_IFUPDOWN
 config CONFIG_FEATURE_IFUPDOWN_IP
        bool "  Use ip applet"
        default n
-       depends on CONFIG_IFUPDOWN 
+       depends on CONFIG_IFUPDOWN
        help
          Use the iproute "ip" command to implement "ifup" and "ifdown", rather
          than the default of using the older 'ifconfig' and 'route' utilities.
@@ -213,11 +213,11 @@ config CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
        select CONFIG_IFCONFIG
        select CONFIG_ROUTE
        help
-         Use the busybox iproute "ifconfig" and "route" applets to 
+         Use the busybox iproute "ifconfig" and "route" applets to
          implement the "ifup" and "ifdown" utilities.
 
          If leave this disabled, you must install the full-blown ifconfig
-         and route utilities, or the  "ifup" and "ifdown" applets will not 
+         and route utilities, or the  "ifup" and "ifdown" applets will not
          work.
 
 config CONFIG_FEATURE_IFUPDOWN_IPV4
@@ -339,7 +339,7 @@ if !(CONFIG_IP && CONFIG_IPROUTE)
                default y
                depends on CONFIG_IP
                help
-                 Add support for routing table management to "ip".  
+                 Add support for routing table management to "ip".
 endif
 
 if CONFIG_IP && CONFIG_IPTUNNEL
index 022f29e4649de65311c10775b38991955bda44bf..456c433fd74b49cab91335fde4ec286597f786ea 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 7748d066b5d1b00978126d5775b4a5d0fd65ec38..31de77feaae02208da0bfc750d6f7f23642996e6 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 17ee8a536e033fed531d1025599a4e5f3dc9a3b0..814253b5395f45e83d4bdfb312e4363ea22538dc 100644 (file)
@@ -1,7 +1,7 @@
 /* vi: set sw=4 ts=4: */
 /*
- * ftpget 
- *  
+ * ftpget
+ *
  * Mini implementation of FTP to retrieve a remote file.
  *
  * Copyright (C) 2002 Jeff Angielski, The PTR Group <jeff@theptrgroup.com>
@@ -131,7 +131,7 @@ static FILE *ftp_login(ftp_host_info_t *server)
 }
 
 #ifdef CONFIG_FTPGET
-static int ftp_recieve(ftp_host_info_t *server, FILE *control_stream, 
+static int ftp_recieve(ftp_host_info_t *server, FILE *control_stream,
                const char *local_path, char *server_path)
 {
        char buf[512];
@@ -203,13 +203,13 @@ static int ftp_recieve(ftp_host_info_t *server, FILE *control_stream,
                bb_error_msg_and_die("ftp error: %s", buf + 4);
        }
        ftpcmd("QUIT", NULL, control_stream, buf);
-       
+
        return(EXIT_SUCCESS);
 }
 #endif
 
 #ifdef CONFIG_FTPPUT
-static int ftp_send(ftp_host_info_t *server, FILE *control_stream, 
+static int ftp_send(ftp_host_info_t *server, FILE *control_stream,
                const char *server_path, char *local_path)
 {
        struct stat sbuf;
@@ -329,8 +329,8 @@ int ftpgetput_main(int argc, char **argv)
        server->password = "busybox@";
        verbose_flag = 0;
 
-       /* 
-        * Decipher the command line 
+       /*
+        * Decipher the command line
         */
        bb_applet_long_options = ftpgetput_long_options;
        opt = bb_getopt_ulflags(argc, argv, "cvu:p:P:", &server->user, &server->password, &port);
index f2fd2b38d34635b471d96d6fdc603f4ad149a671..aad30a1a10124a545cdcff06945fbb9e4239cff4 100644 (file)
@@ -44,7 +44,7 @@
  * for page display.
  *
  * httpd.conf has the following format:
- * 
+ *
  * A:172.20.         # Allow address from 172.20.0.0/16
  * A:10.0.0.0/25     # Allow any address from 10.0.0.0-10.0.0.127
  * A:10.0.0.0/255.255.255.128  # Allow any address that previous set
  * /adm:admin:setup  # Require user admin, pwd setup on urls starting with /adm/
  * /adm:toor:PaSsWd  # or user toor, pwd PaSsWd on urls starting with /adm/
  * .au:audio/basic   # additional mime type for audio.au files
- * 
+ *
  * A/D may be as a/d or allow/deny - first char case unsensitive
  * Deny IP rules take precedence over allow rules.
- * 
- * 
+ *
+ *
  * The Deny/Allow IP logic:
- * 
+ *
  *  - Default is to allow all.  No addresses are denied unless
  *        denied with a D: rule.
  *  - Order of Deny/Allow rules is significant
  *  - If a deny all rule (D:*) is used it acts as a catch-all for unmatched
  *      addresses.
  *  - Specification of Allow all (A:*) is a no-op
- * 
+ *
  * Example:
  *   1. Allow only specified addresses
  *     A:172.20          # Allow any address that begins with 172.20.
  *     A:10.10.          # Allow any address that begins with 10.10.
  *     A:127.0.0.1       # Allow local loopback connections
  *     D:*               # Deny from other IP connections
- * 
+ *
  *   2. Only deny specified addresses
  *     D:1.2.3.        # deny from 1.2.3.0 - 1.2.3.255
  *     D:2.3.4.        # deny from 2.3.4.0 - 2.3.4.255
  *     A:*             # (optional line added for clarity)
- * 
+ *
  * If a sub directory contains a config file it is parsed and merged with
  * any existing settings as if it was appended to the original configuration.
  *
  * subdir http request, any merge is discarded when the process exits.  As a
  * result, the subdir settings only have a lifetime of a single request.
  *
- * 
- * If -c is not set, an attempt will be made to open the default 
+ *
+ * If -c is not set, an attempt will be made to open the default
  * root configuration file.  If -c is set and the file is not found, the
  * server exits with an error.
- * 
+ *
 */
 
 
@@ -447,7 +447,7 @@ static void free_config_lines(Htaccess **pprev)
  > $Function: parse_conf()
  *
  * $Description: parse configuration file into in-memory linked list.
- * 
+ *
  * The first non-white character is examined to determine if the config line
  * is one of the following:
  *    .ext:mime/type   # new mime type not compiled into httpd
@@ -464,7 +464,7 @@ static void free_config_lines(Htaccess **pprev)
  *                              checks.
  *      (int) flag  . . . . . . the source of the parse request.
  *
- * $Return: (None) 
+ * $Return: (None)
  *
  ****************************************************************************/
 static void parse_conf(const char *path, int flag)
@@ -1726,7 +1726,7 @@ FORBIDDEN:      /* protect listing /cgi-bin */
   /* Properly wait for remote to closed */
   FD_ZERO (&s_fd) ;
   FD_SET (a_c_w, &s_fd) ;
-      
+
   do {
     tv.tv_sec = 2 ;
     tv.tv_usec = 0 ;
index 341998d8d7727861d3c39bf406ff3679704b0ab0..b884ef7c3d19724e268559dfe0fb71b05d351020 100644 (file)
@@ -6,7 +6,7 @@
  * Bjorn Wesen, Axis Communications AB
  *
  *
- * Authors of the original ifconfig was:      
+ * Authors of the original ifconfig was:
  *              Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org>
  *
  * This program is free software; you can redistribute it
@@ -15,7 +15,7 @@
  * Foundation;  either  version 2 of the License, or  (at
  * your option) any later version.
  *
- * $Id: ifconfig.c,v 1.28 2004/03/06 22:11:44 andersen Exp $
+ * $Id: ifconfig.c,v 1.29 2004/03/15 08:28:48 andersen Exp $
  *
  */
 
@@ -510,7 +510,7 @@ int ifconfig_main(int argc, char **argv)
                                         * a - at the end, since it's deleted already! - Roman
                                         *
                                         * Should really use regex.h here, not sure though how well
-                                        * it'll go with the cross-platform support etc. 
+                                        * it'll go with the cross-platform support etc.
                                         */
                                        char *ptr;
                                        short int found_colon = 0;
index bd0021ab48443c5a851adb31a370eb84816fb305..c34e2b955bf8dfbd58b2c0eceff2c7d2d50b38e2 100644 (file)
@@ -2,7 +2,7 @@
 /*
  *  ifupdown for busybox
  *  Copyright (c) 2002 Glenn McGrath <bug1@optushome.com.au>
- *  Copyright (c) 2003 Erik Andersen <andersen@codepoet.org>
+ *  Copyright (c) 2003-2004 Erik Andersen <andersen@codepoet.org>
  *
  *  Based on ifupdown v 0.6.4 by Anthony Towns
  *  Copyright (c) 1999 Anthony Towns <aj@azure.humbug.org.au>
@@ -56,7 +56,7 @@
 #if 0
 #define debug_noise(fmt, args...) printf(fmt, ## args)
 #else
-#define debug_noise(fmt, args...) 
+#define debug_noise(fmt, args...)
 #endif
 
 /* Forward declaration */
@@ -72,7 +72,7 @@ extern llist_t *llist_add_to_end(llist_t *list_head, char *data)
        new_item = xmalloc(sizeof(llist_t));
        new_item->data = data;
        new_item->link = NULL;
-       
+
        prev = NULL;
        tmp = list_head;
        while(tmp) {
@@ -80,7 +80,7 @@ extern llist_t *llist_add_to_end(llist_t *list_head, char *data)
                tmp = tmp->link;
        }
        if (prev) {
-               prev->link = new_item; 
+               prev->link = new_item;
        } else {
                list_head = new_item;
        }
@@ -123,7 +123,7 @@ struct variable_t
        char *value;
 };
 
-struct interface_defn_t 
+struct interface_defn_t
 {
        struct interface_defn_t *prev;
        struct interface_defn_t *next;
@@ -598,7 +598,7 @@ static int wvdial_down(struct interface_defn_t *ifd, execfn *exec)
                                "-p /var/run/wvdial.%iface% -s 2", ifd, exec));
 }
 
-static struct method_t methods[] = 
+static struct method_t methods[] =
 {
        { "wvdial", wvdial_up, wvdial_down, },
        { "ppp", ppp_up, ppp_down, },
@@ -608,7 +608,7 @@ static struct method_t methods[] =
        { "loopback", loopback_up, loopback_down, },
 };
 
-struct address_family_t addr_inet = 
+struct address_family_t addr_inet =
 {
        "inet",
        sizeof(methods) / sizeof(struct method_t),
@@ -885,7 +885,7 @@ static struct interfaces_file_t *read_interfaces(char *filename)
                                                perror(filename);
                                                return NULL;
                                        }
-                                       debug_noise("\t%s=%s\n", currif->option[currif->n_options].name, 
+                                       debug_noise("\t%s=%s\n", currif->option[currif->n_options].name,
                                                        currif->option[currif->n_options].value);
                                        currif->n_options++;
                                        break;
@@ -1031,7 +1031,7 @@ static int execute_all(struct interface_defn_t *ifd, execfn *exec, const char *o
                        }
                }
        }
-       
+
        bb_xasprintf(&buf, "run-parts /etc/network/if-%s.d", opt);
        (*exec)(buf);
 
@@ -1211,7 +1211,7 @@ extern int ifupdown_main(int argc, char **argv)
 #ifdef CONFIG_FEATURE_IFUPDOWN_MAPPING
        while ((i = getopt(argc, argv, "i:hvnamf")) != -1)
 #else
-               while ((i = getopt(argc, argv, "i:hvnaf")) != -1) 
+               while ((i = getopt(argc, argv, "i:hvnaf")) != -1)
 #endif
                {
                        switch (i) {
@@ -1249,7 +1249,7 @@ extern int ifupdown_main(int argc, char **argv)
                if (!do_all) {
                        bb_show_usage();
                }
-       }                       
+       }
 
        debug_noise("reading %s file:\n", interfaces);
        defn = read_interfaces(interfaces);
@@ -1297,8 +1297,8 @@ extern int ifupdown_main(int argc, char **argv)
                                list = list->link;
                        }
                        target_list = defn->autointerfaces;
-#endif 
-               } 
+#endif
+               }
        } else {
                target_list = llist_add_to_end(target_list, argv[optind]);
        }
@@ -1413,7 +1413,7 @@ extern int ifupdown_main(int argc, char **argv)
                                        } else {
                                                iface_state->data = NULL;
                                                iface_state->link = NULL;
-                                       }                                               
+                                       }
                                }
                        }
                }
index c1f18be7b8723aeacc8d60c72c668bb41b85eced..0dc7191d38e5b57f670fafdb174cfd0baa33eb7e 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 f39eeb3eec2bcb8006d568f4b0b0c92646c3649c..d6f95048c0b0926a04b07465d70599cd964eefe6 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 1f3d739337f779654b33be53584fae55f37e1c0c..a76df48e03ddb609cb3c107ed9dd732785408a16 100644 (file)
@@ -47,7 +47,7 @@ void ip_parse_common_args(int *argcp, char ***argvp)
                if (matches(opt, "-family") == 0) {
                        argc--;
                        argv++;
-                       if (! argv[1]) 
+                       if (! argv[1])
                            bb_show_usage();
                        if (strcmp(argv[1], "inet") == 0)
                                preferred_family = AF_INET;
index 44e871ee544a5fe8aace5e31bccd8e86a2d3a0af..7e0c75785288388aafe008c41a3ff5701114e905 100644 (file)
@@ -91,7 +91,7 @@ static void print_queuelen(char *name)
 
        memset(&ifr, 0, sizeof(ifr));
        strcpy(ifr.ifr_name, name);
-       if (ioctl(s, SIOCGIFTXQLEN, &ifr) < 0) { 
+       if (ioctl(s, SIOCGIFTXQLEN, &ifr) < 0) {
                perror("SIOCGIFXQLEN");
                close(s);
                return;
@@ -166,7 +166,7 @@ static int print_linkinfo(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg
 #endif
        if (filter.showqueue)
                print_queuelen((char*)RTA_DATA(tb[IFLA_IFNAME]));
-       
+
        if (!filter.family || filter.family == AF_PACKET) {
                SPRINT_BUF(b1);
                fprintf(fp, "%s", _SL_);
@@ -378,7 +378,7 @@ static int print_selected_addrinfo(int ifindex, struct nlmsg_list *ainfo, FILE *
                if (n->nlmsg_len < NLMSG_LENGTH(sizeof(ifa)))
                        return -1;
 
-               if (ifa->ifa_index != ifindex || 
+               if (ifa->ifa_index != ifindex ||
                    (filter.family && filter.family != ifa->ifa_family))
                        continue;
 
@@ -564,7 +564,7 @@ extern int ipaddr_list_or_flush(int argc, char **argv, int flush)
                                struct nlmsghdr *n = &a->h;
                                struct ifaddrmsg *ifa = NLMSG_DATA(n);
 
-                               if (ifa->ifa_index != ifi->ifi_index || 
+                               if (ifa->ifa_index != ifi->ifi_index ||
                                    (filter.family && filter.family != ifa->ifa_family))
                                        continue;
                                if ((filter.scope^ifa->ifa_scope)&filter.scopemask)
index daab6938dfd4f01a979a07741e46c897b724d61f..44b546d598f9ef56dbb24dab059af22f0e7132d8 100644 (file)
@@ -128,8 +128,8 @@ static int set_qlen(char *dev, int qlen)
                return -1;
 
        memset(&ifr, 0, sizeof(ifr));
-       strcpy(ifr.ifr_name, dev); 
-       ifr.ifr_qlen = qlen; 
+       strcpy(ifr.ifr_name, dev);
+       ifr.ifr_qlen = qlen;
        if (ioctl(s, SIOCSIFTXQLEN, &ifr) < 0) {
                perror("SIOCSIFXQLEN");
                close(s);
@@ -137,7 +137,7 @@ static int set_qlen(char *dev, int qlen)
        }
        close(s);
 
-       return 0; 
+       return 0;
 }
 
 static int set_mtu(char *dev, int mtu)
@@ -150,8 +150,8 @@ static int set_mtu(char *dev, int mtu)
                return -1;
 
        memset(&ifr, 0, sizeof(ifr));
-       strcpy(ifr.ifr_name, dev); 
-       ifr.ifr_mtu = mtu; 
+       strcpy(ifr.ifr_name, dev);
+       ifr.ifr_mtu = mtu;
        if (ioctl(s, SIOCSIFMTU, &ifr) < 0) {
                perror("SIOCSIFMTU");
                close(s);
@@ -159,7 +159,7 @@ static int set_mtu(char *dev, int mtu)
        }
        close(s);
 
-       return 0; 
+       return 0;
 }
 
 static int get_address(char *dev, int *htype)
@@ -170,7 +170,7 @@ static int get_address(char *dev, int *htype)
        int s;
 
        s = socket(PF_PACKET, SOCK_DGRAM, 0);
-       if (s < 0) { 
+       if (s < 0) {
                perror("socket(PF_PACKET)");
                return -1;
        }
@@ -218,7 +218,7 @@ static int parse_address(char *dev, int hatype, int halen, char *lla, struct ifr
                bb_error_msg("Wrong address (%s) length: expected %d bytes", lla, halen);
                return -1;
        }
-       return 0; 
+       return 0;
 }
 
 static int set_address(struct ifreq *ifr, int brd)
@@ -234,7 +234,7 @@ static int set_address(struct ifreq *ifr, int brd)
                return -1;
        }
        close(s);
-       return 0; 
+       return 0;
 }
 
 
@@ -311,7 +311,7 @@ static int do_set(int argc, char **argv)
                }
                if (newbrd) {
                        if (parse_address(dev, htype, halen, newbrd, &ifr1) < 0)
-                               return -1; 
+                               return -1;
                }
        }
 
@@ -320,18 +320,18 @@ static int do_set(int argc, char **argv)
                        return -1;
                dev = newname;
        }
-       if (qlen != -1) { 
+       if (qlen != -1) {
                if (set_qlen(dev, qlen) < 0)
-                       return -1; 
+                       return -1;
        }
-       if (mtu != -1) { 
+       if (mtu != -1) {
                if (set_mtu(dev, mtu) < 0)
-                       return -1; 
+                       return -1;
        }
        if (newaddr || newbrd) {
                if (newbrd) {
                        if (set_address(&ifr1, 1) < 0)
-                               return -1; 
+                               return -1;
                }
                if (newaddr) {
                        if (set_address(&ifr0, 0) < 0)
index 0fdf7987e1616fecf7a3815da0664004bd82507c..7adbfcd61a247667f6733e777b79361b1e616c8b 100644 (file)
@@ -76,7 +76,7 @@ static int print_route(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
        inet_prefix src;
        int host_len = -1;
        SPRINT_BUF(b1);
-       
+
 
        if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) {
                fprintf(stderr, "Not a route: %08x %08x %08x\n",
@@ -228,7 +228,7 @@ static int print_route(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
                fprintf(fp, "from 0/%u ", r->rtm_src_len);
        }
        if (tb[RTA_GATEWAY] && filter.rvia.bitlen != host_len) {
-               fprintf(fp, "via %s ", 
+               fprintf(fp, "via %s ",
                        format_host(r->rtm_family,
                                    RTA_PAYLOAD(tb[RTA_GATEWAY]),
                                    RTA_DATA(tb[RTA_GATEWAY]),
@@ -242,7 +242,7 @@ static int print_route(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
                /* Do not use format_host(). It is our local addr
                   and symbolic name will not be useful.
                 */
-               fprintf(fp, " src %s ", 
+               fprintf(fp, " src %s ",
                        rt_addr_n2a(r->rtm_family,
                                    RTA_PAYLOAD(tb[RTA_PREFSRC]),
                                    RTA_DATA(tb[RTA_PREFSRC]),
@@ -665,7 +665,7 @@ static int iproute_get(int argc, char **argv)
        req.r.rtm_src_len = 0;
        req.r.rtm_dst_len = 0;
        req.r.rtm_tos = 0;
-       
+
        while (argc > 0) {
                switch (compare_string_array(options, *argv)) {
                        case 0: /* from */
index eae5bb091f53e9bed0e12d156d29330f16f1958d..3f5d05ae91c47897946f10ba05209519b11f4754 100644 (file)
@@ -354,7 +354,7 @@ static int do_add(int cmd, int argc, char **argv)
                return do_add_ioctl(cmd, "gre0", &p);
        case IPPROTO_IPV6:
                return do_add_ioctl(cmd, "sit0", &p);
-       default:        
+       default:
                bb_error_msg("cannot determine tunnel mode (ipip, gre or sit)");
                return -1;
        }
@@ -375,7 +375,7 @@ int do_del(int argc, char **argv)
                return do_del_ioctl("gre0", &p);
        case IPPROTO_IPV6:
                return do_del_ioctl("sit0", &p);
-       default:        
+       default:
                return do_del_ioctl(p.name, &p);
        }
        return -1;
@@ -506,7 +506,7 @@ static int do_show(int argc, char **argv)
                return -1;
 
        switch (p.iph.protocol) {
-       case IPPROTO_IPIP:      
+       case IPPROTO_IPIP:
                err = do_get_ioctl(p.name[0] ? p.name : "tunl0", &p);
                break;
        case IPPROTO_GRE:
index 9390e56fb6addf1733dd6a3994116c966ac69667..861daef86b98c114203dca33b89e40f3021474f9 100644 (file)
@@ -317,7 +317,7 @@ int rtnl_talk(struct rtnl_handle *rtnl, struct nlmsghdr *n, pid_t peer,
        }
 }
 
-int rtnl_listen(struct rtnl_handle *rtnl, 
+int rtnl_listen(struct rtnl_handle *rtnl,
              int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
              void *jarg)
 {
@@ -389,7 +389,7 @@ int rtnl_listen(struct rtnl_handle *rtnl,
        }
 }
 
-int rtnl_from_file(FILE *rtnl, 
+int rtnl_from_file(FILE *rtnl,
              int (*handler)(struct sockaddr_nl *,struct nlmsghdr *n, void *),
              void *jarg)
 {
index e174588f564f44d4dbfa5b3db5a72f804fe9c81b..70cbabc2613743139248083ae212663184e7d5f2 100644 (file)
@@ -221,19 +221,19 @@ enum
 #define TCA_SET_OFF TCA_GRED_PARMS
 struct tc_gred_qopt
 {
-       __u32           limit;          /* HARD maximal queue length (bytes)    
+       __u32           limit;          /* HARD maximal queue length (bytes)
 */
-       __u32           qth_min;        /* Min average length threshold (bytes) 
+       __u32           qth_min;        /* Min average length threshold (bytes)
 */
-       __u32           qth_max;        /* Max average length threshold (bytes) 
+       __u32           qth_max;        /* Max average length threshold (bytes)
 */
        __u32           DP;             /* upto 2^32 DPs */
-       __u32           backlog;        
-       __u32           qave;   
-       __u32           forced; 
-       __u32           early;  
-       __u32           other;  
-       __u32           pdrop;  
+       __u32           backlog;
+       __u32           qave;
+       __u32           forced;
+       __u32           early;
+       __u32           other;
+       __u32           pdrop;
 
        unsigned char   Wlog;           /* log(W)               */
        unsigned char   Plog;           /* log(P_max/(qth_max-qth_min)) */
@@ -294,7 +294,7 @@ struct tc_htb_xstats
        __u32 lends;
        __u32 borrows;
        __u32 giants;   /* too big packets (rate will not be accurate) */
-       __u32 injects;  /* how many times leaf used injected bw */      
+       __u32 injects;  /* how many times leaf used injected bw */
        __u32 tokens;
        __u32 ctokens;
 };
index 45afdb82ae1cf5f7b9afa29356bbf5f5e94c5832..9b5260b3285a5ea95796be1a4d56653a681a6df5 100644 (file)
@@ -26,62 +26,62 @@ static struct {
        char *name;
 } llproto_names[] = {
 __PF(LOOP,loop)
-__PF(PUP,pup)  
+__PF(PUP,pup)
 #ifdef ETH_P_PUPAT
-__PF(PUPAT,pupat)     
+__PF(PUPAT,pupat)
 #endif
 __PF(IP,ip)
 __PF(X25,x25)
 __PF(ARP,arp)
 __PF(BPQ,bpq)
 #ifdef ETH_P_IEEEPUP
-__PF(IEEEPUP,ieeepup)  
+__PF(IEEEPUP,ieeepup)
 #endif
 #ifdef ETH_P_IEEEPUPAT
-__PF(IEEEPUPAT,ieeepupat)  
+__PF(IEEEPUPAT,ieeepupat)
 #endif
-__PF(DEC,dec)       
-__PF(DNA_DL,dna_dl)    
-__PF(DNA_RC,dna_rc)    
-__PF(DNA_RT,dna_rt)    
-__PF(LAT,lat)       
-__PF(DIAG,diag)      
-__PF(CUST,cust)      
-__PF(SCA,sca)       
-__PF(RARP,rarp)      
-__PF(ATALK,atalk)     
-__PF(AARP,aarp)      
-__PF(IPX,ipx)       
-__PF(IPV6,ipv6)      
+__PF(DEC,dec)
+__PF(DNA_DL,dna_dl)
+__PF(DNA_RC,dna_rc)
+__PF(DNA_RT,dna_rt)
+__PF(LAT,lat)
+__PF(DIAG,diag)
+__PF(CUST,cust)
+__PF(SCA,sca)
+__PF(RARP,rarp)
+__PF(ATALK,atalk)
+__PF(AARP,aarp)
+__PF(IPX,ipx)
+__PF(IPV6,ipv6)
 #ifdef ETH_P_PPP_DISC
-__PF(PPP_DISC,ppp_disc)      
+__PF(PPP_DISC,ppp_disc)
 #endif
 #ifdef ETH_P_PPP_SES
-__PF(PPP_SES,ppp_ses)      
+__PF(PPP_SES,ppp_ses)
 #endif
 #ifdef ETH_P_ATMMPOA
-__PF(ATMMPOA,atmmpoa)      
+__PF(ATMMPOA,atmmpoa)
 #endif
 #ifdef ETH_P_ATMFATE
-__PF(ATMFATE,atmfate)      
+__PF(ATMFATE,atmfate)
 #endif
 
-__PF(802_3,802_3)     
-__PF(AX25,ax25)      
-__PF(ALL,all)       
-__PF(802_2,802_2)     
-__PF(SNAP,snap)      
-__PF(DDCMP,ddcmp)     
-__PF(WAN_PPP,wan_ppp)   
-__PF(PPP_MP,ppp_mp)    
-__PF(LOCALTALK,localtalk) 
-__PF(PPPTALK,ppptalk)   
-__PF(TR_802_2,tr_802_2)  
-__PF(MOBITEX,mobitex)   
-__PF(CONTROL,control)   
-__PF(IRDA,irda)      
+__PF(802_3,802_3)
+__PF(AX25,ax25)
+__PF(ALL,all)
+__PF(802_2,802_2)
+__PF(SNAP,snap)
+__PF(DDCMP,ddcmp)
+__PF(WAN_PPP,wan_ppp)
+__PF(PPP_MP,ppp_mp)
+__PF(LOCALTALK,localtalk)
+__PF(PPPTALK,ppptalk)
+__PF(TR_802_2,tr_802_2)
+__PF(MOBITEX,mobitex)
+__PF(CONTROL,control)
+__PF(IRDA,irda)
 #ifdef ETH_P_ECONET
-__PF(ECONET,econet)      
+__PF(ECONET,econet)
 #endif
 
 { 0x8100, "802.1Q" },
index b51e07be46980f9c73b95f860e9ef92018c08351..e79e177b9e0e58523ffc5842d945b4b8c2f0cc82 100644 (file)
@@ -43,7 +43,7 @@ typedef struct
 #define AF_DECnet 12
 #endif
 
-struct dn_naddr 
+struct dn_naddr
 {
         unsigned short          a_len;
         unsigned char a_addr[DN_MAXADDL];
index ecb4a007b1d599a63673cbed16115093f91af338..9a353c94f81c7aa2c87652b7b6228e681bd6ebf4 100644 (file)
@@ -4,7 +4,7 @@
 
     0.0.1   6K      It works.
     0.0.2   5K      Smaller and you can also check the exit condition if you wish.
-    0.0.3          Uses select()       
+    0.0.3          Uses select()
 
     19980918 Busy Boxed! Dave Cinege
     19990512 Uses Select. Charles P. Wright
@@ -47,7 +47,7 @@ int nc_main(int argc, char **argv)
        int do_listen = 0, lport = 0, delay = 0, tmpfd, opt, sfd, x;
        char buf[BUFSIZ];
 #ifdef GAPING_SECURITY_HOLE
-       char * pr00gie = NULL;                  
+       char * pr00gie = NULL;
 #endif
 
        struct sockaddr_in address;
@@ -79,7 +79,7 @@ int nc_main(int argc, char **argv)
 #ifdef GAPING_SECURITY_HOLE
        if (pr00gie) {
                /* won't need stdin */
-               close (fileno(stdin));                          
+               close (fileno(stdin));      
        }
 #endif /* GAPING_SECURITY_HOLE */
 
index 17a58876c37a1ceaa4912b0651ca635391262261..bc1ed057b66116b0ca27193fc7b8363878c4dbe0 100644 (file)
@@ -210,7 +210,7 @@ static void tcp_do_one(int lnr, const char *line)
                snprint_ip_port(local_addr, sizeof(local_addr),
                                                (struct sockaddr *) &localaddr, local_port,
                                                "tcp", flags&NETSTAT_NUMERIC);
-                                               
+
                snprint_ip_port(rem_addr, sizeof(rem_addr),
                                                (struct sockaddr *) &remaddr, rem_port,
                                                "tcp", flags&NETSTAT_NUMERIC);
@@ -305,7 +305,7 @@ static void udp_do_one(int lnr, const char *line)
                snprint_ip_port(local_addr, sizeof(local_addr),
                                                (struct sockaddr *) &localaddr, local_port,
                                                "udp", flags&NETSTAT_NUMERIC);
-                                               
+
                snprint_ip_port(rem_addr, sizeof(rem_addr),
                                                (struct sockaddr *) &remaddr, rem_port,
                                                "udp", flags&NETSTAT_NUMERIC);
@@ -387,7 +387,7 @@ static void raw_do_one(int lnr, const char *line)
                snprint_ip_port(local_addr, sizeof(local_addr),
                                                (struct sockaddr *) &localaddr, local_port,
                                                "raw", flags&NETSTAT_NUMERIC);
-                                               
+
                snprint_ip_port(rem_addr, sizeof(rem_addr),
                                                (struct sockaddr *) &remaddr, rem_port,
                                                "raw", flags&NETSTAT_NUMERIC);
@@ -558,7 +558,7 @@ int netstat_main(int argc, char **argv)
 {
        int opt;
        int new_flags=0;
-       int showroute = 0, extended = 0; 
+       int showroute = 0, extended = 0;
 #ifdef CONFIG_FEATURE_IPV6
        int inet=1;
        int inet6=1;
@@ -600,14 +600,14 @@ int netstat_main(int argc, char **argv)
                        bb_show_usage();
                }
        if ( showroute ) {
-#ifdef CONFIG_ROUTE    
+#ifdef CONFIG_ROUTE
                displayroutes ( flags & NETSTAT_NUMERIC, !extended );
-               return 0; 
+               return 0;
 #else
                bb_error_msg_and_die( "-r (display routing table) is not compiled in." );
 #endif
-       }       
-               
+       }
+
        if (new_flags) {
                flags &= ~(NETSTAT_TCP|NETSTAT_UDP|NETSTAT_RAW|NETSTAT_UNIX);
                flags |= new_flags;
index 3295106303404957364c0ea9079ab7ccb8c4e26b..bb691d687a7ea959b86093f5555794a82054326b 100644 (file)
@@ -187,7 +187,7 @@ int nslookup_main(int argc, char **argv)
 
        if (argc < 2 || *argv[1]=='-' || argc > 3)
                bb_show_usage();
-       else if(argc == 3) 
+       else if(argc == 3)
                set_default_dns(argv[2]);
 
        server_print();
@@ -200,4 +200,4 @@ int nslookup_main(int argc, char **argv)
        return EXIT_SUCCESS;
 }
 
-/* $Id: nslookup.c,v 1.31 2004/01/30 22:40:05 andersen Exp $ */
+/* $Id: nslookup.c,v 1.32 2004/03/15 08:28:48 andersen Exp $ */
index a38f356d61c53ed83d9e806d0ef002ff0cf00551..50f3930ff8ad8732b878eee466f57a8cc3d61c93 100644 (file)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * $Id: ping.c,v 1.55 2003/07/22 08:56:51 andersen Exp $
+ * $Id: ping.c,v 1.56 2004/03/15 08:28:48 andersen Exp $
  * Mini ping implementation for busybox
  *
  * Copyright (C) 1999 by Randolph Chung <tausq@debian.org>
@@ -27,7 +27,7 @@
  *
  * This code is derived from software contributed to Berkeley by
  * Mike Muuss.
- * 
+ *
  * Original copyright notice is retained at the end of this file.
  */
 
@@ -329,7 +329,7 @@ static void unpack(char *buf, int sz, struct sockaddr_in *from)
                if (dupflag)
                        printf(" (DUP!)");
                printf("\n");
-       } else 
+       } else
                if (icmppkt->icmp_type != ICMP_ECHO)
                        bb_error_msg("Warning: Got ICMP %d (%s)",
                                        icmppkt->icmp_type, icmp_type_name (icmppkt->icmp_type));
@@ -451,8 +451,8 @@ extern int ping_main(int argc, char **argv)
  *    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>
  *
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
index d9d0dd343ff59f0c25c51707e128eea655a035f9..72867f346a4e7fd022652ec2bbe082194ae14b41 100644 (file)
@@ -1,6 +1,6 @@
 /* vi: set sw=4 ts=4: */
 /*
- * $Id: ping6.c,v 1.5 2003/05/22 07:10:22 andersen Exp $
+ * $Id: ping6.c,v 1.6 2004/03/15 08:28:48 andersen Exp $
  * Mini ping implementation for busybox
  *
  * Copyright (C) 1999 by Randolph Chung <tausq@debian.org>
@@ -27,7 +27,7 @@
  *
  * This code is derived from software contributed to Berkeley by
  * Mike Muuss.
- * 
+ *
  * Original copyright notice is retained at the end of this file.
  *
  * This version is an adaptation of ping.c from busybox.
@@ -162,7 +162,7 @@ static unsigned long tmin = ULONG_MAX, tmax, tsum;
 static char rcvd_tbl[MAX_DUP_CHK / 8];
 
 # ifdef CONFIG_FEATURE_FANCY_PING
-extern 
+extern
 # endif
        struct hostent *hostent;
 
@@ -302,12 +302,12 @@ static void unpack(char *packet, int sz, struct sockaddr_in6 *from, int hoplimit
                           inet_ntop(AF_INET6, (struct in_addr6 *) &pingaddr.sin6_addr,
                                                 buf, sizeof(buf)),
                           icmppkt->icmp6_seq);
-               printf(" ttl=%d time=%lu.%lu ms", hoplimit, 
+               printf(" ttl=%d time=%lu.%lu ms", hoplimit,
                           triptime / 10, triptime % 10);
                if (dupflag)
                        printf(" (DUP!)");
                printf("\n");
-       } else 
+       } else
                if (icmppkt->icmp6_type != ICMP6_ECHO_REQUEST)
                        bb_error_msg("Warning: Got ICMP %d (%s)",
                                        icmppkt->icmp6_type, icmp6_type_name (icmppkt->icmp6_type));
@@ -494,8 +494,8 @@ extern int ping6_main(int argc, char **argv)
  *    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>
  *
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
index 111900d338f1f4142fe812194b9486f987441ca8..9e7a010342301db1a0ee8e3730a5f1cea350515f 100644 (file)
@@ -15,7 +15,7 @@
  * Foundation;  either  version 2 of the License, or  (at
  * your option) any later version.
  *
- * $Id: route.c,v 1.24 2004/03/10 07:42:38 mjn3 Exp $
+ * $Id: route.c,v 1.25 2004/03/15 08:28:49 andersen Exp $
  *
  * displayroute() code added by Vladimir N. Oleynik <dzo@simtreas.ru>
  * adjustments by Larry Doolittle  <LRDoolittle@lbl.gov>
@@ -107,7 +107,7 @@ static const char tbl_hash_net_host[] =
 #define KW_IPVx_DYN                    042
 #define KW_IPVx_REINSTATE      043
 
-static const char tbl_ipvx[] = 
+static const char tbl_ipvx[] =
        /* 020 is the "takes an arg" bit */
 #if HAVE_NEW_ADDRT
        "\011\020metric\0"
@@ -206,7 +206,7 @@ static void INET_setroute(int action, char **args)
        while (*args) {
                int k = kw_lookup(tbl_ipvx, &args);
                const char *args_m1 = args[-1];
-               
+
                if (k & KW_IPVx_FLAG_ONLY) {
                        rt.rt_flags |= flags_ipvx[k & 3];
                        continue;
@@ -666,7 +666,7 @@ int route_main(int argc, char **argv)
                                p[0][0] = '#';
                        }
                }
-       }       
+       }
 
        opt = bb_getopt_ulflags(argc, argv, "A:ne", &family);
 
index 574fe8dabe9273c005f3115b4bf802c596689659..6c5f3d15b64bf5f8cc7f6eb787acbc52ab0d9693 100644 (file)
@@ -54,7 +54,7 @@ static const int DOTRACE = 1;
 #include <arpa/inet.h> /* for inet_ntoa()... */
 #define TRACE(x, y) do { if (x) printf y; } while (0)
 #else
-#define TRACE(x, y) 
+#define TRACE(x, y)
 #endif
 
 #if 0
@@ -99,8 +99,8 @@ static struct Globalvars {
        /* buffer to handle telnet negotiations */
        char    iacbuf[IACBUFSIZE];
        short   iaclen; /* could even use byte */
-       struct termios termios_def;     
-       struct termios termios_raw;     
+       struct termios termios_def;
+       struct termios termios_raw;
 } G;
 
 #define xUSE_GLOBALVAR_PTR /* xUSE... -> don't use :D (makes smaller code) */
@@ -143,7 +143,7 @@ static void doexit(int ev)
 {
        cookmode();
        exit(ev);
-}      
+}
 
 static void conescape(void)
 {
@@ -190,10 +190,10 @@ static void conescape(void)
 
        if (G.gotsig)
                cookmode();
-       
+
  rrturn:
        G.gotsig = 0;
-       
+
 }
 static void handlenetoutput(int len)
 {
@@ -442,7 +442,7 @@ static void will_charmode(void)
        G.charmode = CHM_TRY;
        G.telflags |= (UF_ECHO | UF_SGA);
        setConMode();
-  
+
        putiac2(DO, TELOPT_ECHO);
        putiac2(DO, TELOPT_SGA);
        iacflush();
@@ -472,7 +472,7 @@ static inline void to_echo(void)
        /* if server requests ECHO, don't agree */
        if      (G.telwish == DO) {     putiac2(WONT, TELOPT_ECHO);     return; }
        else if (G.telwish == DONT)     return;
-  
+
        if (G.telflags & UF_ECHO)
        {
                if (G.telwish == WILL)
@@ -506,7 +506,7 @@ static inline void to_sga(void)
        else
                if (G.telwish == WONT)
                        return;
-  
+
        if ((G.telflags ^= UF_SGA) & UF_SGA) /* toggle */
                putiac2(DO, TELOPT_SGA);
        else
@@ -545,11 +545,11 @@ static inline void to_new_environ(void)
 
 #ifdef CONFIG_FEATURE_AUTOWIDTH
 static inline void to_naws(void)
-{ 
+{
        /* Tell server we will do NAWS */
        putiac2(WILL, TELOPT_NAWS);
        return;
-}         
+}
 #endif
 
 static void telopt(byte c)
@@ -617,7 +617,7 @@ static void fgotsig(int sig)
 static void rawmode(void)
 {
        tcsetattr(0, TCSADRAIN, &G.termios_raw);
-}      
+}
 
 static void cookmode(void)
 {
@@ -630,10 +630,10 @@ extern int telnet_main(int argc, char** argv)
        struct sockaddr_in s_in;
 #ifdef USE_POLL
        struct pollfd ufds[2];
-#else  
+#else
        fd_set readfds;
        int maxfd;
-#endif 
+#endif
 
 #ifdef CONFIG_FEATURE_TELNET_AUTOLOGIN
        int opt;
@@ -651,13 +651,13 @@ extern int telnet_main(int argc, char** argv)
 
        if (tcgetattr(0, &G.termios_def) < 0)
                exit(1);
-       
+
        G.termios_raw = G.termios_def;
        cfmakeraw(&G.termios_raw);
-       
+
        if (argc < 2)
                bb_show_usage();
-       
+
 #ifdef CONFIG_FEATURE_TELNET_AUTOLOGIN
        autologin = NULL;
        while ((opt = getopt(argc, argv, "al:")) != EOF) {
@@ -685,7 +685,7 @@ extern int telnet_main(int argc, char** argv)
        bb_lookup_host(&s_in, argv[1]);
        s_in.sin_port = bb_lookup_port((argc == 3) ? argv[2] : "telnet", "tcp", 23);
 #endif
-       
+
        G.netfd = xconnect(&s_in);
 
        setsockopt(G.netfd, SOL_SOCKET, SO_KEEPALIVE, &one, sizeof one);
@@ -695,22 +695,22 @@ extern int telnet_main(int argc, char** argv)
 #ifdef USE_POLL
        ufds[0].fd = 0; ufds[1].fd = G.netfd;
        ufds[0].events = ufds[1].events = POLLIN;
-#else  
+#else
        FD_ZERO(&readfds);
        FD_SET(0, &readfds);
        FD_SET(G.netfd, &readfds);
        maxfd = G.netfd + 1;
 #endif
-       
+
        while (1)
        {
 #ifndef USE_POLL
                fd_set rfds = readfds;
-               
+
                switch (select(maxfd, &rfds, NULL, NULL, NULL))
 #else
                switch (poll(ufds, 2, -1))
-#endif                 
+#endif
                {
                case 0:
                        /* timeout */
@@ -725,9 +725,9 @@ extern int telnet_main(int argc, char** argv)
 
 #ifdef USE_POLL
                        if (ufds[0].revents) /* well, should check POLLIN, but ... */
-#else                          
+#else
                        if (FD_ISSET(0, &rfds))
-#endif                         
+#endif
                        {
                                len = read(0, G.buf, DATABUFSIZE);
 
@@ -735,15 +735,15 @@ extern int telnet_main(int argc, char** argv)
                                        doexit(0);
 
                                TRACE(0, ("Read con: %d\n", len));
-                               
+
                                handlenetoutput(len);
                        }
 
 #ifdef USE_POLL
                        if (ufds[1].revents) /* well, should check POLLIN, but ... */
-#else                          
+#else
                        if (FD_ISSET(G.netfd, &rfds))
-#endif                         
+#endif
                        {
                                len = read(G.netfd, G.buf, DATABUFSIZE);
 
index 3051cfa1e4da2716310608056749b0b7be7b9fbd..efb2988b30b8978c4a17b07413073f2057e7790e 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: telnetd.c,v 1.10 2004/02/22 09:45:57 bug1 Exp $
+/* $Id: telnetd.c,v 1.11 2004/03/15 08:28:53 andersen Exp $
  *
  * Simple telnet server
  * Bjorn Wesen, Axis Communications AB (bjornw@axis.com)
@@ -49,7 +49,7 @@
 
 #define BUFSIZE 4000
 
-static const char *loginpath 
+static const char *loginpath
 #ifdef CONFIG_LOGIN
  = "/bin/login";
 #else
@@ -540,7 +540,7 @@ telnetd_main(int argc, char **argv)
 #ifndef CONFIG_FEATURE_TELNETD_INETD
                        struct tsession *next = ts->next; /* in case we free ts. */
 #endif /* CONFIG_FEATURE_TELNETD_INETD */
-                       
+
                        if (ts->size1 && FD_ISSET(ts->ptyfd, &wrfdset)) {
                                int num_totty;
                                char *ptr;
index 10aa63bb97c1e71d44031638f45959ca6f2d1885..bd973d79ae4b4bf028a3754ba21864d07db5c00b 100644 (file)
@@ -76,15 +76,15 @@ const int tftp_cmd_put = 2;
 
 #ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
 
-static int tftp_blocksize_check(int blocksize, int bufsize)  
+static int tftp_blocksize_check(int blocksize, int bufsize)
 {
-        /* Check if the blocksize is valid: 
+        /* Check if the blocksize is valid:
         * RFC2348 says between 8 and 65464,
         * but our implementation makes it impossible
         * to use blocksizes smaller than 22 octets.
         */
 
-        if ((bufsize && (blocksize > bufsize)) || 
+        if ((bufsize && (blocksize > bufsize)) ||
            (blocksize < 8) || (blocksize > 65464)) {
                bb_error_msg("bad blocksize");
                return 0;
@@ -93,12 +93,12 @@ static int tftp_blocksize_check(int blocksize, int bufsize)
        return blocksize;
 }
 
-static char *tftp_option_get(char *buf, int len, char *option)  
+static char *tftp_option_get(char *buf, int len, char *option)
 {
         int opt_val = 0;
        int opt_found = 0;
        int k;
-  
+
        while (len > 0) {
 
                /* Make sure the options are terminated correctly */
@@ -117,21 +117,21 @@ static char *tftp_option_get(char *buf, int len, char *option)
                        if (strcasecmp(buf, option) == 0) {
                                opt_found = 1;
                        }
-               }      
+               }
                else {
                        if (opt_found) {
                                return buf;
                        }
                }
-    
+
                k++;
-               
+
                buf += k;
                len -= k;
-               
+
                opt_val ^= 1;
        }
-       
+
        return NULL;
 }
 
@@ -207,7 +207,7 @@ static inline int tftp(const int cmd, const struct hostent *host,
 
                if ((cmd_get && (opcode == TFTP_RRQ)) ||
                        (cmd_put && (opcode == TFTP_WRQ))) {
-                        int too_long = 0; 
+                        int too_long = 0;
 
                        /* see if the filename fits into buf */
                        /* and fill in packet                */
@@ -380,7 +380,7 @@ static inline int tftp(const int cmd, const struct hostent *host,
                        if (buf[4] != '\0') {
                                msg = &buf[4];
                                buf[tftp_bufsize - 1] = '\0';
-                       } else if (tmp < (sizeof(tftp_bb_error_msg) 
+                       } else if (tmp < (sizeof(tftp_bb_error_msg)
                                          / sizeof(char *))) {
 
                                msg = (char *) tftp_bb_error_msg[tmp];
@@ -404,12 +404,12 @@ static inline int tftp(const int cmd, const struct hostent *host,
 
                                 char *res;
 
-                                res = tftp_option_get(&buf[2], len-2, 
+                                res = tftp_option_get(&buf[2], len-2,
                                                       "blksize");
 
                                 if (res) {
                                         int blksize = atoi(res);
-                            
+                       
                                         if (tftp_blocksize_check(blksize,
                                                           tftp_bufsize - 4)) {
 
@@ -443,7 +443,7 @@ static inline int tftp(const int cmd, const struct hostent *host,
                if (cmd_get && (opcode == TFTP_DATA)) {
 
                        if (tmp == block_nr) {
-                           
+                       
                                len = write(localfd, &buf[4], len - 4);
 
                                if (len < 0) {
@@ -506,13 +506,13 @@ int tftp_main(int argc, char **argv)
 #ifdef CONFIG_FEATURE_TFTP_GET
 #define GET "g"
 #else
-#define GET 
+#define GET
 #endif
 
 #ifdef CONFIG_FEATURE_TFTP_PUT
 #define PUT "p"
 #else
-#define PUT 
+#define PUT
 #endif
 
        while ((opt = getopt(argc, argv, BS GET PUT "l:r:")) != -1) {
@@ -537,7 +537,7 @@ int tftp_main(int argc, char **argv)
                        flags = O_RDONLY;
                        break;
 #endif
-               case 'l': 
+               case 'l':
                        localfile = bb_xstrdup(optarg);
                        break;
                case 'r':
index 5f8989fd11ff45eacc634900cb553581cbb4041b..44ffdf07e34704ad3ee50abc69f29baa5f6b52fb 100644 (file)
@@ -75,7 +75,7 @@
 #include <netinet/ip.h>
 #include <netinet/ip_icmp.h>
 
+
 #define MAXPACKET       65535   /* max ip packet size */
 #ifndef MAXHOSTNAMELEN
 #define MAXHOSTNAMELEN  64
index bb58de13e5bf57eb485d8606297c8f8b4b64bdc2..f3f43364a424e163bac4e5d0fe9534b0125a15d9 100644 (file)
@@ -8,7 +8,6 @@ Chris Trew <christ@moreton.com.au>
 Other Credits:
 --------------
 Moreton Bay    (http://www.moretonbay.com/)
-Lineo          (http://opensource.lineo.com)
 Vladimir Oleynik <dzo@simtrea.ru> Size optimizations
 
 
index f1aac060e0b4888815e95c055304c02978dd1c00..2feffc7764bba206bab486de04235f2d47c8a19e 100644 (file)
@@ -39,7 +39,7 @@
   (Ted Lemon <Ted.Lemon@nominum.com>)
 + Improved (hopefully) NAKing behavior (me)
 + Added -b option (Jouni Malinen)
-+ Compute checksums correctly on big endian hosts 
++ Compute checksums correctly on big endian hosts
   (Jouni Malinen <jkmaline@cc.hut.fi>)
 
 0.9.7 (020526)
index ee34d48ffda0665b345e581563e9917141f40d5e..2b79d22932f5d9ba49f24f6d8b73f5b46f4a4f4e 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 4d3f27093b17a2fc7454f8731645ff50e5b6859c..b4807942954acbd75065e0bb24ba0e090907117a 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 eddb24be7ccbf381263321f6852e645f48140040..dd992949ade858baa4210da0abf36adccb943fec 100644 (file)
@@ -10,30 +10,30 @@ compile time options
 -------------------
 
 The Makefile contains three of the compile time options:
-       
+
        UDHCP_DEBUG: If UDHCP_DEBUG is defined, udhcpd will output extra
        debugging output, compile with -g, and not fork to the background when
        run.
        UDHCP_SYSLOG: If UDHCP_SYSLOG is defined, udhcpd will log all its
        messages syslog, otherwise, it will attempt to log them to stdout.
-       
+
        COMBINED_BINARY: If COMBINED_BINARY is define, one binary, udhcpd,
        is created. If called as udhcpd, the dhcp server will be started.
        If called as udhcpc, the dhcp client will be started.
-       
+
 dhcpd.h contains the other three compile time options:
-       
+
        LEASE_TIME: The default lease time if not specified in the config
        file.
 
        LEASES_FILE: The default file for storing leases.
-       
+
        DHCPD_CONFIG_FILE: The defualt config file to use.
-       
+
 options.c contains a set of dhcp options for the client:
 
        name[10]: The name of the option as it will appear in scripts
-       
+
        flags: The type of option, as well as if it will be requested
        by the client (OPTION_REQ)
 
@@ -45,7 +45,7 @@ busybox drop-in
 udhcp is now a drop-in component for busybox (http://busybox.net).
 To update busybox to the latest revision, simply do a:
 
-cp *.[ch] README AUTHORS COPYING ChangeLog TODO \ 
+cp *.[ch] README AUTHORS COPYING ChangeLog TODO \
        <busybox_source>/networking/udhcp
 
 The only two files udhcp does not provide are config.in and
index 8aee9814b4151a7b780a4a9e8c195ea1a081d3d0..d720a37cfdf8ef852062837a2d57a486db5647b7 100644 (file)
@@ -36,20 +36,20 @@ udhcp client scripts
 
 When an event occurs, udhcpc calls the action script. udhcpc never does
 any configuration of the network interface itself, but instead relies on
-a set of scripts. The script by default is 
+a set of scripts. The script by default is
 /usr/share/udhcpc/default.script but this can be changed via the command
 line arguments. The three possible arguments to the script are:
 
        deconfig: This argument is used when udhcpc starts, and
        when a leases is lost. The script must put the interface in an
        up, but deconfigured state, ie: ifconfig $interface 0.0.0.0.
-       
+
        bound: This argument is used when udhcpc moves from an
        unbound, to a bound state. All of the paramaters are set in
        enviromental variables, The script should configure the interface,
-       and set any other relavent parameters (default gateway, dns server, 
+       and set any other relavent parameters (default gateway, dns server,
        etc).
-       
+
        renew: This argument is used when a DHCP lease is renewed. All of
        the paramaters are set in enviromental variables. This argument is
        used when the interface is already configured, so the IP address,
@@ -133,7 +133,7 @@ compile time options
 options.c contains a set of dhcp options for the client:
 
        name[10]: The name of the option as it will appear in scripts
-       
+
        flags: The type of option, as well as if it will be requested
        by the client (OPTION_REQ)
 
index bc6137de3798c7e9e08a7b2863df0ea8019b2623..169de78ecd87c1318c6a86bc085bcd7992268f0e 100644 (file)
@@ -14,7 +14,7 @@ udhcpd.leases
 
 The udhcpd.leases behavior is designed for an embedded system. The
 file is written either every auto_time seconds, or when a SIGUSR1
-is received (the auto_time timer restarts if a SIGUSR1 is received). 
+is received (the auto_time timer restarts if a SIGUSR1 is received).
 If you send a SIGTERM to udhcpd directly after a SIGUSR1, udhcpd will
 finish writing the leases file and wait for the aftermentioned script
 to be executed and finish before quiting, so you do not need to sleep
@@ -50,10 +50,10 @@ available options and comments describing them in samples/udhcpd.conf
 
 compile time options
 -------------------
-       
+
 dhcpd.h contains the other two compile time options:
-       
+
        LEASE_TIME: The default lease time if not specified in the config
        file.
-       
+
        DHCPD_CONFIG_FILE: The defualt config file to use.
index 23c7d46b338439ffe37ce9610c1669bd59bddf05..ab4c6d20ce0fdb0e78748eb6dd2b8731d5fe7bb4 100644 (file)
@@ -25,8 +25,8 @@
  *             interface - interface to use
  * retn:       1 addr free
  *             0 addr used
- *             -1 error 
- */  
+ *             -1 error
+ */
 
 /* FIXME: match response against chaddr */
 int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface)
@@ -51,7 +51,7 @@ int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface)
 #endif
                return -1;
        }
-       
+
        if (setsockopt(s, SOL_SOCKET, SO_BROADCAST, &optval, sizeof(optval)) == -1) {
                LOG(LOG_ERR, "Could not setsocketopt on raw socket");
                close(s);
@@ -71,12 +71,12 @@ int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface)
        memcpy(arp.sInaddr, &ip, sizeof(ip));           /* source IP address */
        memcpy(arp.sHaddr, mac, 6);                     /* source hardware address */
        memcpy(arp.tInaddr, &yiaddr, sizeof(yiaddr));   /* target IP address */
-       
+
        memset(&addr, 0, sizeof(addr));
        strcpy(addr.sa_data, interface);
        if (sendto(s, &arp, sizeof(arp), 0, &addr, sizeof(addr)) < 0)
                rv = 0;
-       
+
        /* wait arp reply, and check it */
        tm.tv_usec = 0;
        time(&prevTime);
@@ -89,8 +89,8 @@ int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface)
                        if (errno != EINTR) rv = 0;
                } else if (FD_ISSET(s, &fdset)) {
                        if (recv(s, &arp, sizeof(arp), 0) < 0 ) rv = 0;
-                       if (arp.operation == htons(ARPOP_REPLY) && 
-                           bcmp(arp.tHaddr, mac, 6) == 0 && 
+                       if (arp.operation == htons(ARPOP_REPLY) &&
+                           bcmp(arp.tHaddr, mac, 6) == 0 &&
                            *((uint32_t *) arp.sInaddr) == yiaddr) {
                                DEBUG(LOG_INFO, "Valid arp reply receved for this address");
                                rv = 0;
@@ -101,6 +101,6 @@ int arpping(uint32_t yiaddr, uint32_t ip, uint8_t *mac, char *interface)
                time(&prevTime);
        }
        close(s);
-       DEBUG(LOG_INFO, "%salid arp replies for this address", rv ? "No v" : "V");       
+       DEBUG(LOG_INFO, "%salid arp replies for this address", rv ? "No v" : "V");      
        return rv;
 }
index 6cbd2979fef63bf23a82ecf2af1700071a0a1161..6f27d9f754becc107f7095ebe6d55847e67dd3eb 100644 (file)
@@ -15,7 +15,7 @@ struct arpMsg {
        u_char   h_dest[6];                     /* destination ether addr */
        u_char   h_source[6];                   /* source ether addr */
        u_short  h_proto;                       /* packet type ID field */
-       
+
        /* ARP packet */
        uint16_t htype;                         /* hardware type (must be ARPHRD_ETHER) */
        uint16_t ptype;                         /* protocol type (must be ETH_P_IP) */
index 6838c07e8cebe7eeaee2c84a870bece69fd738d8..5b27004f9d843c2c594d27e4da1effd5ae3dc436 100644 (file)
@@ -18,7 +18,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
+
 #include <string.h>
 #include <sys/socket.h>
 #include <features.h>
@@ -73,7 +73,7 @@ static void init_packet(struct dhcpMessage *packet, char type)
                char vendor, length;
                char str[sizeof("udhcp "VERSION)];
        } vendor_id = { DHCP_VENDOR,  sizeof("udhcp "VERSION) - 1, "udhcp "VERSION};
-       
+
        init_header(packet, type);
        memcpy(packet->chaddr, client_config.arp, 6);
        add_option_string(packet->options, client_config.clientid);
@@ -112,7 +112,7 @@ int send_discover(unsigned long xid, unsigned long requested)
 
        add_requests(&packet);
        LOG(LOG_DEBUG, "Sending discover...");
-       return raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST, 
+       return raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
                                SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
 }
 
@@ -128,11 +128,11 @@ int send_selecting(unsigned long xid, unsigned long server, unsigned long reques
 
        add_simple_option(packet.options, DHCP_REQUESTED_IP, requested);
        add_simple_option(packet.options, DHCP_SERVER_ID, server);
-       
+
        add_requests(&packet);
        addr.s_addr = requested;
        LOG(LOG_DEBUG, "Sending select for %s...", inet_ntoa(addr));
-       return raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST, 
+       return raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
                                SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
 }
 
@@ -149,12 +149,12 @@ int send_renew(unsigned long xid, unsigned long server, unsigned long ciaddr)
 
        add_requests(&packet);
        LOG(LOG_DEBUG, "Sending renew...");
-       if (server) 
+       if (server)
                ret = kernel_packet(&packet, ciaddr, CLIENT_PORT, server, SERVER_PORT);
        else ret = raw_packet(&packet, INADDR_ANY, CLIENT_PORT, INADDR_BROADCAST,
                                SERVER_PORT, MAC_BCAST_ADDR, client_config.ifindex);
        return ret;
-}      
+}
 
 
 /* Unicasts a DHCP release message */
@@ -165,7 +165,7 @@ int send_release(unsigned long server, unsigned long ciaddr)
        init_packet(&packet, DHCPRELEASE);
        packet.xid = random_xid();
        packet.ciaddr = ciaddr;
-       
+
        add_simple_option(packet.options, DHCP_REQUESTED_IP, ciaddr);
        add_simple_option(packet.options, DHCP_SERVER_ID, server);
 
@@ -189,20 +189,20 @@ int get_raw_packet(struct dhcpMessage *payload, int fd)
                usleep(500000); /* possible down interface, looping condition */
                return -1;
        }
-       
+
        if (bytes < (int) (sizeof(struct iphdr) + sizeof(struct udphdr))) {
                DEBUG(LOG_INFO, "message too short, ignoring");
                return -2;
        }
-       
+
        if (bytes < ntohs(packet.ip.tot_len)) {
                DEBUG(LOG_INFO, "Truncated packet");
                return -2;
        }
-       
+
        /* ignore any extra garbage bytes */
        bytes = ntohs(packet.ip.tot_len);
-       
+
        /* Make sure its the right packet for us, and that it passes sanity checks */
        if (packet.ip.protocol != IPPROTO_UDP || packet.ip.version != IPVERSION ||
            packet.ip.ihl != sizeof(packet.ip) >> 2 || packet.udp.dest != htons(CLIENT_PORT) ||
@@ -219,7 +219,7 @@ int get_raw_packet(struct dhcpMessage *payload, int fd)
                DEBUG(LOG_INFO, "bad IP header checksum, ignoring");
                return -1;
        }
-       
+
        /* verify the UDP checksum by replacing the header with a psuedo header */
        source = packet.ip.saddr;
        dest = packet.ip.daddr;
@@ -235,14 +235,14 @@ int get_raw_packet(struct dhcpMessage *payload, int fd)
                DEBUG(LOG_ERR, "packet with bad UDP checksum received, ignoring");
                return -2;
        }
-       
+
        memcpy(payload, &(packet.data), bytes - (sizeof(packet.ip) + sizeof(packet.udp)));
-       
+
        if (ntohl(payload->cookie) != DHCP_MAGIC) {
                LOG(LOG_ERR, "received bogus message (bad magic) -- ignoring");
                return -2;
        }
        DEBUG(LOG_INFO, "oooooh!!! got some!");
        return bytes - (sizeof(packet.ip) + sizeof(packet.udp));
-       
+
 }
index 8542c664c661cf792188b61ab5dc3cf4d1e57801..5dad7d51c3755fd7dba2a886c055d0fbf7887d3f 100644 (file)
@@ -55,7 +55,7 @@ static inline void sanitize_fds(void)
 void background(const char *pidfile)
 {
 #ifdef __uClinux__
-       LOG(LOG_ERR, "Cannot background in uclinux (yet)");     
+       LOG(LOG_ERR, "Cannot background in uclinux (yet)");
 #else /* __uClinux__ */
        int pid_fd;
 
index 78eb1c147f8006281826d6d7163f559eda4e336d..677bbfd17242808048e285ddae1e5c9dd6f07c44 100644 (file)
@@ -43,7 +43,7 @@ void background(const char *pidfile);
 void start_log_and_pid(const char *client_server, const char *pidfile);
 void background(const char *pidfile);
 void udhcp_logging(int level, const char *fmt, ...);
-                                                                                
+                                                            
 #define LOG(level, str, args...) udhcp_logging(level, str, ## args)
 
 #ifdef UDHCP_DEBUG
index 2ba42d295a237a30e2a2e2b1a990dc3564eb567d..dda67893310b50bcf08511c891f0c59d7fa516f1 100644 (file)
@@ -18,7 +18,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  */
+
 #include <sys/time.h>
 #include <sys/file.h>
 #include <unistd.h>
@@ -152,7 +152,7 @@ static void perform_release(void)
                temp_addr.s_addr = server_addr;
                sprintf(buffer, "%s", inet_ntoa(temp_addr));
                temp_addr.s_addr = requested_ip;
-               LOG(LOG_INFO, "Unicasting a release of %s to %s", 
+               LOG(LOG_INFO, "Unicasting a release of %s to %s",
                                inet_ntoa(temp_addr), buffer);
                send_release(server_addr, requested_ip); /* unicast */
                run_script(NULL, "deconfig");
@@ -213,7 +213,7 @@ int main(int argc, char *argv[])
                int option_index = 0;
                c = getopt_long(argc, argv, "c:fbH:h:i:np:qr:s:v", arg_options, &option_index);
                if (c == -1) break;
-               
+
                switch (c) {
                case 'c':
                        len = strlen(optarg) > 255 ? 255 : strlen(optarg);
@@ -269,10 +269,10 @@ int main(int argc, char *argv[])
        /* Start the log, sanitize fd's, and write a pid file */
        start_log_and_pid("udhcpc", client_config.pidfile);
 
-       if (read_interface(client_config.interface, &client_config.ifindex, 
+       if (read_interface(client_config.interface, &client_config.ifindex,
                           NULL, client_config.arp) < 0)
                return 1;
-               
+
        if (!client_config.clientid) {
                client_config.clientid = xmalloc(6 + 3);
                client_config.clientid[OPT_CODE] = DHCP_CLIENT_ID;
@@ -282,8 +282,8 @@ int main(int argc, char *argv[])
        }
 
        /* setup the signal pipe */
-       udhcp_sp_setup();       
-       
+       udhcp_sp_setup();
+
        state = INIT_SELECTING;
        run_script(NULL, "deconfig");
        change_mode(LISTEN_RAW);
@@ -321,7 +321,7 @@ int main(int argc, char *argv[])
 
                                        /* send discover packet */
                                        send_discover(xid, requested_ip); /* broadcast */
-                                       
+
                                        timeout = now + ((packet_num == 2) ? 4 : 2);
                                        packet_num++;
                                } else {
@@ -345,7 +345,7 @@ int main(int argc, char *argv[])
                                        if (state == RENEW_REQUESTED)
                                                send_renew(xid, server_addr, requested_ip); /* unicast */
                                        else send_selecting(xid, server_addr, requested_ip); /* broadcast */
-                                       
+
                                        timeout = now + ((packet_num == 2) ? 10 : 2);
                                        packet_num++;
                                } else {
@@ -373,7 +373,7 @@ int main(int argc, char *argv[])
                                } else {
                                        /* send a request packet */
                                        send_renew(xid, server_addr, requested_ip); /* unicast */
-                                       
+
                                        t1 = (t2 - t1) / 2 + t1;
                                        timeout = t1 + start;
                                }
@@ -403,28 +403,28 @@ int main(int argc, char *argv[])
                        }
                } else if (retval > 0 && listen_mode != LISTEN_NONE && FD_ISSET(fd, &rfds)) {
                        /* a packet is ready, read it */
-                       
+
                        if (listen_mode == LISTEN_KERNEL)
                                len = get_packet(&packet, fd);
                        else len = get_raw_packet(&packet, fd);
-                       
+
                        if (len == -1 && errno != EINTR) {
                                DEBUG(LOG_INFO, "error on read, %m, reopening socket");
                                change_mode(listen_mode); /* just close and reopen */
                        }
                        if (len < 0) continue;
-                       
+
                        if (packet.xid != xid) {
                                DEBUG(LOG_INFO, "Ignoring XID %lx (our xid is %lx)",
                                        (unsigned long) packet.xid, xid);
                                continue;
                        }
-                       
+
                        if ((message = get_option(&packet, DHCP_MESSAGE_TYPE)) == NULL) {
                                DEBUG(LOG_ERR, "couldnt get option from packet -- ignoring");
                                continue;
                        }
-                       
+
                        switch (state) {
                        case INIT_SELECTING:
                                /* Must be a DHCPOFFER to one of our xid's */
@@ -433,7 +433,7 @@ int main(int argc, char *argv[])
                                                memcpy(&server_addr, temp, 4);
                                                xid = packet.xid;
                                                requested_ip = packet.yiaddr;
-                                               
+
                                                /* enter requesting state */
                                                state = REQUESTING;
                                                timeout = now;
@@ -455,14 +455,14 @@ int main(int argc, char *argv[])
                                                memcpy(&lease, temp, 4);
                                                lease = ntohl(lease);
                                        }
-                                               
+
                                        /* enter bound state */
                                        t1 = lease / 2;
-                                       
+
                                        /* little fixed point for n * .875 */
                                        t2 = (lease * 0x7) >> 3;
                                        temp_addr.s_addr = packet.yiaddr;
-                                       LOG(LOG_INFO, "Lease of %s obtained, lease time %ld", 
+                                       LOG(LOG_INFO, "Lease of %s obtained, lease time %ld",
                                                inet_ntoa(temp_addr), lease);
                                        start = now;
                                        timeout = t1 + start;
@@ -472,7 +472,7 @@ int main(int argc, char *argv[])
 
                                        state = BOUND;
                                        change_mode(LISTEN_NONE);
-                                       if (client_config.quit_after_lease) 
+                                       if (client_config.quit_after_lease)
                                                return 0;
                                        if (!client_config.foreground)
                                                client_background();
@@ -492,10 +492,10 @@ int main(int argc, char *argv[])
                                }
                                break;
                        /* case BOUND, RELEASED: - ignore all packets */
-                       }       
+                       }
                } else if (retval > 0 && (sig = udhcp_sp_read(&rfds))) {
                        switch (sig) {
-                       case SIGUSR1: 
+                       case SIGUSR1:
                                perform_renew();
                                break;
                        case SIGUSR2:
@@ -506,12 +506,12 @@ int main(int argc, char *argv[])
                                return 0;
                        }
                } else if (retval == -1 && errno == EINTR) {
-                       /* a signal was caught */               
+                       /* a signal was caught */
                } else {
                        /* An error occured */
                        DEBUG(LOG_ERR, "Error on select");
                }
-               
+
        }
        return 0;
 }
index 8c944f243920f6794d03db8e700462914c0c53da..6f38f07f7e79408bf604d840012587ed89d4f8f1 100644 (file)
@@ -51,12 +51,12 @@ struct dhcpOfferedAddr *leases;
 struct server_config_t server_config;
 
 
-#ifdef COMBINED_BINARY 
+#ifdef COMBINED_BINARY
 int udhcpd_main(int argc, char *argv[])
 #else
 int main(int argc, char *argv[])
 #endif
-{      
+{
        fd_set rfds;
        struct timeval tv;
        int server_socket = -1;
@@ -70,7 +70,7 @@ int main(int argc, char *argv[])
        struct dhcpOfferedAddr *lease;
        int max_sock;
        unsigned long num_ips;
-       
+
        memset(&server_config, 0, sizeof(struct server_config_t));
        read_config(argc < 2 ? DHCPD_CONF_FILE : argv[1]);
 
@@ -82,7 +82,7 @@ int main(int argc, char *argv[])
                server_config.lease = ntohl(server_config.lease);
        }
        else server_config.lease = LEASE_TIME;
-       
+
        /* Sanity check */
        num_ips = ntohl(server_config.end) - ntohl(server_config.start);
        if (server_config.max_leases > num_ips) {
@@ -113,7 +113,7 @@ int main(int argc, char *argv[])
                        if ((server_socket = listen_socket(INADDR_ANY, SERVER_PORT, server_config.interface)) < 0) {
                                LOG(LOG_ERR, "FATAL: couldn't create server socket, %m");
                                return 2;
-                       }                       
+                       }
 
                max_sock = udhcp_sp_fd_set(&rfds, server_socket);
                if (server_config.auto_time) {
@@ -121,7 +121,7 @@ int main(int argc, char *argv[])
                        tv.tv_usec = 0;
                }
                if (!server_config.auto_time || tv.tv_sec > 0) {
-                       retval = select(max_sock + 1, &rfds, NULL, NULL, 
+                       retval = select(max_sock + 1, &rfds, NULL, NULL,
                                        server_config.auto_time ? &tv : NULL);
                } else retval = 0; /* If we already timed out, fall through */
 
@@ -133,7 +133,7 @@ int main(int argc, char *argv[])
                        DEBUG(LOG_INFO, "error on select");
                        continue;
                }
-               
+
                switch (udhcp_sp_read(&rfds)) {
                case SIGUSR1:
                        LOG(LOG_INFO, "Received a SIGUSR1");
@@ -161,17 +161,17 @@ int main(int argc, char *argv[])
                        DEBUG(LOG_ERR, "couldn't get option from packet, ignoring");
                        continue;
                }
-               
+
                /* ADDME: look for a static lease */
                lease = find_lease_by_chaddr(packet.chaddr);
                switch (state[0]) {
                case DHCPDISCOVER:
                        DEBUG(LOG_INFO,"received DISCOVER");
-                       
+
                        if (sendOffer(&packet) < 0) {
                                LOG(LOG_ERR, "send OFFER failed");
                        }
-                       break;                  
+                       break;
                case DHCPREQUEST:
                        DEBUG(LOG_INFO, "received REQUEST");
 
@@ -180,12 +180,12 @@ int main(int argc, char *argv[])
 
                        if (requested) memcpy(&requested_align, requested, 4);
                        if (server_id) memcpy(&server_id_align, server_id, 4);
-               
+
                        if (lease) { /*ADDME: or static lease */
                                if (server_id) {
                                        /* SELECTING State */
                                        DEBUG(LOG_INFO, "server_id = %08x", ntohl(server_id_align));
-                                       if (server_id_align == server_config.server && requested && 
+                                       if (server_id_align == server_config.server && requested &&
                                            requested_align == lease->yiaddr) {
                                                sendACK(&packet, lease->yiaddr);
                                        }
@@ -203,9 +203,9 @@ int main(int argc, char *argv[])
                                                        /* don't know what to do!!!! */
                                                        sendNAK(&packet);
                                                }
-                                       }                                               
+                                       }
                                }
-                       
+
                        /* what to do if we have no record of the client */
                        } else if (server_id) {
                                /* SELECTING State */
@@ -218,7 +218,7 @@ int main(int argc, char *argv[])
                                                memset(lease->chaddr, 0, 16);
                                        /* make some contention for this address */
                                        } else sendNAK(&packet);
-                               } else if (requested_align < server_config.start || 
+                               } else if (requested_align < server_config.start ||
                                           requested_align > server_config.end) {
                                        sendNAK(&packet);
                                } /* else remain silent */
@@ -232,7 +232,7 @@ int main(int argc, char *argv[])
                        if (lease) {
                                memset(lease->chaddr, 0, 16);
                                lease->expires = time(0) + server_config.decline_time;
-                       }                       
+                       }
                        break;
                case DHCPRELEASE:
                        DEBUG(LOG_INFO,"received RELEASE");
@@ -241,7 +241,7 @@ int main(int argc, char *argv[])
                case DHCPINFORM:
                        DEBUG(LOG_INFO,"received INFORM");
                        send_inform(&packet);
-                       break;  
+                       break;
                default:
                        LOG(LOG_WARNING, "unsupported DHCP message (%02x) -- ignoring", state[0]);
                }
index 925634461b57170a1fb6757a2d0181175f113cab..39658a8ffcccbf96fa3bd7a6847920dfcda38e70 100644 (file)
@@ -124,10 +124,10 @@ struct server_config_t {
        uint32_t siaddr;                /* next server bootp option */
        char *sname;                    /* bootp server name */
        char *boot_file;                /* bootp boot file option */
-};     
+};
 
 extern struct server_config_t server_config;
 extern struct dhcpOfferedAddr *leases;
-               
+
 
 #endif
index e2b19315d407d1f4a4dfd59c3337dcf9d32ab7cf..a9036dfbdf5930f7d02e498d35154dd3e77b8170 100644 (file)
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
        const char *file = LEASES_FILE;
        struct dhcpOfferedAddr lease;
        struct in_addr addr;
-       
+
        static const struct option options[] = {
                {"absolute", 0, 0, 'a'},
                {"remaining", 0, 0, 'r'},
@@ -59,7 +59,7 @@ int main(int argc, char *argv[])
                int option_index = 0;
                c = getopt_long(argc, argv, "arf:", options, &option_index);
                if (c == -1) break;
-               
+
                switch (c) {
                case 'a': mode = ABSOLUTE; break;
                case 'r': mode = REMAINING; break;
@@ -70,10 +70,10 @@ int main(int argc, char *argv[])
                        show_usage();
                }
        }
-                       
+
        fp = xfopen(file, "r");
 
-       printf("Mac Address       IP-Address      Expires %s\n", mode == REMAINING ? "in" : "at");  
+       printf("Mac Address       IP-Address      Expires %s\n", mode == REMAINING ? "in" : "at");
        /*     "00:00:00:00:00:00 255.255.255.255 Wed Jun 30 21:49:08 1993" */
        while (fread(&lease, sizeof(lease), 1, fp)) {
 
@@ -105,6 +105,6 @@ int main(int argc, char *argv[])
                } else printf("%s", ctime(&expires));
        }
        fclose(fp);
-       
+
        return 0;
 }
index 0802bb3162fbc0bc5d5e79cea676a5c02649d63d..89287ca2df7b1f5d1d96f4ad5f3e5c1af90a0ebc 100644 (file)
@@ -1,8 +1,8 @@
-/* 
+/*
  * files.c -- DHCP server file manipulation *
  * Rewrite by Russ Dill <Russ.Dill@asu.edu> July 2001
  */
+
 #include <sys/socket.h>
 #include <arpa/inet.h>
 #include <string.h>
@@ -16,7 +16,7 @@
 #include "options.h"
 #include "common.h"
 
-/* 
+/*
  * Domain names may have 254 chars, and string options can be 254
  * chars long. However, 80 bytes will be enough for most, and won't
  * hog up memory. If you have a special application, change it
@@ -31,7 +31,7 @@ static int read_ip(const char *line, void *arg)
        int retval = 1;
 
        if (!inet_aton(line, addr)) {
-               if ((host = gethostbyname(line))) 
+               if ((host = gethostbyname(line)))
                        addr->s_addr = *((unsigned long *) host->h_addr_list[0]);
                else retval = 0;
        }
@@ -42,10 +42,10 @@ static int read_ip(const char *line, void *arg)
 static int read_str(const char *line, void *arg)
 {
        char **dest = arg;
-       
+
        if (*dest) free(*dest);
        *dest = strdup(line);
-       
+
        return 1;
 }
 
@@ -69,7 +69,7 @@ static int read_yn(const char *line, void *arg)
        else if (!strcasecmp("no", line))
                *dest = 0;
        else retval = 0;
-       
+
        return retval;
 }
 
@@ -89,11 +89,11 @@ static int read_opt(const char *const_line, void *arg)
        /* Cheat, the only const line we'll actually get is "" */
        line = (char *) const_line;
        if (!(opt = strtok(line, " \t="))) return 0;
-       
+
        for (option = dhcp_options; option->code; option++)
                if (!strcasecmp(option->name, opt))
                        break;
-       
+
        if (!option->code) return 0;
 
        do {
@@ -134,17 +134,17 @@ static int read_opt(const char *const_line, void *arg)
                        retval = (endptr[0] == '\0');
                        break;
                case OPTION_U32:
-                       *result_u32 = htonl(strtoul(val, &endptr, 0));  
+                       *result_u32 = htonl(strtoul(val, &endptr, 0));
                        retval = (endptr[0] == '\0');
                        break;
                case OPTION_S32:
-                       *result_u32 = htonl(strtol(val, &endptr, 0));   
+                       *result_u32 = htonl(strtol(val, &endptr, 0));
                        retval = (endptr[0] == '\0');
                        break;
                default:
                        break;
                }
-               if (retval) 
+               if (retval)
                        attach_option(opt_list, option, opt, length);
        } while (retval && option->flags & OPTION_LIST);
        return retval;
@@ -193,7 +193,7 @@ int read_config(const char *file)
                LOG(LOG_ERR, "unable to open config file: %s", file);
                return 0;
        }
-       
+
        while (fgets(buffer, READ_CONFIG_BUF_SIZE, in)) {
                lm++;
                if (strchr(buffer, '\n')) *(strchr(buffer, '\n')) = '\0';
@@ -203,14 +203,14 @@ int read_config(const char *file)
                if (strchr(buffer, '#')) *(strchr(buffer, '#')) = '\0';
 
                if (!(token = strtok(buffer, " \t"))) continue;
-               if (!(line = strtok(NULL, ""))) continue;               
-               
+               if (!(line = strtok(NULL, ""))) continue;
+
                /* eat leading whitespace */
                line = line + strspn(line, " \t=");
                /* eat trailing whitespace */
                for (i = strlen(line); i > 0 && isspace(line[i - 1]); i--);
                line[i] = '\0';
-               
+
                for (i = 0; keywords[i].keyword[0]; i++)
                        if (!strcasecmp(token, keywords[i].keyword))
                                if (!keywords[i].handler(line, keywords[i].var)) {
@@ -232,12 +232,12 @@ void write_leases(void)
        char buf[255];
        time_t curr = time(0);
        unsigned long tmp_time;
-       
+
        if (!(fp = fopen(server_config.lease_file, "w"))) {
                LOG(LOG_ERR, "Unable to open %s for writing", server_config.lease_file);
                return;
        }
-       
+
        for (i = 0; i < server_config.max_leases; i++) {
                if (leases[i].yiaddr != 0) {
 
@@ -257,7 +257,7 @@ void write_leases(void)
                }
        }
        fclose(fp);
-       
+
        if (server_config.notify_file) {
                sprintf(buf, "%s %s", server_config.notify_file, server_config.lease_file);
                system(buf);
@@ -270,12 +270,12 @@ void read_leases(const char *file)
        FILE *fp;
        unsigned int i = 0;
        struct dhcpOfferedAddr lease;
-       
+
        if (!(fp = fopen(file, "r"))) {
                LOG(LOG_ERR, "Unable to open %s for reading", file);
                return;
        }
-       
+
        while (i < server_config.max_leases && (fread(&lease, sizeof lease, 1, fp) == 1)) {
                /* ADDME: is it a static lease */
                if (lease.yiaddr >= server_config.start && lease.yiaddr <= server_config.end) {
@@ -284,7 +284,7 @@ void read_leases(const char *file)
                        if (!(add_lease(lease.chaddr, lease.yiaddr, lease.expires))) {
                                LOG(LOG_WARNING, "Too many leases while loading %s\n", file);
                                break;
-                       }                               
+                       }
                        i++;
                }
        }
index de577950846053af5142afefa23b771b1bc6ab89..fa77ab977c4a42f86f02afdbf5a866e2b8ffeef9 100644 (file)
@@ -7,10 +7,10 @@ int main(int argc, char *argv[])
 {
        int ret = 0;
        char *base = strrchr(argv[0], '/');
-       
+
        if (strstr(base ? (base + 1) : argv[0], "dhcpd"))
                ret = udhcpd_main(argc, argv);
        else ret = udhcpc_main(argc, argv);
-       
+
        return ret;
 }
index dce0566541d8176814d32506f0cc2a46f96ba4f9..d478880a30912dca95c114d6b68b95932df43888 100644 (file)
@@ -1,5 +1,5 @@
-/* 
- * leases.c -- tools to manage DHCP leases 
+/*
+ * leases.c -- tools to manage DHCP leases
  * Russ Dill <Russ.Dill@asu.edu> July 2001
  */
 
@@ -23,9 +23,9 @@ uint8_t blank_chaddr[] = {[0 ... 15] = 0};
 void clear_lease(uint8_t *chaddr, uint32_t yiaddr)
 {
        unsigned int i, j;
-       
+
        for (j = 0; j < 16 && !chaddr[j]; j++);
-       
+
        for (i = 0; i < server_config.max_leases; i++)
                if ((j != 16 && !memcmp(leases[i].chaddr, chaddr, 16)) ||
                    (yiaddr && leases[i].yiaddr == yiaddr)) {
@@ -38,18 +38,18 @@ void clear_lease(uint8_t *chaddr, uint32_t yiaddr)
 struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned long lease)
 {
        struct dhcpOfferedAddr *oldest;
-       
+
        /* clean out any old ones */
        clear_lease(chaddr, yiaddr);
-               
+
        oldest = oldest_expired_lease();
-       
+
        if (oldest) {
                memcpy(oldest->chaddr, chaddr, 16);
                oldest->yiaddr = yiaddr;
                oldest->expires = time(0) + lease;
        }
-       
+
        return oldest;
 }
 
@@ -58,7 +58,7 @@ struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned lon
 int lease_expired(struct dhcpOfferedAddr *lease)
 {
        return (lease->expires < (unsigned long) time(0));
-}      
+}
 
 
 /* Find the oldest expired lease, NULL if there are no expired leases */
@@ -68,14 +68,14 @@ struct dhcpOfferedAddr *oldest_expired_lease(void)
        unsigned long oldest_lease = time(0);
        unsigned int i;
 
-       
+
        for (i = 0; i < server_config.max_leases; i++)
                if (oldest_lease > leases[i].expires) {
                        oldest_lease = leases[i].expires;
                        oldest = &(leases[i]);
                }
        return oldest;
-               
+
 }
 
 
@@ -86,7 +86,7 @@ struct dhcpOfferedAddr *find_lease_by_chaddr(uint8_t *chaddr)
 
        for (i = 0; i < server_config.max_leases; i++)
                if (!memcmp(leases[i].chaddr, chaddr, 16)) return &(leases[i]);
-       
+
        return NULL;
 }
 
@@ -98,7 +98,7 @@ struct dhcpOfferedAddr *find_lease_by_yiaddr(uint32_t yiaddr)
 
        for (i = 0; i < server_config.max_leases; i++)
                if (leases[i].yiaddr == yiaddr) return &(leases[i]);
-       
+
        return NULL;
 }
 
@@ -120,10 +120,10 @@ static int check_ip(uint32_t addr)
 
 /* find an assignable address, it check_expired is true, we check all the expired leases as well.
  * Maybe this should try expired leases by age... */
-uint32_t find_address(int check_expired) 
+uint32_t find_address(int check_expired)
 {
        uint32_t addr, ret;
-       struct dhcpOfferedAddr *lease = NULL;           
+       struct dhcpOfferedAddr *lease = NULL;
 
        addr = ntohl(server_config.start); /* addr is in host order here */
        for (;addr <= ntohl(server_config.end); addr++) {
index 1bdf25708748f56f52f7282f262bcd95caec1997..d75bc5aff60a0fc369385ea38aaab8b54bfb1da9 100644 (file)
@@ -1,8 +1,8 @@
-/* 
- * options.c -- DHCP server option packet tools 
+/*
+ * options.c -- DHCP server option packet tools
  * Rewrite by Russ Dill <Russ.Dill@asu.edu> July 2001
  */
+
 #include <stdlib.h>
 #include <string.h>
 
@@ -64,7 +64,7 @@ uint8_t *get_option(struct dhcpMessage *packet, int code)
        int i, length;
        uint8_t *optionptr;
        int over = 0, done = 0, curr = OPTION_FIELD;
-       
+
        optionptr = packet->options;
        i = 0;
        length = 308;
@@ -79,7 +79,7 @@ uint8_t *get_option(struct dhcpMessage *packet, int code)
                                return NULL;
                        }
                        return optionptr + i + 2;
-               }                       
+               }
                switch (optionptr[i + OPT_CODE]) {
                case DHCP_PADDING:
                        i++;
@@ -114,10 +114,10 @@ uint8_t *get_option(struct dhcpMessage *packet, int code)
 
 
 /* return the position of the 'end' option (no bounds checking) */
-int end_option(uint8_t *optionptr) 
+int end_option(uint8_t *optionptr)
 {
        int i = 0;
-       
+
        while (optionptr[i] != DHCP_END) {
                if (optionptr[i] == DHCP_PADDING) i++;
                else i += optionptr[i + OPT_LEN] + 2;
@@ -131,7 +131,7 @@ int end_option(uint8_t *optionptr)
 int add_option_string(uint8_t *optionptr, uint8_t *string)
 {
        int end = end_option(optionptr);
-       
+
        /* end position + string length + option code/length + end option */
        if (end + string[OPT_LEN] + 2 + 1 >= 308) {
                LOG(LOG_ERR, "Option 0x%02x did not fit into the packet!", string[OPT_CODE]);
@@ -162,12 +162,12 @@ int add_simple_option(uint8_t *optionptr, uint8_t code, uint32_t data)
                if (dhcp_options[i].code == code) {
                        length = option_lengths[dhcp_options[i].flags & TYPE_MASK];
                }
-               
+
        if (!length) {
                DEBUG(LOG_ERR, "Could not add option 0x%02x", code);
                return 0;
        }
-       
+
        option[OPT_CODE] = code;
        option[OPT_LEN] = length;
 
@@ -202,7 +202,7 @@ void attach_option(struct option_set **opt_list, struct dhcp_option *option, cha
                DEBUG(LOG_INFO, "Attaching option %s to existing member of list", option->name);
                if (option->flags & OPTION_LIST) {
                        if (existing->data[OPT_LEN] + length <= 255) {
-                               existing->data = realloc(existing->data, 
+                               existing->data = realloc(existing->data,
                                                existing->data[OPT_LEN] + length + 2);
                                memcpy(existing->data + existing->data[OPT_LEN] + 2, buffer, length);
                                existing->data[OPT_LEN] += length;
@@ -210,19 +210,19 @@ void attach_option(struct option_set **opt_list, struct dhcp_option *option, cha
                } /* else, ignore the new data */
        } else {
                DEBUG(LOG_INFO, "Attaching option %s to list", option->name);
-               
+
                /* make a new option */
                new = xmalloc(sizeof(struct option_set));
                new->data = xmalloc(length + 2);
                new->data[OPT_CODE] = option->code;
                new->data[OPT_LEN] = length;
                memcpy(new->data + 2, buffer, length);
-               
+
                curr = opt_list;
                while (*curr && (*curr)->data[OPT_CODE] < option->code)
                        curr = &(*curr)->next;
-                       
+
                new->next = *curr;
-               *curr = new;            
+               *curr = new;
        }
 }
index a3c7ae153010e34c9687c2392665c6830d3f4471..7cbd83a35f2ee653cd81e9f245f4fd01e82307cb 100644 (file)
@@ -66,7 +66,7 @@ int get_packet(struct dhcpMessage *packet, int fd)
                return -2;
        }
        DEBUG(LOG_INFO, "Received a packet");
-       
+
        if (packet->op == BOOTREQUEST && (vendor = get_option(packet, DHCP_VENDOR))) {
                for (i = 0; broken_vendors[i][0]; i++) {
                        if (vendor[OPT_LEN - 2] == (uint8_t) strlen(broken_vendors[i]) &&
@@ -77,7 +77,7 @@ int get_packet(struct dhcpMessage *packet, int fd)
                        }
                }
        }
-                               
+                       
 
        return bytes;
 }
@@ -126,10 +126,10 @@ int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port,
                DEBUG(LOG_ERR, "socket call failed: %m");
                return -1;
        }
-       
+
        memset(&dest, 0, sizeof(dest));
        memset(&packet, 0, sizeof(packet));
-       
+
        dest.sll_family = AF_PACKET;
        dest.sll_protocol = htons(ETH_P_IP);
        dest.sll_ifindex = ifindex;
@@ -150,7 +150,7 @@ int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port,
        packet.ip.tot_len = packet.udp.len;
        memcpy(&(packet.data), payload, sizeof(struct dhcpMessage));
        packet.udp.check = checksum(&packet, sizeof(struct udp_dhcp_packet));
-       
+
        packet.ip.tot_len = htons(sizeof(struct udp_dhcp_packet));
        packet.ip.ihl = sizeof(packet.ip) >> 2;
        packet.ip.version = IPVERSION;
@@ -173,10 +173,10 @@ int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_po
        int n = 1;
        int fd, result;
        struct sockaddr_in client;
-       
+
        if ((fd = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0)
                return -1;
-       
+
        if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char *) &n, sizeof(n)) == -1)
                return -1;
 
@@ -191,7 +191,7 @@ int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_po
        memset(&client, 0, sizeof(client));
        client.sin_family = AF_INET;
        client.sin_port = htons(dest_port);
-       client.sin_addr.s_addr = dest_ip; 
+       client.sin_addr.s_addr = dest_ip;
 
        if (connect(fd, (struct sockaddr *)&client, sizeof(struct sockaddr)) == -1)
                return -1;
@@ -199,4 +199,4 @@ int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_po
        result = write(fd, payload, sizeof(struct dhcpMessage));
        close(fd);
        return result;
-}      
+}
index 22c4d09c39aa06c656018aef450c86cddc9aa9ff..f5859e8243e9f07edfe6d348ac637b00a82bf7bd 100644 (file)
@@ -20,7 +20,7 @@ struct dhcpMessage {
        uint8_t sname[64];
        uint8_t file[128];
        uint32_t cookie;
-       uint8_t options[308]; /* 312 - cookie */ 
+       uint8_t options[308]; /* 312 - cookie */
 };
 
 struct udp_dhcp_packet {
index b7d78624c1a43b898a3ac912bae49bc61572b951..cae4db7af36dc97036dfeac89ea6bc6207ec6856 100644 (file)
@@ -1,6 +1,6 @@
 /* script.c
  *
- * Functions to call the DHCP client notification scripts 
+ * Functions to call the DHCP client notification scripts
  *
  * Russ Dill <Russ.Dill@asu.edu> July 2001
  *
@@ -157,7 +157,7 @@ static char **fill_envp(struct dhcpMessage *packet)
                if (!(over & FILE_FIELD) && packet->file[0]) num_options++;
                if (!(over & SNAME_FIELD) && packet->sname[0]) num_options++;
        }
-       
+
        envp = xcalloc(sizeof(char *), num_options + 5);
        j = 0;
        asprintf(&envp[j++], "interface=%s", client_config.interface);
@@ -220,13 +220,13 @@ void run_script(struct dhcpMessage *packet, const char *name)
                return;
        } else if (pid == 0) {
                envp = fill_envp(packet);
-               
+
                /* close fd's? */
-               
+
                /* exec script */
                execle(client_config.script, client_config.script,
                       name, NULL, envp);
                LOG(LOG_ERR, "script %s failed: %m", client_config.script);
                exit(1);
-       }                       
+       }
 }
index d39e6ba1761d9f726056585d2159ba4def44ab91..937436a116c8f495d2666727e384f4b04291a7fd 100644 (file)
@@ -45,7 +45,7 @@ static int send_packet_to_client(struct dhcpMessage *payload, int force_broadcas
 {
        uint8_t *chaddr;
        uint32_t ciaddr;
-       
+
        if (force_broadcast) {
                DEBUG(LOG_INFO, "broadcasting packet to client (NAK)");
                ciaddr = INADDR_BROADCAST;
@@ -63,7 +63,7 @@ static int send_packet_to_client(struct dhcpMessage *payload, int force_broadcas
                ciaddr = payload->yiaddr;
                chaddr = payload->chaddr;
        }
-       return raw_packet(payload, server_config.server, SERVER_PORT, 
+       return raw_packet(payload, server_config.server, SERVER_PORT,
                        ciaddr, CLIENT_PORT, chaddr, server_config.ifindex);
 }
 
@@ -101,7 +101,7 @@ static void add_bootp_options(struct dhcpMessage *packet)
        if (server_config.boot_file)
                strncpy(packet->file, server_config.boot_file, sizeof(packet->file) - 1);
 }
-       
+
 
 /* send a DHCP OFFER to a DHCP DISCOVER */
 int sendOffer(struct dhcpMessage *oldpacket)
@@ -114,14 +114,14 @@ int sendOffer(struct dhcpMessage *oldpacket)
        struct in_addr addr;
 
        init_packet(&packet, oldpacket, DHCPOFFER);
-       
+
        /* ADDME: if static, short circuit */
        /* the client is in our lease/offered table */
        if ((lease = find_lease_by_chaddr(oldpacket->chaddr))) {
-               if (!lease_expired(lease)) 
+               if (!lease_expired(lease))
                        lease_time_align = lease->expires - time(0);
                packet.yiaddr = lease->yiaddr;
-               
+
        /* Or the client has a requested ip */
        } else if ((req = get_option(oldpacket, DHCP_REQUESTED_IP)) &&
 
@@ -131,10 +131,10 @@ int sendOffer(struct dhcpMessage *oldpacket)
                   /* and the ip is in the lease range */
                   ntohl(req_align) >= ntohl(server_config.start) &&
                   ntohl(req_align) <= ntohl(server_config.end) &&
-                  
+               
                   /* and its not already taken/offered */ /* ADDME: check that its not a static lease */
                   ((!(lease = find_lease_by_yiaddr(req_align)) ||
-                  
+               
                   /* or its taken, but expired */ /* ADDME: or maybe in here */
                   lease_expired(lease)))) {
                                packet.yiaddr = req_align; /* FIXME: oh my, is there a host using this IP? */
@@ -142,32 +142,32 @@ int sendOffer(struct dhcpMessage *oldpacket)
        /* otherwise, find a free IP */ /*ADDME: is it a static lease? */
        } else {
                packet.yiaddr = find_address(0);
-               
+
                /* try for an expired lease */
                if (!packet.yiaddr) packet.yiaddr = find_address(1);
        }
-       
+
        if(!packet.yiaddr) {
                LOG(LOG_WARNING, "no IP addresses to give -- OFFER abandoned");
                return -1;
        }
-       
+
        if (!add_lease(packet.chaddr, packet.yiaddr, server_config.offer_time)) {
                LOG(LOG_WARNING, "lease pool is full -- OFFER abandoned");
                return -1;
-       }               
+       }
 
        if ((lease_time = get_option(oldpacket, DHCP_LEASE_TIME))) {
                memcpy(&lease_time_align, lease_time, 4);
                lease_time_align = ntohl(lease_time_align);
-               if (lease_time_align > server_config.lease) 
+               if (lease_time_align > server_config.lease)
                        lease_time_align = server_config.lease;
        }
 
        /* Make sure we aren't just using the lease time from the previous offer */
-       if (lease_time_align < server_config.min_lease) 
+       if (lease_time_align < server_config.min_lease)
                lease_time_align = server_config.lease;
-       /* ADDME: end of short circuit */               
+       /* ADDME: end of short circuit */
        add_simple_option(packet.options, DHCP_LEASE_TIME, htonl(lease_time_align));
 
        curr = server_config.options;
@@ -178,7 +178,7 @@ int sendOffer(struct dhcpMessage *oldpacket)
        }
 
        add_bootp_options(&packet);
-       
+
        addr.s_addr = packet.yiaddr;
        LOG(LOG_INFO, "sending OFFER of %s", inet_ntoa(addr));
        return send_packet(&packet, 0);
@@ -190,7 +190,7 @@ int sendNAK(struct dhcpMessage *oldpacket)
        struct dhcpMessage packet;
 
        init_packet(&packet, oldpacket, DHCPNAK);
-       
+
        DEBUG(LOG_INFO, "sending NAK");
        return send_packet(&packet, 1);
 }
@@ -206,18 +206,18 @@ int sendACK(struct dhcpMessage *oldpacket, uint32_t yiaddr)
 
        init_packet(&packet, oldpacket, DHCPACK);
        packet.yiaddr = yiaddr;
-       
+
        if ((lease_time = get_option(oldpacket, DHCP_LEASE_TIME))) {
                memcpy(&lease_time_align, lease_time, 4);
                lease_time_align = ntohl(lease_time_align);
-               if (lease_time_align > server_config.lease) 
+               if (lease_time_align > server_config.lease)
                        lease_time_align = server_config.lease;
-               else if (lease_time_align < server_config.min_lease) 
+               else if (lease_time_align < server_config.min_lease)
                        lease_time_align = server_config.lease;
        }
-       
+
        add_simple_option(packet.options, DHCP_LEASE_TIME, htonl(lease_time_align));
-       
+
        curr = server_config.options;
        while (curr) {
                if (curr->data[OPT_CODE] != DHCP_LEASE_TIME)
@@ -230,7 +230,7 @@ int sendACK(struct dhcpMessage *oldpacket, uint32_t yiaddr)
        addr.s_addr = packet.yiaddr;
        LOG(LOG_INFO, "sending ACK to %s", inet_ntoa(addr));
 
-       if (send_packet(&packet, 0) < 0) 
+       if (send_packet(&packet, 0) < 0)
                return -1;
 
        add_lease(packet.chaddr, packet.yiaddr, lease_time_align);
@@ -245,7 +245,7 @@ int send_inform(struct dhcpMessage *oldpacket)
        struct option_set *curr;
 
        init_packet(&packet, oldpacket, DHCPACK);
-       
+
        curr = server_config.options;
        while (curr) {
                if (curr->data[OPT_CODE] != DHCP_LEASE_TIME)
index 582f0fce57453d2b3102ff1c4787f27d4e4dabfb..7b057523a167b2c29ad4f194495e8293b2a14a28 100644 (file)
@@ -55,7 +55,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
                ifr.ifr_addr.sa_family = AF_INET;
                strcpy(ifr.ifr_name, interface);
 
-               if (addr) { 
+               if (addr) {
                        if (ioctl(fd, SIOCGIFADDR, &ifr) == 0) {
                                our_ip = (struct sockaddr_in *) &ifr.ifr_addr;
                                *addr = our_ip->sin_addr.s_addr;
@@ -65,7 +65,7 @@ int read_interface(char *interface, int *ifindex, uint32_t *addr, uint8_t *arp)
                                return -1;
                        }
                }
-               
+
                if (ioctl(fd, SIOCGIFINDEX, &ifr) == 0) {
                        DEBUG(LOG_INFO, "adapter index %d", ifr.ifr_ifindex);
                        *ifindex = ifr.ifr_ifindex;
@@ -102,7 +102,7 @@ int listen_socket(uint32_t ip, int port, char *inf)
                DEBUG(LOG_ERR, "socket call failed: %m");
                return -1;
        }
-       
+
        memset(&addr, 0, sizeof(addr));
        addr.sin_family = AF_INET;
        addr.sin_port = htons(port);
@@ -127,6 +127,6 @@ int listen_socket(uint32_t ip, int port, char *inf)
                close(fd);
                return -1;
        }
-       
+
        return fd;
 }
index 0bb33084a52ce1aa9f12f5b97b81fe2064d5e6cc..bbd29873ca245b308d1b6f7ce059e1d21039f815 100644 (file)
@@ -63,7 +63,7 @@ struct vlan_ioctl_args {
                unsigned int flag; /* Matches vlan_dev_info flags */
         } u;
 
-       short vlan_qos;   
+       short vlan_qos;
 };
 
 #define VLAN_GROUP_ARRAY_LEN 4096
@@ -110,7 +110,7 @@ static const char name_types[] = {
        '_', 'P', 'L', 'U', 'S', '_', 'V', 'I', 'D',
        0,
        VLAN_NAME_TYPE_PLUS_VID_NO_PAD, 22,
-       'V', 'L', 'A', 'N', 
+       'V', 'L', 'A', 'N',
        '_', 'P', 'L', 'U', 'S', '_', 'V', 'I', 'D',
        '_', 'N', 'O', '_', 'P', 'A', 'D', 0,
        VLAN_NAME_TYPE_RAW_PLUS_VID, 15,
index cb0790ea781b27892d7f183e753688dfaa663f05..619c138baff3e451c9ad52f558e2533a5bbea7f8 100644 (file)
@@ -55,7 +55,7 @@ static volatile unsigned long statbytes = 0; /* Number of bytes transferred so f
 /* For progressmeter() -- number of seconds before xfer considered "stalled" */
 static const int STALLTIME = 5;
 #endif
-               
+
 static void close_and_delete_outfile(FILE* output, char *fname_out, int do_continue)
 {
        if (output != stdout && do_continue==0) {
@@ -236,18 +236,18 @@ int wget_main(int argc, char **argv)
                        use_proxy = 0;
                }
        }
-       
+
        /* Guess an output filename */
        if (!fname_out) {
-               fname_out = 
+               fname_out =
 #ifdef CONFIG_FEATURE_WGET_STATUSBAR
-                       curfile = 
+                       curfile =
 #endif
                        bb_get_last_path_component(target.path);
                if (fname_out==NULL || strlen(fname_out)<1) {
-                       fname_out = 
+                       fname_out =
 #ifdef CONFIG_FEATURE_WGET_STATUSBAR
-                               curfile = 
+                               curfile =
 #endif
                                "index.html";
                }
@@ -309,7 +309,7 @@ int wget_main(int argc, char **argv)
                         */
                        if (sfp) fclose(sfp);
                        sfp = open_socket(&s_in);
-                       
+
                        /*
                         * Send HTTP request.
                         */
@@ -351,7 +351,7 @@ int wget_main(int argc, char **argv)
 read_response:
                        if (fgets(buf, sizeof(buf), sfp) == NULL)
                                close_delete_and_die("no response from server");
-                               
+
                        for (s = buf ; *s != '\0' && !isspace(*s) ; ++s)
                        ;
                        for ( ; isspace(*s) ; ++s)
@@ -379,7 +379,7 @@ read_response:
                                        chomp(buf);
                                        close_delete_and_die("server returned error %d: %s", atoi(s), buf);
                        }
-               
+
                        /*
                         * Retrieve HTTP headers.
                         */
@@ -416,7 +416,7 @@ read_response:
                                }
                        }
                } while(status >= 300);
-               
+
                dfp = sfp;
        }
        else
@@ -431,7 +431,7 @@ read_response:
                if (ftpcmd(NULL, NULL, sfp, buf) != 220)
                        close_delete_and_die("%s", buf+4);
 
-               /* 
+               /*
                 * Splitting username:password pair,
                 * trying to log in
                 */
@@ -448,10 +448,10 @@ read_response:
                        default:
                                close_delete_and_die("ftp login: %s", buf+4);
                }
-               
+
                ftpcmd("CDUP", NULL, sfp, buf);
                ftpcmd("TYPE I", NULL, sfp, buf);
-               
+
                /*
                 * Querying file size
                 */
@@ -463,7 +463,7 @@ read_response:
                        filesize = value;
                        got_clen = 1;
                }
-               
+
                /*
                 * Entering passive mode
                 */
@@ -486,7 +486,7 @@ read_response:
                        } else
                                filesize -= beg_range;
                }
-               
+
                if (ftpcmd("RETR /", target.path, sfp, buf) > 150)
                        close_delete_and_die("RETR: %s", buf+4);
 
@@ -661,27 +661,27 @@ char *gethdr(char *buf, size_t bufsiz, FILE *fp, int *istrunc)
 static int ftpcmd(char *s1, char *s2, FILE *fp, char *buf)
 {
        char *p;
-       
+
        if (s1) {
                if (!s2) s2="";
                fprintf(fp, "%s%s\r\n", s1, s2);
                fflush(fp);
        }
-       
+
        do {
                p = fgets(buf, 510, fp);
                if (!p)
                        bb_perror_msg_and_die("fgets()");
        } while (! isdigit(buf[0]) || buf[3] != ' ');
-       
+
        return atoi(buf);
 }
 
 #ifdef CONFIG_FEATURE_WGET_STATUSBAR
-/* Stuff below is from BSD rcp util.c, as added to openshh. 
+/* Stuff below is from BSD rcp util.c, as added to openshh.
  * Original copyright notice is retained at the end of this file.
- * 
- */ 
+ *
+ */
 
 
 static int
@@ -813,7 +813,7 @@ progressmeter(int flag)
 
 /* Original copyright notice which applies to the CONFIG_FEATURE_WGET_STATUSBAR stuff,
  * much of which was blatently stolen from openssh.  */
+
 /*-
  * Copyright (c) 1992, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -827,8 +827,8 @@ progressmeter(int flag)
  *    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>
  *
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
@@ -846,7 +846,7 @@ progressmeter(int flag)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     $Id: wget.c,v 1.70 2004/03/06 22:11:44 andersen Exp $
+ *     $Id: wget.c,v 1.71 2004/03/15 08:28:53 andersen Exp $
  */
 
 
index 3efd449c0e85a2d74174b69b5698363e1ae40193..fcc234d026ef7a3b98f8750c74f8b6439dab925b 100644 (file)
@@ -6,15 +6,15 @@ diff -u -r1.40 AUTHORS
 --- a/AUTHORS  9 Oct 2003 21:19:21 -0000       1.40
 +++ b/AUTHORS  5 Mar 2004 07:23:17 -0000
 @@ -8,6 +8,9 @@
+
  -----------
+
 +Peter Willis <psyphreak@phreaker.net>
 +    eject
 +
  Emanuele Aina <emanuele.aina@tiscali.it>
        run-parts
+
 Index: coreutils/Config.in
 ===================================================================
 RCS file: /var/cvs/busybox/coreutils/Config.in,v
@@ -25,7 +25,7 @@ diff -u -r1.23 Config.in
 @@ -164,6 +164,13 @@
          a command; without options it displays the current
          environment.
+
 +config CONFIG_EJECT
 +      bool "eject"
 +      default n
@@ -151,7 +151,7 @@ diff -u -r1.191 usage.h
 @@ -537,6 +537,13 @@
        "\t-, -i\tstart with an empty environment\n" \
        "\t-u\tremove variable from the environment\n"
+
 +#define eject_trivial_usage \
 +      "[-t] [FILE]"
 +#define eject_full_usage \
index a76a18c6113f8ebef54714917e30afe11517a4a7..0f09d4a04846f076ffeb8b0f2122d459e3e06ef7 100644 (file)
@@ -6,15 +6,15 @@ diff -u -r1.40 AUTHORS
 --- a/AUTHORS  9 Oct 2003 21:19:21 -0000       1.40
 +++ b/AUTHORS  5 Mar 2004 15:45:47 -0000
 @@ -92,6 +92,9 @@
-     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...
+
 +John Powers <jpp@ti.com>
 +    Added multicast option (rfc2090) and timeout option (rfc2349) to tftp.
 +
  Tim Riker <Tim@Rikers.org>
      bug fixes, member of fan club
+
 Index: include/usage.h
 ===================================================================
 RCS file: /var/cvs/busybox/include/usage.h,v
@@ -41,7 +41,7 @@ diff -u -r1.191 usage.h
 +#else
 +  #define USAGE_TFTP_DEBUG(a)
 +#endif
+
  #define tftp_trivial_usage \
        "[OPTION]... HOST [PORT]"
 @@ -2508,6 +2523,16 @@
@@ -71,7 +71,7 @@ diff -u -r1.27 Config.in
 @@ -522,6 +522,13 @@
          Add support for the GET command within the TFTP client.  This allows
          a client to retrieve a file from a TFTP server.
+
 +config CONFIG_FEATURE_TFTP_MULTICAST
 +      bool "  Enable \"multicast\" option"
 +      default n
@@ -84,7 +84,7 @@ diff -u -r1.27 Config.in
        default y
 @@ -531,12 +538,19 @@
          a client to transfer a file to a TFTP server.
+
  config CONFIG_FEATURE_TFTP_BLOCKSIZE
 -      bool "  Enable \"blocksize\" command"
 +      bool "  Enable \"blksize\" option"
@@ -92,7 +92,7 @@ diff -u -r1.27 Config.in
        depends on CONFIG_TFTP
        help
          Allow the client to specify the desired block size for transfers.
+
 +config CONFIG_FEATURE_TFTP_TIMEOUT
 +      bool "  Enable \"timeout\" option"
 +      default n
@@ -138,15 +138,15 @@ diff -u -r1.25 tftp.c
  /*                                                                           */
  /* Parts of the code based on:                                               */
 @@ -46,8 +61,20 @@
+
  #include "busybox.h"
+
 +#if defined(CONFIG_FEATURE_TFTP_BLOCKSIZE) || defined(CONFIG_FEATURE_TFTP_MULTICAST) || defined(CONFIG_FEATURE_TFTP_TIMEOUT)
 +  #define TFTP_OPTIONS
 +#endif
 +
  //#define CONFIG_FEATURE_TFTP_DEBUG
+
 +#ifdef CONFIG_FEATURE_TFTP_DEBUG
 +      static void printtime(void);
 +      #define dprintf(fmt...) if (debug) {printtime(); printf(fmt);}
@@ -157,7 +157,7 @@ diff -u -r1.25 tftp.c
 +
  #define TFTP_BLOCKSIZE_DEFAULT 512 /* according to RFC 1350, don't change */
  #define TFTP_TIMEOUT 5             /* seconds */
+
 @@ -68,12 +95,24 @@
        "Illegal TFTP operation",
        "Unknown transfer ID",
@@ -168,10 +168,10 @@ diff -u -r1.25 tftp.c
 +      "Unsupported option",
 +#endif
  };
+
  const int tftp_cmd_get = 1;
  const int tftp_cmd_put = 2;
+
 +
 +struct tftp_option {
 +      int multicast;
@@ -182,12 +182,12 @@ diff -u -r1.25 tftp.c
 +
 +
  #ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
- static int tftp_blocksize_check(int blocksize, int bufsize)  
+
+ static int tftp_blocksize_check(int blocksize, int bufsize)
 @@ -93,16 +132,158 @@
        return blocksize;
  }
+
 +#endif
 +
 +#ifdef CONFIG_FEATURE_TFTP_TIMEOUT
@@ -332,15 +332,15 @@ diff -u -r1.25 tftp.c
 +
 +#ifdef TFTP_OPTIONS
 +
- static char *tftp_option_get(char *buf, int len, char *option)  
+ static char *tftp_option_get(char *buf, int len, char *option)
  {
 -        int opt_val = 0;
 +      int opt_val = 0;
        int opt_found = 0;
        int k;
--  
+-
 -      while (len > 0) {
+
 +      while (len > 0) {
                /* Make sure the options are terminated correctly */
 -
@@ -351,7 +351,7 @@ diff -u -r1.25 tftp.c
                        if (strcasecmp(buf, option) == 0) {
                                opt_found = 1;
                        }
--              }      
+-              }
 -              else {
 -                      if (opt_found) {
 +              } else {
@@ -361,7 +361,7 @@ diff -u -r1.25 tftp.c
                }
 @@ -138,7 +318,8 @@
  #endif
+
  static inline int tftp(const int cmd, const struct hostent *host,
 -      const char *remotefile, int localfd, const unsigned short port, int tftp_bufsize)
 +      const char *remotefile, int localfd, const unsigned short port,
@@ -376,7 +376,7 @@ diff -u -r1.25 tftp.c
 -      int timeout = bb_tftp_num_retries;
 +      int retry = bb_tftp_num_retries;
        unsigned short block_nr = 1;
+
 -#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
 -      int want_option_ack = 0;
 +#ifdef CONFIG_FEATURE_TFTP_MULTICAST
@@ -393,21 +393,21 @@ diff -u -r1.25 tftp.c
 +      #define master_client 1
 +    #define ack_oack 0
  #endif
+
        /* Can't use RESERVE_CONFIG_BUFFER here since the allocation
         * size varies meaning BUFFERS_GO_ON_STACK would fail */
 -      char *buf=xmalloc(tftp_bufsize + 4);
 +      char *buf=xmalloc(option->blksize + 4);
+
 -      tftp_bufsize += 4;
 +      int tftp_bufsize = option->blksize + 4;
+
        if ((socketfd = socket(PF_INET, SOCK_DGRAM, 0)) < 0) {
                bb_perror_msg("socket");
 @@ -183,15 +375,21 @@
        memcpy(&sa.sin_addr, (struct in_addr *) host->h_addr,
                   sizeof(sa.sin_addr));
+
 -      /* build opcode */
 -
 -      if (cmd_get) {
@@ -423,48 +423,48 @@ diff -u -r1.25 tftp.c
 +              memset(mcblockmap, 0, bmsize+1);
        }
 +#endif
+
 -      if (cmd_put) {
 -              opcode = TFTP_WRQ;
 -      }
 +      /* build opcode */
 +
 +      opcode = cmd_get ? TFTP_RRQ : TFTP_WRQ;
+
        while (1) {
+
 @@ -203,7 +401,7 @@
+
                cp += 2;
+
 -              /* add filename and mode */
 +              /* First packet of file transfer includes file name, mode, and options */
+
                if ((cmd_get && (opcode == TFTP_RRQ)) ||
                        (cmd_put && (opcode == TFTP_WRQ))) {
 @@ -223,7 +421,7 @@
                        }
+
                        if (too_long || ((&buf[tftp_bufsize - 1] - cp) < 6)) {
 -                              bb_error_msg("too long remote-filename");
 +                              bb_error_msg("too long: remote filename");
                                break;
                        }
+
 @@ -238,8 +436,8 @@
+
                        if (len != TFTP_BLOCKSIZE_DEFAULT) {
+
 -                              if ((&buf[tftp_bufsize - 1] - cp) < 15) {
 -                                      bb_error_msg("too long remote-filename");
 +                              if ((&buf[tftp_bufsize - 1] - cp) < 15) {
 +                                      bb_error_msg("buffer too small for blksize option");
                                        break;
                                }
+
 @@ -249,16 +447,65 @@
                                cp += 8;
+
                                cp += snprintf(cp, 6, "%d", len) + 1;
 +                      }
 +#endif
@@ -480,7 +480,7 @@ diff -u -r1.25 tftp.c
 +                              }
 +
 +                              /* add "multicast" option */
+
 -                              want_option_ack = 1;
 +                              memcpy(cp, "multicast\0", 11);
 +                              cp += 11;
@@ -509,9 +509,9 @@ diff -u -r1.25 tftp.c
 +#endif
 +
                }
+
                /* add ack and data */
+
 -              if ((cmd_get && (opcode == TFTP_ACK)) ||
 -                      (cmd_put && (opcode == TFTP_DATA))) {
 +#ifdef CONFIG_FEATURE_TFTP_MULTICAST
@@ -528,33 +528,33 @@ diff -u -r1.25 tftp.c
 +#endif
 +              else if ((cmd_get && opcode == TFTP_ACK) ||
 +                      (cmd_put && opcode == TFTP_DATA)) {
+
                        *((unsigned short *) cp) = htons(block_nr);
+
 @@ -275,7 +522,7 @@
                                }
+
                                if (len != (tftp_bufsize - 4)) {
 -                                      finished++;
 +                                      finished = 1;
                                }
+
                                cp += len;
 @@ -283,82 +530,119 @@
                }
+
+
 -              /* send packet */
 +              /* send packet and receive reply */
+
+
 -              timeout = bb_tftp_num_retries;  /* re-initialize */
 +              retry = bb_tftp_num_retries;  /* re-initialize */
                do {
 -
 +                      int selectrc;
                        len = cp - buf;
+
 -#ifdef CONFIG_FEATURE_TFTP_DEBUG
 -                      fprintf(stderr, "sending %u bytes\n", len);
 -                      for (cp = buf; cp < &buf[len]; cp++)
@@ -570,7 +570,7 @@ diff -u -r1.25 tftp.c
 -
 +                      /* send packet */
 +                      if ((len > 2) && (! option->multicast || master_client || ack_oack)) {
+
 -                      if (finished && (opcode == TFTP_ACK)) {
 -                              break;
 +#ifdef CONFIG_FEATURE_TFTP_DEBUG
@@ -593,17 +593,17 @@ diff -u -r1.25 tftp.c
 +                                      break;
 +                              }
                        }
+
 -                      /* receive packet */
 +                      /* receive reply packet */
+
                        memset(&from, 0, sizeof(from));
                        fromlen = sizeof(from);
+
 -                      tv.tv_sec = TFTP_TIMEOUT;
 +                      tv.tv_sec = option->client_timeout;
                        tv.tv_usec = 0;
+
                        FD_ZERO(&rfds);
                        FD_SET(socketfd, &rfds);
 +                      dprintf("set to receive from socketfd (%d)\n", socketfd);
@@ -613,7 +613,7 @@ diff -u -r1.25 tftp.c
 +                              dprintf("set to receive from mcfd (%d)\n", mcfd);
 +                      }
 +#endif
+
 -                      switch (select(FD_SETSIZE, &rfds, NULL, NULL, &tv)) {
 -                      case 1:
 -                              len = recvfrom(socketfd, buf, tftp_bufsize, 0,
@@ -646,7 +646,7 @@ diff -u -r1.25 tftp.c
 +                                              }
 +                                      }
                                }
+
 -                              timeout = 0;
 -
 -                              if (sa.sin_port == port) {
@@ -677,13 +677,13 @@ diff -u -r1.25 tftp.c
 -                              /* discard the packet - treat as timeout */
 -                              timeout = bb_tftp_num_retries;
 +#endif
+
 -                      case 0:
 +                      } else if (selectrc == 0) {
 +                              /* Time out */
 +                              dprintf("timeout\n");
                                bb_error_msg("timeout");
+
 -                              timeout--;
 -                              if (timeout == 0) {
 +                              retry--;
@@ -700,59 +700,59 @@ diff -u -r1.25 tftp.c
                                bb_perror_msg("select");
                                len = -1;
                        }
+
 -              } while (timeout && (len >= 0));
 +              } while (retry && len >= 0);
+
                if ((finished) || (len < 0)) {
                        break;
 @@ -370,9 +654,8 @@
                opcode = ntohs(*((unsigned short *) buf));
                tmp = ntohs(*((unsigned short *) &buf[2]));
+
 -#ifdef CONFIG_FEATURE_TFTP_DEBUG
 -              fprintf(stderr, "received %d bytes: %04x %04x\n", len, opcode, tmp);
 -#endif
 +              dprintf("received %d bytes: %04x %04x\n", len, opcode, tmp);
 +              dprintf("master_client=%d\n", master_client);
+
                if (opcode == TFTP_ERROR) {
                        char *msg = NULL;
 @@ -393,55 +676,116 @@
                        break;
                }
+
 -#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
 -              if (want_option_ack) {
 +#ifdef TFTP_OPTIONS
+
 -                       want_option_ack = 0;
 +              if (opcode == TFTP_OACK) {
+
 -                       if (opcode == TFTP_OACK) {
 +                      /* server seems to support options */
+
 -                               /* server seems to support options */
 +                      char *res;
-+                      
++
 +                      block_nr = 0;           /* acknowledge option packet with block number 0 */
 +                      opcode = cmd_put ? TFTP_DATA : TFTP_ACK;
+
 -                               char *res;
--                               res = tftp_option_get(&buf[2], len-2, 
+
+-                               res = tftp_option_get(&buf[2], len-2,
 -                                                     "blksize");
 +#ifdef CONFIG_FEATURE_TFTP_BLOCKSIZE
 +                      res = tftp_option_get(&buf[2], len-2, "blksize");
+
 -                               if (res) {
 -                                       int blksize = atoi(res);
--                           
+-                      
 -                                       if (tftp_blocksize_check(blksize,
 -                                                         tftp_bufsize - 4)) {
 +                      if (res) {
 +                              int blksize = atoi(res);
+
 -                                               if (cmd_put) {
 -                                                       opcode = TFTP_DATA;
 -                                               }
@@ -782,10 +782,10 @@ diff -u -r1.25 tftp.c
 -                               bb_error_msg("bad server option");
 -                               break;
 -                       }
+
 -                       bb_error_msg("warning: blksize not supported by server"
 -                                 " - reverting to 512");
+
 -                       tftp_bufsize = TFTP_BLOCKSIZE_DEFAULT + 4;
 +#ifdef CONFIG_FEATURE_TFTP_MULTICAST
 +                      res = tftp_option_get(&buf[2], len-2, "multicast");
@@ -837,9 +837,9 @@ diff -u -r1.25 tftp.c
                }
 +              else
  #endif
+
                if (cmd_get && (opcode == TFTP_DATA)) {
+
 +#ifdef CONFIG_FEATURE_TFTP_MULTICAST
 +                      if (option->multicast) {
 +                              int bn = tmp - 1;
@@ -867,35 +867,35 @@ diff -u -r1.25 tftp.c
 +#endif
 +
                        if (tmp == block_nr) {
-                           
+                       
                                len = write(localfd, &buf[4], len - 4);
 @@ -452,15 +796,14 @@
                                }
+
                                if (len != (tftp_bufsize - 4)) {
 -                                      finished++;
 +                                      finished = 1;
                                }
+
                                opcode = TFTP_ACK;
 -                              continue;
                        }
                }
+
 -              if (cmd_put && (opcode == TFTP_ACK)) {
 +              else if (cmd_put && opcode == TFTP_ACK) {
+
                        if (tmp == (unsigned short)(block_nr - 1)) {
                                if (finished) {
 @@ -468,15 +811,19 @@
                                }
+
                                opcode = TFTP_DATA;
 -                              continue;
                        }
                }
        }
+
  #ifdef CONFIG_FEATURE_CLEAN_UP
        close(socketfd);
 +      free(buf);
@@ -904,10 +904,10 @@ diff -u -r1.25 tftp.c
 +      if (mcblockmap != NULL)
 +              free(mcblockmap);
 +#endif
+
 -        free(buf);
  #endif
+
        return finished ? EXIT_SUCCESS : EXIT_FAILURE;
 @@ -487,13 +834,18 @@
        struct hostent *host = NULL;
@@ -927,13 +927,13 @@ diff -u -r1.25 tftp.c
 +              .client_timeout = TFTP_TIMEOUT,
 +              .server_timeout = TFTP_TIMEOUT,
 +      };
+
        /* figure out what to pass to getopt */
+
 @@ -515,13 +867,45 @@
- #define PUT 
+ #define PUT
  #endif
+
 -      while ((opt = getopt(argc, argv, BS GET PUT "l:r:")) != -1) {
 +#ifdef CONFIG_FEATURE_TFTP_TIMEOUT
 +#define TO "T:t:"
@@ -994,7 +994,7 @@ diff -u -r1.25 tftp.c
 +                      debug = 1;
 +                      break;
 +#endif
-               case 'l': 
+               case 'l':
                        localfile = bb_xstrdup(optarg);
                        break;
                case 'r':
@@ -1004,7 +1004,7 @@ diff -u -r1.25 tftp.c
 +                      bb_show_usage();
                }
        }
+
        if ((cmd == 0) || (optind == argc)) {
                bb_show_usage();
        }
@@ -1018,7 +1018,7 @@ diff -u -r1.25 tftp.c
 @@ -566,14 +966,12 @@
        host = xgethostbyname(argv[optind]);
        port = bb_lookup_port(argv[optind + 1], "udp", 69);
+
 -#ifdef CONFIG_FEATURE_TFTP_DEBUG
 -      fprintf(stderr, "using server \"%s\", remotefile \"%s\", "
 +      dprintf("using server \"%s\", remotefile \"%s\", "
@@ -1026,10 +1026,10 @@ diff -u -r1.25 tftp.c
                inet_ntoa(*((struct in_addr *) host->h_addr)),
                remotefile, localfile);
 -#endif
+
 -      result = tftp(cmd, host, remotefile, fd, port, blocksize);
 +      result = tftp(cmd, host, remotefile, fd, port, &option);
+
  #ifdef CONFIG_FEATURE_CLEAN_UP
        if (!(fd == fileno(stdout) || fd == fileno(stdin))) {
 @@ -582,3 +980,18 @@
index 262ccc26616f6c8c431bb7f2c453bf8480601015..933be2ad4bc8465316098edca10a2da344d47d34 100644 (file)
@@ -12,7 +12,7 @@ diff -u -r1.191 usage.h
 +      "\t-R,\t--require=NAME\tAdd NAME to request\n" \
        "\t-s,\t--script=file\tRun file at dhcp events (default: /usr/share/udhcpc/default.script)\n" \
        "\t-v,\t--version\tDisplay version"
+
 Index: networking/udhcp/README.udhcpc
 ===================================================================
 RCS file: /var/cvs/busybox/networking/udhcp/README.udhcpc,v
@@ -29,12 +29,12 @@ diff -u -r1.3 README.udhcpc
                                  /usr/share/udhcpc/default.script)
  -v, --version                   Display version
 @@ -101,6 +102,8 @@
+
  additional options are easily added in options.c.
+
 +By default, only a few basic items are requested. To request additional
 +items use the -R option. Example: "-R rootpath"
+
  note on udhcpc's random seed
  ---------------------------
 Index: networking/udhcp/dhcpc.c
@@ -67,7 +67,7 @@ diff -u -r1.16 dhcpc.c
 -              c = getopt_long(argc, argv, "c:fbH:h:i:np:qr:s:v", arg_options, &option_index);
 +              c = getopt_long(argc, argv, "c:fbH:h:i:np:qr:R:s:v", arg_options, &option_index);
                if (c == -1) break;
-               
+
                switch (c) {
 @@ -254,6 +256,11 @@
                case 'r':
@@ -91,7 +91,7 @@ diff -u -r1.7 options.c
 @@ -57,7 +57,19 @@
        [OPTION_S32] =          4
  };
+
 -
 +/* find and mark requested item as required */
 +int require_option(char *name)
@@ -105,7 +105,7 @@ diff -u -r1.7 options.c
 +      }
 +      return 1;
 +}
-+  
++
  /* get an option with bounds checking (warning, not aligned). */
  uint8_t *get_option(struct dhcpMessage *packet, int code)
  {
@@ -119,7 +119,7 @@ diff -u -r1.5 options.h
 @@ -30,6 +30,7 @@
  extern struct dhcp_option dhcp_options[];
  extern int option_lengths[];
+
 +int require_option(char *name);
  uint8_t *get_option(struct dhcpMessage *packet, int code);
  int end_option(uint8_t *optionptr);
index 299a68a8ef9471a731d0582cf99cdeadbc3312ee..1d3a6b4b0ffa24eb6403dc953dc9568f058c80ec 100644 (file)
@@ -13,7 +13,7 @@ diff -u -r1.191 usage.h
 +      "\t-s,\t--script=file\tRun file at dhcp events (default: " \
 +      CONFIG_UDHCPC_SCRIPT_PATH ")\n" \
        "\t-v,\t--version\tDisplay version"
+
  #define udhcpd_trivial_usage \
 Index: networking/udhcp/AUTHORS
 ===================================================================
@@ -24,11 +24,11 @@ diff -u -r1.3 AUTHORS
 +++ b/networking/udhcp/AUTHORS 5 Mar 2004 13:20:11 -0000
 @@ -10,5 +10,5 @@
  Moreton Bay   (http://www.moretonbay.com/)
- Lineo         (http://opensource.lineo.com)
  Vladimir Oleynik <dzo@simtrea.ru> Size optimizations
+
 -
 +Tony J. White <tjw@tjw.org> additional busybox build options
+
 Index: networking/udhcp/Config.in
 ===================================================================
 RCS file: /var/cvs/busybox/networking/udhcp/Config.in,v
@@ -37,32 +37,32 @@ diff -u -r1.5 Config.in
 --- a/networking/udhcp/Config.in       22 Oct 2003 09:58:38 -0000      1.5
 +++ b/networking/udhcp/Config.in       5 Mar 2004 13:20:11 -0000
 @@ -58,5 +58,62 @@
+
          See http://udhcp.busybox.net for further details.
+
 +menu "udhcpd Configuration Options"
 +      depends on CONFIG_UDHCPD
-+      
++
 +config CONFIG_UDHCPD_CONF_PATH
 +      string "Path to default udhcpd.conf"
-+      default "/etc/udhcpd.conf" 
-+      depends on CONFIG_UDHCPD 
++      default "/etc/udhcpd.conf"
++      depends on CONFIG_UDHCPD
 +      help
 +        The full path to udhcpd's default configuration file.
 +        (default is: /etc/udhcpd.conf)
 +
 +config CONFIG_UDHCPD_LEASE_PATH
 +      string "Path to default udhcpd.leases"
-+      default "/var/lib/misc/udhcpd.leases" 
-+      depends on CONFIG_UDHCPD 
++      default "/var/lib/misc/udhcpd.leases"
++      depends on CONFIG_UDHCPD
 +      help
 +        The full path to udhcpd's default leases file.
 +        (default is: /var/lib/misc/udhcpd.leases)
 +
 +config CONFIG_UDHCPD_PID_PATH
 +      string "Path to default udhcpd PID file"
-+      default "/var/run/udhcpd.pid" 
-+      depends on CONFIG_UDHCPD 
++      default "/var/run/udhcpd.pid"
++      depends on CONFIG_UDHCPD
 +      help
 +        The full path to udhcpd's default pid file.
 +        (default is: /var/run/udhcpd.pid)
@@ -79,26 +79,26 @@ diff -u -r1.5 Config.in
 +        The full path to udhcpc's default event script file.
 +        (default is: /usr/share/udhcpc/default.script OR
 +        /share/udhcpc/default.script if CONFIG_INSTALL_NO_USR is set)
-+        
++      
 +        When udhcpc is started it executes this script to take care
 +        of system tasks after it completes DHCP communication.  Such
-+        tasks include putting network interfaces up or down, setting 
++        tasks include putting network interfaces up or down, setting
 +        DNS info, adding routing information, etc.
 +
 +if CONFIG_INSTALL_NO_USR
 +config CONFIG_UDHCPC_SCRIPT_PATH
-+      default "/share/udhcpc/default.script" 
++      default "/share/udhcpc/default.script"
 +endif
 +
 +if !CONFIG_INSTALL_NO_USR
 +config CONFIG_UDHCPC_SCRIPT_PATH
-+      default "/usr/share/udhcpc/default.script" 
++      default "/usr/share/udhcpc/default.script"
 +endif
-+      
++
 +endmenu
 +
  endmenu
+
 Index: networking/udhcp/README
 ===================================================================
 RCS file: /var/cvs/busybox/networking/udhcp/README,v
@@ -109,33 +109,33 @@ diff -u -r1.3 README
 @@ -9,27 +9,42 @@
  compile time options
  -------------------
+
 -The Makefile contains three of the compile time options:
 +The following options can be adjusted when configuring busybox:
-       
+
 -      UDHCP_DEBUG: If UDHCP_DEBUG is defined, udhcpd will output extra
 -      debugging output, compile with -g, and not fork to the background when
 -      run.
 -      UDHCP_SYSLOG: If UDHCP_SYSLOG is defined, udhcpd will log all its
 -      messages syslog, otherwise, it will attempt to log them to stdout.
--      
+-
 -      COMBINED_BINARY: If COMBINED_BINARY is define, one binary, udhcpd,
 -      is created. If called as udhcpd, the dhcp server will be started.
 -      If called as udhcpc, the dhcp client will be started.
--      
+-
 -dhcpd.h contains the other three compile time options:
--      
+-
 -      LEASE_TIME: The default lease time if not specified in the config
 -      file.
-+      CONFIG_FEATURE_UDHCP_DEBUG: 
-+        If this is defined, udhcpd will output extra debugging output, 
++      CONFIG_FEATURE_UDHCP_DEBUG:
++        If this is defined, udhcpd will output extra debugging output,
 +        compile with -g, and not fork to the background when run.
+
 -      LEASES_FILE: The default file for storing leases.
--      
+-
 -      DHCPD_CONFIG_FILE: The defualt config file to use.
-+      CONFIG_FEATURE_UDHCP_SYSLOG: 
-+        If this is defined, udhcpd will log all its messages syslog, 
++      CONFIG_FEATURE_UDHCP_SYSLOG:
++        If this is defined, udhcpd will log all its messages syslog,
 +        otherwise, it will attempt to log them to stdout.
 +
 +      CONFIG_UDHCPD_CONF_PATH:
@@ -158,14 +158,14 @@ diff -u -r1.3 README
 +
 +
 +dhcpd.h contains the another compile time option:
-       
-+      LEASE_TIME: 
-+        The default lease time if not specified in the config file. 
-+        This option can also be changed at runtime with the 'lease' 
-+        configuration option. 
+
++      LEASE_TIME:
++        The default lease time if not specified in the config file.
++        This option can also be changed at runtime with the 'lease'
++        configuration option.
 +
  options.c contains a set of dhcp options for the client:
+
        name[10]: The name of the option as it will appear in scripts
 Index: networking/udhcp/README.udhcpc
 ===================================================================
@@ -182,8 +182,8 @@ diff -u -r1.3 README.udhcpc
 +                                /usr/share/udhcpc/default.script or
 +                              CONFIG_UDHCPC_SCRIPT_PATH at build time)
  -v, --version                   Display version
+
+
 Index: networking/udhcp/README.udhcpd
 ===================================================================
 RCS file: /var/cvs/busybox/networking/udhcp/README.udhcpd,v
@@ -192,21 +192,21 @@ diff -u -r1.1 README.udhcpd
 --- a/networking/udhcp/README.udhcpd   31 Oct 2002 19:21:27 -0000      1.1
 +++ b/networking/udhcp/README.udhcpd   5 Mar 2004 13:20:11 -0000
 @@ -50,10 +50,14 @@
+
  compile time options
  -------------------
 +
-+During busybox configuration, you can change the default paths for 
-+udhcpd.conf, udhcpd.leases, and udhcpd.pid files.  See README for 
++During busybox configuration, you can change the default paths for
++udhcpd.conf, udhcpd.leases, and udhcpd.pid files.  See README for
 +more details.
-       
+
 -dhcpd.h contains the other two compile time options:
 +dhcpd.h contains the compile time option:
-       
+
        LEASE_TIME: The default lease time if not specified in the config
        file.
 +
-       
+
 -      DHCPD_CONFIG_FILE: The defualt config file to use.
 Index: networking/udhcp/dhcpc.h
 ===================================================================
@@ -218,14 +218,14 @@ diff -u -r1.4 dhcpc.h
 @@ -2,7 +2,11 @@
  #ifndef _DHCPC_H
  #define _DHCPC_H
+
 -#define DEFAULT_SCRIPT  "/usr/share/udhcpc/default.script"
 +#ifdef CONFIG_UDHCPC_SCRIPT_PATH
 + #define DEFAULT_SCRIPT  CONFIG_UDHCPC_SCRIPT_PATH
 +#else
 + #define DEFAULT_SCRIPT  "/usr/share/udhcpc/default.script"
 +#endif
+
  /* allow libbb_udhcp.h to redefine DEFAULT_SCRIPT */
  #include "libbb_udhcp.h"
 Index: networking/udhcp/dhcpd.c
@@ -240,25 +240,25 @@ diff -u -r1.5 dhcpd.c
        int max_sock;
        unsigned long num_ips;
 +      int daemonize = 1;
-+      
++
 +      while (strcmp(argv[1],"-f")==0 || strcmp(argv[1],"--foreground")==0) {
 +              daemonize = 0;
 +              argv++;
 +              argc--;
 +      }
-       
+
        memset(&server_config, 0, sizeof(struct server_config_t));
        read_config(argc < 2 ? DHCPD_CONF_FILE : argv[1]);
 @@ -99,9 +106,8 @@
                           &server_config.server, server_config.arp) < 0)
                return 1;
+
 -#ifndef UDHCP_DEBUG
 -      background(server_config.pidfile); /* hold lock during fork. */
 -#endif
 +      if(daemonize)
 +              background(server_config.pidfile); /* hold lock during fork. */
+
        /* Setup the signal pipe */
        udhcp_sp_setup();
 Index: networking/udhcp/dhcpd.h
@@ -269,7 +269,7 @@ diff -u -r1.5 dhcpd.h
 --- a/networking/udhcp/dhcpd.h 30 Jan 2004 23:45:12 -0000      1.5
 +++ b/networking/udhcp/dhcpd.h 5 Mar 2004 13:20:12 -0000
 @@ -15,11 +15,25 @@
+
  /* the period of time the client is allowed to use that address */
  #define LEASE_TIME              (60*60*24*10) /* 10 days of seconds */
 -#define LEASES_FILE           "/var/lib/misc/udhcpd.leases"
@@ -279,7 +279,7 @@ diff -u -r1.5 dhcpd.h
 +#else
 + #define LEASES_FILE          "/var/lib/misc/udhcpd.leases"
 +#endif
+
  /* where to find the DHCP server configuration file */
 -#define DHCPD_CONF_FILE         "/etc/udhcpd.conf"
 +#ifdef CONFIG_UDHCPD_CONF_PATH
@@ -287,7 +287,7 @@ diff -u -r1.5 dhcpd.h
 +#else
 + #define DHCPD_CONF_FILE         "/etc/udhcpd.conf"
 +#endif
+
 +#ifdef CONFIG_UDHCPD_PID_PATH
 + #define DHCPD_PID_FILE         CONFIG_UDHCPD_PID_PATH
 +#else
@@ -322,7 +322,7 @@ diff -u -r1.5 libbb_udhcp.h
 @@ -3,11 +3,6 @@
  /* bit of a hack, do this no matter what the order of the includes.
   * (for busybox) */
+
 -#ifdef CONFIG_INSTALL_NO_USR
 -#undef DEFUALT_SCRIPT
 -#define DEFAULT_SCRIPT  "/share/udhcpc/default.script"
@@ -330,4 +330,4 @@ diff -u -r1.5 libbb_udhcp.h
 -
  #ifndef _LIBBB_UDHCP_H
  #define _LIBBB_UDHCP_H
+
index 9f1e3b91363a92efbf0004fdf455fe97996c510c..3b8c7eb0c05744c68a66a78033ae7f2029db26a7 100644 (file)
@@ -10,24 +10,24 @@ diff -u -r1.5 dhcpd.c
        int max_sock;
        unsigned long num_ips;
 +      int daemonize = 1;
-+      
++
 +      while (strcmp(argv[1],"-f")==0 || strcmp(argv[1],"--foreground")==0) {
 +              daemonize = 0;
 +              argv++;
 +              argc--;
 +      }
-       
+
        memset(&server_config, 0, sizeof(struct server_config_t));
        read_config(argc < 2 ? DHCPD_CONF_FILE : argv[1]);
 @@ -99,9 +106,8 @@
                           &server_config.server, server_config.arp) < 0)
                return 1;
+
 -#ifndef UDHCP_DEBUG
 -      background(server_config.pidfile); /* hold lock during fork. */
 -#endif
 +      if(daemonize)
 +              background(server_config.pidfile); /* hold lock during fork. */
+
        /* Setup the signal pipe */
        udhcp_sp_setup();
index 3751f79dd3849a1977b0abea25f2f36ddd5d320a..0238f7ebb9c396833ea678d6476d7b9fdc2719f8 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 723dd9ffb46015f0e0004fe62fc59b0d3efbef78..1c2e00f7bce4b44cda36062acf0256c5a0ddaa32 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 dbc606c94e17dfee18616de867f97bc464db8895..4fb047d48a01f28b282a9ad50d1c7af06e31d264 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini free 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
@@ -64,11 +64,11 @@ extern int free_main(int argc, char **argv)
        if (argc > 1 && **(argv + 1) == '-')
                bb_show_usage();
 
-       printf("%6s%13s%13s%13s%13s%13s\n", "", "total", "used", "free", 
+       printf("%6s%13s%13s%13s%13s%13s\n", "", "total", "used", "free",
                        "shared", "buffers");
 
-       printf("%6s%13ld%13ld%13ld%13ld%13ld\n", "Mem:", info.totalram, 
-                       info.totalram-info.freeram, info.freeram, 
+       printf("%6s%13ld%13ld%13ld%13ld%13ld\n", "Mem:", info.totalram,
+                       info.totalram-info.freeram, info.freeram,
                        info.sharedram, info.bufferram);
 
 #ifndef __uClinux__
index 22bb98a120d4c014970626906c8f472706483149..a07855e792541bfb554c9749ca4ac469309188d8 100644 (file)
@@ -3,7 +3,7 @@
  * Mini kill/killall implementation for busybox
  *
  * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
- * 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 2fe8ecd25b66e952ab7844b5b38dbd3531198ddf..413864a37f26e9de3f1a012c6e71b19e89bb2353 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * pidof 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 b9d15b8619131094ce568222505fb4c92a28c382..0b603314d372b3cd1012f48b2bf76f1332336fc3 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini ps implementation(s) 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 the Free
index a81156eea5dab68905671a74773415bf48048a0b..a6f0820dfc8770c3ef0282ab86357747c5b3b18e 100644 (file)
 extern int renice_main(int argc, char **argv)
 {
        int prio, status = EXIT_SUCCESS;
-       
+
        if (argc < 3)   bb_show_usage();
-               
+
        prio = atoi(*++argv);
        if (prio > 20)          prio = 20;
        if (prio < -20)         prio = -20;
-       
+
        while (*++argv) {
                int ps = atoi(*argv);
                int oldp = getpriority(PRIO_PROCESS, ps);
-               
+
                if (setpriority(PRIO_PROCESS, ps, prio) == 0) {
                        printf("%d: old priority %d, new priority %d\n", ps, oldp, prio );
                } else {
index ee883e163ad97009e4c96774308db189436fed3b..359dcc041d0612ee203a30693f211d46bd9fe27c 100644 (file)
@@ -17,7 +17,7 @@
  *             - added -p <preload> to preload values from a file
  *     v1.01.1
  *             - busybox applet aware by <solar@gentoo.org>
- * 
+ *
  */
 
 #include <stdio.h>
@@ -70,7 +70,7 @@ static void dwrite_str(int fd, const char *buf)
 }
 
 /*
- *    sysctl_main()... 
+ *    sysctl_main()...
  */
 int sysctl_main(int argc, char **argv)
 {
@@ -126,7 +126,7 @@ int sysctl_main(int argc, char **argv)
 
 
 /*
- *     sysctl_preload_file 
+ *     sysctl_preload_file
  *     preload the sysctl's from a conf file
  *           - we parse the file and then reform it (strip out whitespace)
  */
@@ -250,7 +250,7 @@ int sysctl_write_setting(const char *setting, int output)
 
 
 /*
- *     Read a sysctl setting 
+ *     Read a sysctl setting
  *
  */
 int sysctl_read_setting(const char *setting, int output)
@@ -304,7 +304,7 @@ int sysctl_read_setting(const char *setting, int output)
 
 
 /*
- *     Display all the sysctl settings 
+ *     Display all the sysctl settings
  *
  */
 int sysctl_display_all(const char *path, int output, int show_table)
index 64b3c0732dec9a4a8e947fe36fa8dd45a5f5feda..f619f6923fccb039f3547b3dde309949652042f9 100644 (file)
@@ -7,11 +7,11 @@
  * This reads the PIDs of all processes and their status and shows
  * the status of processes (first ones that fit to screen) at given
  * intervals.
- * 
+ *
  * NOTES:
  * - At startup this changes to /proc, all the reads are then
  *   relative to that.
- * 
+ *
  * (C) Eero Tamminen <oak at welho dot com>
  *
  * Rewroted by Vladimir Oleynik (C) 2002 <dzo@simtreas.ru>
@@ -332,7 +332,7 @@ static unsigned long display_generic(void)
                fscanf(fp, "Mem: %lu %lu %lu %lu %lu %lu",
                   &total, &used, &mfree, &shared, &buffers, &cached);
        } else {
-               /* 
+               /*
                 * Revert to manual parsing, which incidentally already has the
                 * sizes in kilobytes. This should be safe for both 2.4 and
                 * 2.6.
@@ -341,7 +341,7 @@ static unsigned long display_generic(void)
 
                fscanf(fp, "MemFree: %lu %s\n", &mfree, buf);
 
-               /* 
+               /*
                 * MemShared: is no longer present in 2.6. Report this as 0,
                 * to maintain consistent behavior with normal procps.
                 */
@@ -354,7 +354,7 @@ static unsigned long display_generic(void)
                used = total - mfree;
        }
        fclose(fp);
-       
+
        /* read load average */
        fp = bb_xfopen("loadavg", "r");
        if (fscanf(fp, "%f %f %f", &avg1, &avg2, &avg3) != 3) {
@@ -371,7 +371,7 @@ static unsigned long display_generic(void)
                cached /= 1024;
                total /= 1024;
        }
-               
+
        /* output memory info and load average */
        /* clear screen & go to top */
        printf("\e[H\e[J" "Mem: "
@@ -390,7 +390,7 @@ static void display_status(int count, int col)
        procps_status_t *s = top;
        char rss_str_buf[8];
        unsigned long total_memory = display_generic();
-       
+
 #ifdef FEATURE_CPU_USAGE_PERCENTAGE
        /* what info of the processes is shown */
        printf("\n\e[7m  PID USER     STATUS   RSS  PPID %%CPU %%MEM COMMAND\e[0m\n");
@@ -404,7 +404,7 @@ static void display_status(int count, int col)
 
                pmem = 1000.0 * s->rss / total_memory;
                if (pmem > 999) pmem = 999;
-       
+
                if(s->rss > 10*1024)
                        sprintf(rss_str_buf, "%6ldM", s->rss/1024);
                else
@@ -450,7 +450,7 @@ static void reset_term(void)
 #endif
 #endif /* CONFIG_FEATURE_CLEAN_UP */
 }
-       
+
 static void sig_catcher (int sig)
 {
        reset_term();
@@ -609,6 +609,6 @@ int top_main(int argc, char **argv)
 #endif                                  /* CONFIG_FEATURE_USE_TERMIOS */
                clearmems();
        }
-       
+
        return EXIT_SUCCESS;
 }
index a974313d74f6f7f2415f10bcf2410bb5b5e6027d..7e0735c444eba5c09b6924657c48f02fc9fb2b78 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini uptime 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,8 +53,8 @@ extern int uptime_main(int argc, char **argv)
 
        sysinfo(&info);
 
-       printf(" %2d:%02d%s  up ", 
-                       current_time->tm_hour%12 ? current_time->tm_hour%12 : 12, 
+       printf(" %2d:%02d%s  up ",
+                       current_time->tm_hour%12 ? current_time->tm_hour%12 : 12,
                        current_time->tm_min, current_time->tm_hour > 11 ? "pm" : "am");
        updays = (int) info.uptime / (60*60*24);
        if (updays)
@@ -67,9 +67,9 @@ extern int uptime_main(int argc, char **argv)
        else
                printf("%d min, ", upminutes);
 
-       printf("load average: %ld.%02ld, %ld.%02ld, %ld.%02ld\n", 
-                       LOAD_INT(info.loads[0]), LOAD_FRAC(info.loads[0]), 
-                       LOAD_INT(info.loads[1]), LOAD_FRAC(info.loads[1]), 
+       printf("load average: %ld.%02ld, %ld.%02ld, %ld.%02ld\n",
+                       LOAD_INT(info.loads[0]), LOAD_FRAC(info.loads[0]),
+                       LOAD_INT(info.loads[1]), LOAD_FRAC(info.loads[1]),
                        LOAD_INT(info.loads[2]), LOAD_FRAC(info.loads[2]));
 
        return EXIT_SUCCESS;
index a3037ffcf987cfd334c345e572b173063d67a41f..493749b32abece28d7a33cfb1656f8ab6845738d 100644 (file)
@@ -112,7 +112,7 @@ module state. Dependency expressions have the following syntax:
            <expr> '||' <expr>                   (6)
            <expr> '&&' <expr>                   (7)
 
-Expressions are listed in decreasing order of precedence. 
+Expressions are listed in decreasing order of precedence.
 
 (1) Convert the symbol into an expression. Boolean and tristate symbols
     are simply converted into the respective expression values. All
index ab3df49937efb7e365a2e51fb8de34c5043142f6..e15ec399c99323a8a7bfc6b0e4f73516df6df06c 100644 (file)
@@ -38,7 +38,7 @@ CONF_OBJS =$(patsubst %.c,%.o, $(CONF_SRC))
 MCONF_OBJS=$(patsubst %.c,%.o, $(MCONF_SRC))
 SHARED_OBJS=$(patsubst %.c,%.o, $(SHARED_SRC))
 
-conf: $(CONF_OBJS) $(SHARED_OBJS) 
+conf: $(CONF_OBJS) $(SHARED_OBJS)
        $(HOSTCC) $(NATIVE_LDFLAGS) $^ -o $@
 
 mconf: $(MCONF_OBJS) $(SHARED_OBJS)
@@ -55,7 +55,7 @@ lkc_defs.h: lkc_proto.h
 
 ###
 # The following requires flex/bison
-# By default we use the _shipped versions, uncomment the 
+# By default we use the _shipped versions, uncomment the
 # following line if you are modifying the flex/bison src.
 #LKC_GENPARSER := 1
 
index c4a9289b948e800daad0a9f400a0c22ead00fc18..9744d798dc3f0b13c72cce3bd60ad29ec54cddc9 100644 (file)
@@ -120,7 +120,7 @@ int
 dialog_checklist (const char *title, const char *prompt, int height, int width,
        int list_height, int item_no, struct dialog_list_item ** items,
        int flag)
-       
+
 {
     int i, x, y, box_x, box_y;
     int key = 0, button = 0, choice = 0, scroll = 0, max_choice, *status;
@@ -195,7 +195,7 @@ dialog_checklist (const char *title, const char *prompt, int height, int width,
 
     /* Find length of longest item in order to center checklist */
     check_x = 0;
-    for (i = 0; i < item_no; i++) 
+    for (i = 0; i < item_no; i++)
        check_x = MAX (check_x, + strlen (items[i]->name) + 4);
 
     check_x = (list_width - check_x) / 2;
@@ -229,7 +229,7 @@ dialog_checklist (const char *title, const char *prompt, int height, int width,
                 break;
 
 
-       if ( i < max_choice || key == KEY_UP || key == KEY_DOWN || 
+       if ( i < max_choice || key == KEY_UP || key == KEY_DOWN ||
            key == '+' || key == '-' ) {
            if (key == KEY_UP || key == '-') {
                if (!choice) {
@@ -337,7 +337,7 @@ dialog_checklist (const char *title, const char *prompt, int height, int width,
                }
                wnoutrefresh (list);
                wrefresh (dialog);
-            
+
                for (i = 0; i < item_no; i++) {
                        items[i]->selected = status[i];
                }
@@ -355,7 +355,7 @@ dialog_checklist (const char *title, const char *prompt, int height, int width,
        /* Now, update everything... */
        doupdate ();
     }
-    
+
 
     delwin (dialog);
     free (status);
index 8116cee36afd18866bfbec3174417dbaf796a154..6486cc8f7790da015ecf125eb2aac956c29f0aa2 100644 (file)
@@ -86,7 +86,7 @@
 #define ACS_DARROW 'v'
 #endif
 
-/* 
+/*
  * Attribute names
  */
 #define screen_attr                   attributes[0]
@@ -162,7 +162,7 @@ int dialog_msgbox (const char *title, const char *prompt, int height,
                int width, int pause);
 int dialog_textbox (const char *title, const char *file, int height, int width);
 int dialog_menu (const char *title, const char *prompt, int height, int width,
-               int menu_height, const char *choice, int item_no, 
+               int menu_height, const char *choice, int item_no,
                struct dialog_list_item ** items);
 int dialog_checklist (const char *title, const char *prompt, int height,
                int width, int list_height, int item_no,
index 22dda11f758b4fa052def4f76a4f5921a7314baa..b877bb6b3ce29a0843c82a9dc9139f5925d279d7 100644 (file)
@@ -42,7 +42,7 @@ typedef uint32_t flex_uint32_t;
 typedef signed char flex_int8_t;
 typedef short int flex_int16_t;
 typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
+typedef unsigned char flex_uint8_t;
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
 #endif /* ! C99 */
@@ -148,7 +148,7 @@ extern FILE *zconfin, *zconfout;
 #define EOB_ACT_LAST_MATCH 2
 
     #define YY_LESS_LINENO(n)
-    
+
 /* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
        do \
@@ -215,7 +215,7 @@ struct yy_buffer_state
 
     int yy_bs_lineno; /**< The line count. */
     int yy_bs_column; /**< The column count. */
-    
+
        /* Whether to try to fill the input buffer when we reach the
         * end of it.
         */
@@ -2089,7 +2089,7 @@ extern int zconfwrap (void );
 #endif
 
     static void yyunput (int c,char *buf_ptr  );
-    
+
 #ifndef yytext_ptr
 static void yy_flex_strncpy (char *,yyconst char *,int );
 #endif
@@ -2194,7 +2194,7 @@ YY_DECL
        register yy_state_type yy_current_state;
        register char *yy_cp, *yy_bp;
        register int yy_act;
-    
+
        int str = 0;
        int ts, i;
 
@@ -2899,7 +2899,7 @@ static int yy_get_next_buffer (void)
 {
        register yy_state_type yy_current_state;
        register char *yy_cp;
-    
+
        yy_current_state = (yy_start);
 
        for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
@@ -2918,7 +2918,7 @@ static int yy_get_next_buffer (void)
     static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state )
 {
        register int yy_is_jam;
-    
+
        yy_current_state = yy_nxt[yy_current_state][1];
        yy_is_jam = (yy_current_state <= 0);
 
@@ -2928,7 +2928,7 @@ static int yy_get_next_buffer (void)
     static void yyunput (int c, register char * yy_bp )
 {
        register char *yy_cp;
-    
+
     yy_cp = (yy_c_buf_p);
 
        /* undo effects of setting up zconftext */
@@ -2971,7 +2971,7 @@ static int yy_get_next_buffer (void)
 
 {
        int c;
-    
+
        *(yy_c_buf_p) = (yy_hold_char);
 
        if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
@@ -3038,12 +3038,12 @@ static int yy_get_next_buffer (void)
 
 /** Immediately switch to a different input stream.
  * @param input_file A readable stream.
- * 
+ *
  * @note This function does not reset the start condition to @c INITIAL .
  */
     void zconfrestart  (FILE * input_file )
 {
-    
+
        if ( ! YY_CURRENT_BUFFER ){
         zconfensure_buffer_stack ();
                YY_CURRENT_BUFFER_LVALUE =
@@ -3056,11 +3056,11 @@ static int yy_get_next_buffer (void)
 
 /** Switch to a different input buffer.
  * @param new_buffer The new input buffer.
- * 
+ *
  */
     void zconf_switch_to_buffer  (YY_BUFFER_STATE  new_buffer )
 {
-    
+
        /* TODO. We should be able to replace this entire function body
         * with
         *              zconfpop_buffer_state();
@@ -3100,13 +3100,13 @@ static void zconf_load_buffer_state  (void)
 /** Allocate and initialize an input buffer state.
  * @param file A readable stream.
  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
+ *
  * @return the allocated buffer state.
  */
     YY_BUFFER_STATE zconf_create_buffer  (FILE * file, int  size )
 {
        YY_BUFFER_STATE b;
-    
+
        b = (YY_BUFFER_STATE) zconfalloc(sizeof( struct yy_buffer_state )  );
        if ( ! b )
                YY_FATAL_ERROR( "out of dynamic memory in zconf_create_buffer()" );
@@ -3129,11 +3129,11 @@ static void zconf_load_buffer_state  (void)
 
 /** Destroy the buffer.
  * @param b a buffer created with zconf_create_buffer()
- * 
+ *
  */
     void zconf_delete_buffer (YY_BUFFER_STATE  b )
 {
-    
+
        if ( ! b )
                return;
 
@@ -3154,7 +3154,7 @@ static void zconf_load_buffer_state  (void)
 
 {
        int oerrno = errno;
-    
+
        zconf_flush_buffer(b );
 
        b->yy_input_file = file;
@@ -3170,13 +3170,13 @@ static void zconf_load_buffer_state  (void)
     }
 
         b->yy_is_interactive = 0;
-    
+
        errno = oerrno;
 }
 
 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
+ *
  */
     void zconf_flush_buffer (YY_BUFFER_STATE  b )
 {
@@ -3205,7 +3205,7 @@ static void zconf_load_buffer_state  (void)
  *  the current state. This function will allocate the stack
  *  if necessary.
  *  @param new_buffer The new state.
- *  
+ *
  */
 void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
 {
@@ -3235,7 +3235,7 @@ void zconfpush_buffer_state (YY_BUFFER_STATE new_buffer )
 
 /** Removes and deletes the top of the stack, if present.
  *  The next element becomes the new top.
- *  
+ *
  */
 void zconfpop_buffer_state (void)
 {
@@ -3259,7 +3259,7 @@ void zconfpop_buffer_state (void)
 static void zconfensure_buffer_stack (void)
 {
        int num_to_alloc;
-    
+
        if (!(yy_buffer_stack)) {
 
                /* First allocation is just for 2 elements, since we don't know if this
@@ -3270,9 +3270,9 @@ static void zconfensure_buffer_stack (void)
                (yy_buffer_stack) = (struct yy_buffer_state**)zconfalloc
                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
                                                                );
-               
+
                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-                               
+
                (yy_buffer_stack_max) = num_to_alloc;
                (yy_buffer_stack_top) = 0;
                return;
@@ -3298,13 +3298,13 @@ static void zconfensure_buffer_stack (void)
 /** Setup the input buffer state to scan directly from a user-specified character buffer.
  * @param base the character buffer
  * @param size the size in bytes of the character buffer
- * 
- * @return the newly allocated buffer state object. 
+ *
+ * @return the newly allocated buffer state object.
  */
 YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
 {
        YY_BUFFER_STATE b;
-    
+
        if ( size < 2 ||
             base[size-2] != YY_END_OF_BUFFER_CHAR ||
             base[size-1] != YY_END_OF_BUFFER_CHAR )
@@ -3333,14 +3333,14 @@ YY_BUFFER_STATE zconf_scan_buffer  (char * base, yy_size_t  size )
 /** Setup the input buffer state to scan a string. The next call to zconflex() will
  * scan from a @e copy of @a str.
  * @param str a NUL-terminated string to scan
- * 
+ *
  * @return the newly allocated buffer state object.
  * @note If you want to scan bytes that may contain NUL values, then use
  *       zconf_scan_bytes() instead.
  */
 YY_BUFFER_STATE zconf_scan_string (yyconst char * str )
 {
-    
+
        return zconf_scan_bytes(str,strlen(str) );
 }
 
@@ -3348,7 +3348,7 @@ YY_BUFFER_STATE zconf_scan_string (yyconst char * str )
  * scan from a @e copy of @a bytes.
  * @param bytes the byte buffer to scan
  * @param len the number of bytes in the buffer pointed to by @a bytes.
- * 
+ *
  * @return the newly allocated buffer state object.
  */
 YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * bytes, int  len )
@@ -3357,7 +3357,7 @@ YY_BUFFER_STATE zconf_scan_bytes  (yyconst char * bytes, int  len )
        char *buf;
        yy_size_t n;
        int i;
-    
+
        /* Get memory for full buffer, including space for trailing EOB's. */
        n = len + 2;
        buf = (char *) zconfalloc(n  );
@@ -3411,16 +3411,16 @@ static void yy_fatal_error (yyconst char* msg )
 /* Accessor  methods (get/set functions) to struct members. */
 
 /** Get the current line number.
- * 
+ *
  */
 int zconfget_lineno  (void)
 {
-        
+
     return zconflineno;
 }
 
 /** Get the input stream.
- * 
+ *
  */
 FILE *zconfget_in  (void)
 {
@@ -3428,7 +3428,7 @@ FILE *zconfget_in  (void)
 }
 
 /** Get the output stream.
- * 
+ *
  */
 FILE *zconfget_out  (void)
 {
@@ -3436,7 +3436,7 @@ FILE *zconfget_out  (void)
 }
 
 /** Get the length of the current token.
- * 
+ *
  */
 int zconfget_leng  (void)
 {
@@ -3444,7 +3444,7 @@ int zconfget_leng  (void)
 }
 
 /** Get the current token.
- * 
+ *
  */
 
 char *zconfget_text  (void)
@@ -3454,18 +3454,18 @@ char *zconfget_text  (void)
 
 /** Set the current line number.
  * @param line_number
- * 
+ *
  */
 void zconfset_lineno (int  line_number )
 {
-    
+
     zconflineno = line_number;
 }
 
 /** Set the input stream. This does not discard the current
  * input buffer.
  * @param in_str A readable stream.
- * 
+ *
  * @see zconf_switch_to_buffer
  */
 void zconfset_in (FILE *  in_str )
@@ -3491,7 +3491,7 @@ void zconfset_debug (int  bdebug )
 /* zconflex_destroy is for both reentrant and non-reentrant scanners. */
 int zconflex_destroy  (void)
 {
-    
+
     /* Pop the buffer stack, destroying each element. */
        while(YY_CURRENT_BUFFER){
                zconf_delete_buffer(YY_CURRENT_BUFFER  );
index 739b3b480cf06e41ea0e427ceed51a2a74823dcb..fe4562b177e45ad73ebe51424cd9038d320bfafc 100644 (file)
@@ -169,7 +169,7 @@ static void cmake(void)
        items[item_no]->namelen = 0;
        item_no++;
 }
-  
+
 static int cprint_name(const char *fmt, ...)
 {
        va_list ap;
@@ -186,7 +186,7 @@ static int cprint_name(const char *fmt, ...)
 
        return res;
 }
-  
+
 static int cprint_tag(const char *fmt, ...)
 {
        va_list ap;
@@ -200,7 +200,7 @@ static int cprint_tag(const char *fmt, ...)
 
        return res;
 }
-  
+
 static void cdone(void)
 {
        int i;
@@ -675,19 +675,19 @@ int main(int ac, char **av)
                if (!strcasecmp(mode, "single_menu"))
                        single_menu_mode = 1;
        }
-  
+
        tcgetattr(1, &ios_org);
        atexit(conf_cleanup);
        init_wsize();
        init_dialog();
-       signal(SIGWINCH, winch_handler); 
+       signal(SIGWINCH, winch_handler);
        conf(&rootmenu);
        end_dialog();
 
        /* Restart dialog to act more like when lxdialog was still separate */
        init_dialog();
        do {
-               stat = dialog_yesno(NULL, 
+               stat = dialog_yesno(NULL,
                                "Do you wish to save your new BusyBox configuration?", 5, 60);
        } while (stat < 0);
        end_dialog();
index 6e075f80bdaa93aa039e5af2c935b4f2a46edfa5..9b8d389e6bc4459939a409c64299a2656086a13e 100644 (file)
@@ -228,7 +228,7 @@ void menu_finalize(struct menu *parent)
                                if (prop->type == P_PROMPT && prop->menu != menu) {
                                        fprintf(stderr, "%s:%d:warning: choice values currently only support a single prompt\n",
                                                prop->file->name, prop->lineno);
-                                       
+
                                }
                                if (prop->type == P_DEFAULT)
                                        fprintf(stderr, "%s:%d:warning: defaults for choice values not supported\n",
index 18e02168bf406a6ea549bf2cea9ae02777c7c7dd..431f09fc9911e50bf799ba654ce399e6f73d70c3 100644 (file)
@@ -26,7 +26,7 @@
  *
  *    *)  A bugfix for the Page-Down problem
  *
- *    *)  Formerly when I used Page Down and Page Up, the cursor would be set 
+ *    *)  Formerly when I used Page Down and Page Up, the cursor would be set
  *        to the first position in the menu box.  Now lxdialog is a bit
  *        smarter and works more like other menu systems (just have a look at
  *        it).
@@ -225,7 +225,7 @@ dialog_menu (const char *title, const char *prompt, int height, int width,
 
     /*
      * Find length of longest item in order to center menu.
-     * Set 'choice' to default item. 
+     * Set 'choice' to default item.
      */
     item_x = 0;
     for (i = 0; i < item_no; i++) {
@@ -294,7 +294,7 @@ dialog_menu (const char *title, const char *prompt, int height, int width,
                }
        }
 
-       if (i < max_choice || 
+       if (i < max_choice ||
             key == KEY_UP || key == KEY_DOWN ||
             key == '-' || key == '+' ||
             key == KEY_PPAGE || key == KEY_NPAGE) {
index d20730b882f6cb229200c479ce0278c334261e35..104ff0e4cf45108e23899d19c8bd58133f5ffb1a 100644 (file)
@@ -29,7 +29,7 @@ char *backtitle = NULL;
 
 const char *dialog_result;
 
-/* 
+/*
  * Attribute values, default is for mono display
  */
 chtype attributes[] =
@@ -204,7 +204,7 @@ print_autowrap (WINDOW * win, const char *prompt, int width, int y, int x)
     strcpy (tempstr, prompt);
 
     prompt_len = strlen(tempstr);
-       
+
     /*
      * Remove newlines
      */
@@ -350,7 +350,7 @@ first_alpha(const char *string, const char *exempt)
                if (strchr("<[(", c)) ++in_paren;
                if (strchr(">])", c)) --in_paren;
 
-               if ((! in_paren) && isalpha(c) && 
+               if ((! in_paren) && isalpha(c) &&
                     strchr(exempt, c) == 0)
                        return i;
        }
index 4f5bcfb457f472267398aedee9d54c4111f316f4..a5f69a026a431b419ea368405b04bed26365941f 100644 (file)
@@ -446,21 +446,21 @@ static const unsigned short yyrline[] =
    First, the terminals, then, starting at YYNTOKENS, nonterminals. */
 static const char *const yytname[] =
 {
-  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU", 
-  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG", 
-  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS", 
-  "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE", 
-  "T_DEF_TRISTATE", "T_BOOLEAN", "T_DEF_BOOLEAN", "T_STRING", "T_INT", 
-  "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", "T_EOF", "T_EOL", 
-  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_SELECT", "T_RANGE", "T_OR", 
-  "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block", 
-  "common_block", "config_entry_start", "config_stmt", 
-  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list", 
-  "config_option", "choice", "choice_entry", "choice_end", "choice_stmt", 
-  "choice_option_list", "choice_option", "choice_block", "if", "if_end", 
-  "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt", 
-  "menu_block", "source", "source_stmt", "comment", "comment_stmt", 
-  "help_start", "help", "depends_list", "depends", "prompt_stmt_opt", 
+  "$end", "error", "$undefined", "T_MAINMENU", "T_MENU", "T_ENDMENU",
+  "T_SOURCE", "T_CHOICE", "T_ENDCHOICE", "T_COMMENT", "T_CONFIG",
+  "T_MENUCONFIG", "T_HELP", "T_HELPTEXT", "T_IF", "T_ENDIF", "T_DEPENDS",
+  "T_REQUIRES", "T_OPTIONAL", "T_PROMPT", "T_DEFAULT", "T_TRISTATE",
+  "T_DEF_TRISTATE", "T_BOOLEAN", "T_DEF_BOOLEAN", "T_STRING", "T_INT",
+  "T_HEX", "T_WORD", "T_WORD_QUOTE", "T_UNEQUAL", "T_EOF", "T_EOL",
+  "T_CLOSE_PAREN", "T_OPEN_PAREN", "T_ON", "T_SELECT", "T_RANGE", "T_OR",
+  "T_AND", "T_EQUAL", "T_NOT", "$accept", "input", "block",
+  "common_block", "config_entry_start", "config_stmt",
+  "menuconfig_entry_start", "menuconfig_stmt", "config_option_list",
+  "config_option", "choice", "choice_entry", "choice_end", "choice_stmt",
+  "choice_option_list", "choice_option", "choice_block", "if", "if_end",
+  "if_stmt", "if_block", "menu", "menu_entry", "menu_end", "menu_stmt",
+  "menu_block", "source", "source_stmt", "comment", "comment_stmt",
+  "help_start", "help", "depends_list", "depends", "prompt_stmt_opt",
   "prompt", "end", "nl_or_eof", "if_expr", "expr", "symbol", 0
 };
 #endif
@@ -1027,7 +1027,7 @@ yyparse ()
 #endif
 #endif
 {
-  
+
   register int yystate;
   register int yyn;
   int yyresult;
index 9b92b08c447e9a85a535c8f6f5813170e064d750..ae3cc74e032decb76651e4997e2b01ef07b9deeb 100644 (file)
@@ -3,7 +3,7 @@
  * Smart CONFIG_* processing by Werner Almesberger, Michael Chastain.
  *
  * Usage: mkdep cflags -- file ...
- * 
+ *
  * Read source files and output makefile dependency lines for them.
  * I make simple dependency lines for #include <*.h> and #include "*.h".
  * I also find instances of CONFIG_FOO and generate dependencies
index 3ab9fed87e285a9241957b9769a44df7b8d1bc5e..624a0d62b5a5394748c2f65dd3887c3c1cbfa3de 100644 (file)
@@ -96,7 +96,7 @@ int main(int argc, const char * argv [])
     /* Change to output directory. */
     if (chdir(str_dir_config) != 0)
        ERROR_EXIT(str_dir_config);
-       
+
     /* Put initial separator into target list. */
     ptarget = list_target;
     *ptarget++ = '\n';
index 892b96e78432a0f0b0eb5708c0f6e31454fdd76f..bcb5e719bffd47691a914017e7168113a1e5cb7d 100644 (file)
@@ -41,7 +41,7 @@ config CONFIG_ASH
          the most complete and most pedantically correct shell included with
          busybox.  This shell is actually a derivative of the Debian 'dash'
          shell (by Herbert Xu), which was created by porting the 'ash' shell
-         (written by Kenneth Almquist) from NetBSD.  
+         (written by Kenneth Almquist) from NetBSD.
 
 comment "Ash Shell Options"
        depends on CONFIG_ASH
index a08219262dc515b8b3dae729f7c544b35deb1d95..8f476c19e2b5c10a379cca3728ab39f53fa45db0 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 c5be7ba7959e58ec6052327329439ca0751ba4f3..7b9f41ed4a2ad8b109fefd4eeda37d7dc732c2f2 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 8c2493ece277a743cbe3b44c06a62c91e4301aad..060860c0796fcd5eecb3e42abcac3e57a2c17537 100644 (file)
@@ -7615,7 +7615,7 @@ cmdputs(const char *s)
        int quoted = 0;
        static const char *const vstype[16] = {
                nullstr, "}", "-", "+", "?", "=",
-               "%", "%%", "#", "##", nullstr 
+               "%", "%%", "#", "##", nullstr
        };
 
        nextc = makestrspace((strlen(s) + 1) * 8, cmdnextc);
index 84818ffa312f973fd6a52ac65af9e1d77937b7aa..5da975746789a23a3e308677bd13f9b950adff78 100644 (file)
@@ -12,7 +12,7 @@
  *      written Dec 2000 and Jan 2001 by Larry Doolittle.  The
  *      execution engine, the builtins, and much of the underlying
  *      support has been adapted from busybox-0.49pre's lash, which is
- *      Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ *      Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *      written by Erik Andersen <andersen@codepoet.org>.  That, in turn,
  *      is based in part on ladsh.c, by Michael K. Johnson and Erik W.
  *      Troan, which they placed in the public domain.  I don't know
@@ -197,7 +197,7 @@ struct redir_struct {
        redir_type type;                        /* type of redirection */
        int fd;                                         /* file descriptor being redirected */
        int dup;                                        /* -1, or file descriptor being duplicated */
-       struct redir_struct *next;      /* pointer to the next redirect in the list */ 
+       struct redir_struct *next;      /* pointer to the next redirect in the list */
        glob_t word;                            /* *word.gl_pathv is the filename */
 };
 
@@ -248,7 +248,7 @@ char **global_argv;
 unsigned int global_argc;
 unsigned int last_return_code;
 extern char **environ; /* This is in <unistd.h>, but protected with __USE_GNU */
+
 /* "globals" within this file */
 static char *ifs;
 static char map[256];
@@ -421,7 +421,7 @@ static struct built_in_command bltins[] = {
        {"continue", "Continue for, while or until loop", builtin_not_written},
        {"env", "Print all environment variables", builtin_env},
        {"eval", "Construct and run shell command", builtin_eval},
-       {"exec", "Exec command, replacing this shell with the exec'd process", 
+       {"exec", "Exec command, replacing this shell with the exec'd process",
                builtin_exec},
        {"exit", "Exit from shell()", builtin_exit},
        {"export", "Set environment variable", builtin_export},
@@ -456,10 +456,10 @@ static int builtin_eval(struct child_prog *child)
 {
        char *str = NULL;
        int rcode = EXIT_SUCCESS;
-       
+
        if (child->argv[1]) {
                str = make_string(child->argv + 1);
-               parse_string_outer(str, FLAG_EXIT_FROM_LOOP | 
+               parse_string_outer(str, FLAG_EXIT_FROM_LOOP |
                                        FLAG_PARSE_SEMICOLON);
                free(str);
                rcode = last_return_code;
@@ -873,7 +873,7 @@ static inline void cmdedit_set_initial_prompt(void)
        PS1 = getenv("PS1");
        if(PS1==0)
                PS1 = "\\w \\$ ";
-#endif 
+#endif
 }
 
 static inline void setup_prompt_string(int promptmode, char **prompt_str)
@@ -919,7 +919,7 @@ static void get_user_input(struct in_str *i)
        i->p = the_command;
 }
 
-/* This is the magic location that prints prompts 
+/* This is the magic location that prints prompts
  * and gets data back from the user */
 static int file_get(struct in_str *i)
 {
@@ -1110,14 +1110,14 @@ static void pseudo_exec(struct child_prog *child)
                }
 
                /* Check if the command matches any busybox internal commands
-                * ("applets") here.  
+                * ("applets") here.
                 * FIXME: This feature is not 100% safe, since
                 * BusyBox is not fully reentrant, so we have no guarantee the things
                 * from the .bss are still zeroed, or that things from .data are still
                 * at their defaults.  We could exec ourself from /proc/self/exe, but I
                 * really dislike relying on /proc for things.  We could exec ourself
                 * from global_argv[0], but if we are in a chroot, we may not be able
-                * to find ourself... */ 
+                * to find ourself... */
 #ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
                {
                        int argc_l;
@@ -1196,7 +1196,7 @@ static void insert_bg_job(struct pipe *pi)
                }
        }
 
-       /* we don't wait for background thejobs to return -- append it 
+       /* we don't wait for background thejobs to return -- append it
           to the list of backgrounded thejobs and leave it alone */
        printf("[%d] %d\n", thejob->jobid, thejob->progs[0].pid);
        last_bg_pid = thejob->progs[0].pid;
@@ -1226,7 +1226,7 @@ static void remove_bg_job(struct pipe *pi)
        free(pi);
 }
 
-/* Checks to see if any processes have exited -- if they 
+/* Checks to see if any processes have exited -- if they
    have, figure out why and see if a job has completed */
 static int checkjobs(struct pipe* fg_pipe)
 {
@@ -1246,7 +1246,7 @@ static int checkjobs(struct pipe* fg_pipe)
                        int i, rcode = 0;
                        for (i=0; i < fg_pipe->num_progs; i++) {
                                if (fg_pipe->progs[i].pid == childpid) {
-                                       if (i==fg_pipe->num_progs-1) 
+                                       if (i==fg_pipe->num_progs-1)
                                                rcode=WEXITSTATUS(status);
                                        (fg_pipe->num_progs)--;
                                        return(rcode);
@@ -1289,7 +1289,7 @@ static int checkjobs(struct pipe* fg_pipe)
                        if (pi->stopped_progs == pi->num_progs) {
                                printf("\n"JOB_STATUS_FORMAT, pi->jobid, "Stopped", pi->text);
                        }
-#endif 
+#endif
                }
        }
 
@@ -1378,7 +1378,7 @@ static int run_pipe_real(struct pipe *pi)
                                /* Ok, this case is tricky.  We have to decide if this is a
                                 * local variable, or an already exported variable.  If it is
                                 * already exported, we have to export the new value.  If it is
-                                * not exported, we need only set this as a local variable. 
+                                * not exported, we need only set this as a local variable.
                                 * This junk is all to decide whether or not to export this
                                 * variable. */
                                int export_me=0;
@@ -1408,7 +1408,7 @@ static int run_pipe_real(struct pipe *pi)
                }
                if (child->sp) {
                        char * str = NULL;
-                       
+
                        str = make_string((child->argv + i));
                        parse_string_outer(str, FLAG_EXIT_FROM_LOOP | FLAG_REPARSING);
                        free(str);
@@ -1454,7 +1454,7 @@ static int run_pipe_real(struct pipe *pi)
 #if !defined(__UCLIBC__) || defined(__UCLIBC_HAS_MMU__)
                if (!(child->pid = fork()))
 #else
-               if (!(child->pid = vfork())) 
+               if (!(child->pid = vfork()))
 #endif
                {
                        /* Set the handling for job control signals back to the default.  */
@@ -1465,7 +1465,7 @@ static int run_pipe_real(struct pipe *pi)
                        signal(SIGTTIN, SIG_DFL);
                        signal(SIGTTOU, SIG_DFL);
                        signal(SIGCHLD, SIG_DFL);
-                       
+
                        close_all();
 
                        if (nextin != 0) {
@@ -1497,7 +1497,7 @@ static int run_pipe_real(struct pipe *pi)
 
                        pseudo_exec(child);
                }
-               
+
 
                /* put our child in the process group whose leader is the
                   first process in this pipe */
@@ -1513,7 +1513,7 @@ static int run_pipe_real(struct pipe *pi)
                if (nextout != 1)
                        close(nextout);
 
-               /* If there isn't another process, nextin is garbage 
+               /* If there isn't another process, nextin is garbage
                   but it doesn't matter */
                nextin = pipefds[0];
        }
@@ -1539,12 +1539,12 @@ static int run_list_real(struct pipe *pi)
                    (rpipe->next == NULL)) {
                                syntax();
                                return 1;
-               }               
-               if ((rpipe->r_mode == RES_IN && 
-                       (rpipe->next->r_mode == RES_IN && 
+               }
+               if ((rpipe->r_mode == RES_IN &&
+                       (rpipe->next->r_mode == RES_IN &&
                        rpipe->next->progs->argv != NULL))||
                        (rpipe->r_mode == RES_FOR &&
-                       rpipe->next->r_mode != RES_IN)) { 
+                       rpipe->next->r_mode != RES_IN)) {
                                syntax();
                                return 1;
                }
@@ -1572,7 +1572,7 @@ static int run_list_real(struct pipe *pi)
                if (rmode == RES_ELIF && !if_code) continue;
                if (rmode == RES_FOR && pi->num_progs) {
                        if (!list) {
-                               /* if no variable values after "in" we skip "for" */            
+                               /* if no variable values after "in" we skip "for" */
                                if (!pi->next->progs->argv) continue;
                                /* create list of variable values */
                                list = make_list_in(pi->next->progs->argv,
@@ -1581,7 +1581,7 @@ static int run_list_real(struct pipe *pi)
                                save_name = pi->progs->argv[0];
                                pi->progs->argv[0] = NULL;
                                flag_rep = 1;
-                       }       
+                       }
                        if (!(*list)) {
                                free(pi->progs->argv[0]);
                                free(save_list);
@@ -1591,26 +1591,26 @@ static int run_list_real(struct pipe *pi)
                                pi->progs->glob_result.gl_pathv[0] =
                                        pi->progs->argv[0];
                                continue;
-                       } else {                        
+                       } else {
                                /* insert new value from list for variable */
-                               if (pi->progs->argv[0]) 
+                               if (pi->progs->argv[0])
                                        free(pi->progs->argv[0]);
                                pi->progs->argv[0] = *list++;
                                pi->progs->glob_result.gl_pathv[0] =
                                        pi->progs->argv[0];
                        }
-               }               
+               }
                if (rmode == RES_IN) continue;
                if (rmode == RES_DO) {
                        if (!flag_rep) continue;
-               }           
+               }       
                if ((rmode == RES_DONE)) {
                        if (flag_rep) {
                                flag_restore = 1;
                        } else {
                                rpipe = NULL;
                        }
-               }               
+               }
                if (pi->num_progs == 0) continue;
                save_num_progs = pi->num_progs; /* save number of programs */
                rcode = run_pipe_real(pi);
@@ -1642,9 +1642,9 @@ static int run_list_real(struct pipe *pi)
                pi->num_progs = save_num_progs; /* restore number of programs */
                if ( rmode == RES_IF || rmode == RES_ELIF )
                        next_if_code=rcode;  /* can be overwritten a number of times */
-               if (rmode == RES_WHILE) 
+               if (rmode == RES_WHILE)
                        flag_rep = !last_return_code;
-               if (rmode == RES_UNTIL) 
+               if (rmode == RES_UNTIL)
                        flag_rep = last_return_code;
                if ( (rcode==EXIT_SUCCESS && pi->followup==PIPE_OR) ||
                     (rcode!=EXIT_SUCCESS && pi->followup==PIPE_AND) )
@@ -1723,7 +1723,7 @@ static int free_pipe_list(struct pipe *head, int indent)
                pi->next=NULL;
                free(pi);
        }
-       return rcode;   
+       return rcode;
 }
 
 /* Select which version we will use */
@@ -1732,7 +1732,7 @@ static int run_list(struct pipe *pi)
        int rcode=0;
        if (fake_mode==0) {
                rcode = run_list_real(pi);
-       } 
+       }
        /* free_pipe_list has the side effect of clearing memory
         * In the long run that function can be merged with run_list_real,
         * but doing that now would hobble the debugging effort. */
@@ -1862,7 +1862,7 @@ static int set_local_var(const char *s, int flg_export)
 
        /* Assume when we enter this function that we are already in
         * NAME=VALUE format.  So the first order of business is to
-        * split 's' on the '=' into 'name' and 'value' */ 
+        * split 's' on the '=' into 'name' and 'value' */
        value = strchr(name, '=');
        if (value==0 && ++value==0) {
                free(name);
@@ -1991,7 +1991,7 @@ static int setup_redirect(struct p_context *ctx, int fd, redir_type style,
 
        debug_printf("Redirect type %d%s\n", redir->fd, redir_table[style].descrip);
 
-       /* Check for a '2>&1' type redirect */ 
+       /* Check for a '2>&1' type redirect */
        redir->dup = redirect_dup_num(input);
        if (redir->dup == -2) return 1;  /* syntax error */
        if (redir->dup != -1) {
@@ -2377,9 +2377,9 @@ static int parse_group(o_string *dest, struct p_context *ctx,
 static char *lookup_param(char *src)
 {
        char *p=NULL;
-       if (src) { 
+       if (src) {
                p = getenv(src);
-               if (!p) 
+               if (!p)
                        p = get_local_var(src);
        }
        return p;
@@ -2499,7 +2499,7 @@ int parse_stream(o_string *dest, struct p_context *ctx,
                        if (m==2) {  /* unquoted IFS */
                                if (done_word(dest, ctx)) {
                                        return 1;
-                               }       
+                               }
                                /* If we aren't performing a substitution, treat a newline as a
                                 * command separator.  */
                                if (end_trigger != '\0' && ch=='\n')
@@ -2624,7 +2624,7 @@ int parse_stream(o_string *dest, struct p_context *ctx,
        }
        /* complain if quote?  No, maybe we just finished a command substitution
         * that was quoted.  Example:
-        * $ echo "`cat foo` plus more" 
+        * $ echo "`cat foo` plus more"
         * and we just got the EOF generated by the subshell that ran "cat foo"
         * The only real complaint is if we got an EOF when end_trigger != '\0',
         * that is, we were really supposed to get end_trigger, and never got
@@ -2684,7 +2684,7 @@ int parse_stream_outer(struct in_str *inp, int flag)
                        if (ctx.old_flag != 0) {
                                free(ctx.stack);
                                b_reset(&temp);
-                       }       
+                       }
                        temp.nonnull = 0;
                        temp.quote = 0;
                        inp->p = NULL;
@@ -2748,9 +2748,9 @@ int hush_main(int argc, char **argv)
        /* XXX what should these be while sourcing /etc/profile? */
        global_argc = argc;
        global_argv = argv;
-       
+
        /* (re?) initialize globals.  Sometimes hush_main() ends up calling
-        * hush_main(), therefore we cannot rely on the BSS to zero out this 
+        * hush_main(), therefore we cannot rely on the BSS to zero out this
         * stuff.  Reset these to 0 every time. */
        ifs = NULL;
        /* map[] is taken care of with call to update_ifs_map() */
@@ -2770,7 +2770,7 @@ int hush_main(int argc, char **argv)
 #endif
        PS2 = "> ";
 
-       /* initialize our shell local variables with the values 
+       /* initialize our shell local variables with the values
         * currently living in the environment */
        if (e) {
                for (; *e; e++)
@@ -2790,7 +2790,7 @@ int hush_main(int argc, char **argv)
                }
        }
        input=stdin;
-       
+
        while ((opt = getopt(argc, argv, "c:xif")) > 0) {
                switch (opt) {
                        case 'c':
@@ -2832,13 +2832,13 @@ int hush_main(int argc, char **argv)
        debug_printf("\ninteractive=%d\n", interactive);
        if (interactive) {
                /* Looks like they want an interactive shell */
-#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET 
+#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET
                printf( "\n\n" BB_BANNER " hush - the humble shell v0.01 (testing)\n");
                printf( "Enter 'help' for a list of built-in commands.\n\n");
 #endif
                setup_job_control();
        }
-       
+
        if (argv[optind]==NULL) {
                opt=parse_file_outer(stdin);
                goto final_return;
@@ -2877,7 +2877,7 @@ static char *insert_var_value(char *inp)
        int len;
        int done = 0;
        char *p, *p1, *res_str = NULL;
-       
+
        while ((p = strchr(inp, SPECIAL_VAR_SYMBOL))) {
                if (p != inp) {
                        len = p - inp;
@@ -2893,7 +2893,7 @@ static char *insert_var_value(char *inp)
                        res_str = xrealloc(res_str, (1 + len));
                        strcpy((res_str + res_str_len), p1);
                        res_str_len = len;
-               } 
+               }
                *p = SPECIAL_VAR_SYMBOL;
                inp = ++p;
                done = 1;
@@ -2915,8 +2915,8 @@ static char **make_list_in(char **inp, char *name)
        int n = 0;
        char **list;
        char *p1, *p2, *p3;
-       
-       /* create list of variable values */    
+
+       /* create list of variable values */
        list = xmalloc(sizeof(*list));
        for (i = 0; inp[i]; i++) {
                p3 = insert_var_value(inp[i]);
@@ -2928,13 +2928,13 @@ static char **make_list_in(char **inp, char *name)
                        }
                        if ((p2 = strchr(p1, ' '))) {
                                len = p2 - p1;
-                       } else {        
+                       } else {
                                len = strlen(p1);
                                p2 = p1 + len;
                        }
-                       /* we use n + 2 in realloc for list,because we add 
+                       /* we use n + 2 in realloc for list,because we add
                         * new element and then we will add NULL element */
-                       list = xrealloc(list, sizeof(*list) * (n + 2));                 
+                       list = xrealloc(list, sizeof(*list) * (n + 2));
                        list[n] = xmalloc(2 + name_len + len);
                        strcpy(list[n], name);
                        strcat(list[n], "=");
@@ -2946,7 +2946,7 @@ static char **make_list_in(char **inp, char *name)
        }
        list[n] = NULL;
        return list;
-}      
+}
 
 /* Make new string for parser */
 static char * make_string(char ** inp)
index e4b1b129fbe299f7b5e24d89828b32371a6c119d..d2d4298fb3eef058085e0b1592d8f883e53a8672 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * lash -- the BusyBox Lame-Ass SHell
  *
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
  * Based in part on ladsh.c by Michael K. Johnson and Erik W. Troan, which is
  * under the following liberal license: "We have placed this source code in the
@@ -927,7 +927,7 @@ static int expand_arguments(char *command)
 
                }
                if (var) {
-                       /* a single character construction was found, and 
+                       /* a single character construction was found, and
                         * already handled in the case statement */
                        src=dst+2;
                } else {
@@ -1093,7 +1093,7 @@ static int parse_command(char **command_ptr, struct job *job, int *inbg)
 
                                prog->redirects[i].fd = -1;
                                if (buf != prog->argv[argc_l]) {
-                                       /* the stuff before this character may be the file number 
+                                       /* the stuff before this character may be the file number
                                           being redirected */
                                        prog->redirects[i].fd =
                                                strtol(prog->argv[argc_l], &chptr, 10);
index 31dd04f3e4350028b20b9c5946c59f58cbb6b8b3..e7059507a9b1bd003cc234ae88e126bb89e012f2 100644 (file)
@@ -23,7 +23,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.
  */
 
@@ -770,7 +770,7 @@ extern int msh_main(int argc, char **argv)
                                        if (--argc > 0)
                                                PUSHIO(aword, *++argv, iof = nlchar);
                                        break;
-       
+
                                case 'q':
                                        qflag = SIG_DFL;
                                        break;
@@ -784,7 +784,7 @@ extern int msh_main(int argc, char **argv)
                                        setval(prompt, "");
                                        iof = linechar;
                                        break;
-       
+
                                case 'i':
                                        interactive++;
                                default:
@@ -809,7 +809,7 @@ extern int msh_main(int argc, char **argv)
                PUSHIO(afile, 0, iof);
                if (isatty(0) && isatty(1) && !cflag) {
                        interactive++;
-#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET 
+#ifndef CONFIG_FEATURE_SH_EXTRA_QUIET
                        printf( "\n\n" BB_BANNER " Built-in shell (msh)\n");
                        printf( "Enter 'help' for a list of built-in commands.\n\n");
 #endif
@@ -838,7 +838,7 @@ extern int msh_main(int argc, char **argv)
                                ap++;
                        }
                }
-       }       
+       }
        setval(lookup("#"), putn((--dolc < 0) ? (dolc = 0) : dolc));
 
        for (;;) {
@@ -2303,7 +2303,7 @@ int act;
 #if __GNUC__
        /* Avoid longjmp clobbering */
        (void) &wp;
-#endif 
+#endif
 
 
        if (t == NULL)
@@ -2318,7 +2318,7 @@ int act;
        case TPAREN:
                rv = execute(t->left, pin, pout, 0);
                break;
-                       
+
        case TCOM:
                {
                        int child;
@@ -2395,7 +2395,7 @@ int act;
                } else {
                        i = -1;
                        while (*wp++ != NULL)
-                               ;                       
+                               ;
                }
                vp = lookup(t->str);
                while (setjmp(bc.brkpt))
@@ -2497,7 +2497,7 @@ forkexec( register struct op *t, int *pin, int *pout, int act, char **wp, int *p
        (void) &cp;
        (void) &resetsig;
        (void) &owp;
-#endif 
+#endif
 
        owp = wp;
        resetsig = 0;
@@ -2532,7 +2532,7 @@ forkexec( register struct op *t, int *pin, int *pout, int act, char **wp, int *p
                hintr = intr;
                hbrklist = brklist;
                hexecflg = execflg;
-       
+
                i = vfork();
                if (i != 0) {
                        /* who wrote this crappy non vfork safe shit? */
@@ -2563,7 +2563,7 @@ forkexec( register struct op *t, int *pin, int *pout, int act, char **wp, int *p
                (*pforked)++;
                brklist = 0;
                execflg = 0;
-       }       
+       }
        if (owp != NULL)
                while ((cp = *owp++) != NULL && assign(cp, COPYV))
                        if (shcom == NULL)
@@ -2841,7 +2841,7 @@ char *c, **v, **envp;
 #endif
        optind = 1;
        if (find_applet_by_name(name)) {
-               /* We have to exec here since we vforked.  Running 
+               /* We have to exec here since we vforked.  Running
                 * run_applet_by_name() won't work and bad things
                 * will happen. */
                execve("/proc/self/exe", v, envp);
@@ -2964,8 +2964,8 @@ static int dohelp(struct op *t )
                for (i=0, applet = applets; i < NUM_APPLETS; applet++, i++) {
                        if (!applet->name)
                                continue;
-               
-                       col += printf("%s%s", ((col == 0) ? "\t" : " "), 
+
+                       col += printf("%s%s", ((col == 0) ? "\t" : " "),
                                        applet->name);
                        if (col > 60) {
                                printf("\n");
@@ -3194,7 +3194,7 @@ register struct op *t;
                                if (n == SIGINT)
                                        setsig(n, onintr);
                                else
-                                       setsig(n, n == SIGQUIT ? SIG_IGN 
+                                       setsig(n, n == SIGQUIT ? SIG_IGN
                                                               : SIG_DFL);
                        else
                                setsig(n, SIG_DFL);
@@ -3784,7 +3784,7 @@ int quoted;
        /* Avoid longjmp clobbering */
        (void) &cp;
 #endif
-       
+
        for (cp = e.iop->argp->aword; *cp != '`'; cp++)
                if (*cp == 0) {
                        err("no closing `");
@@ -3837,7 +3837,7 @@ int quoted;
                                        err("unclosed ${\n");
                                        return(0);
                                }
-                               if (operator) { 
+                               if (operator) {
                                        src++;
                                        while (*src && (*src != '}')) {
                                                alt_value[alt_index++] = *src++;
@@ -3875,7 +3875,7 @@ int quoted;
                }
        }
        *dest = '\0';
-       
+
        if (openpipe(pf) < 0)
                return(0);
        while ((i = vfork()) == -1 && errno == EAGAIN)
@@ -3897,7 +3897,7 @@ int quoted;
        for (j=0; j<=_NSIG; j++)
                if (ourtrap[j] && signal(j, SIG_IGN) != SIG_IGN)
                        signal(j, SIG_DFL);
-       
+
        dup2(pf[1], 1);
        closepipe(pf);
 
@@ -4121,7 +4121,7 @@ register struct wdblock *wb;
        wb->w_words[wb->w_nword++] = wd;
        return(wb);
 }
-static 
+static
 char **
 getwords(wb)
 register struct wdblock *wb;
@@ -4557,7 +4557,7 @@ register struct ioarg *ap;
            c = mycommand[position];
            position++;
            return(c);
-       } else 
+       } else
 #endif
        {
                i = safe_read(ap->afile, &c, sizeof(c));
@@ -4858,7 +4858,7 @@ int xdoll;
                char c;
                char tname[30] = ".msh_XXXXXX";
                jmp_buf ev;
-       
+
                tf = mkstemp(tname);
                if (tf < 0)
                        return (-1);
@@ -4917,24 +4917,24 @@ int area;
 /*
  * 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 2559965f2a287a4d088a71f4f3967ac0cf093311..d288cc58cd7d7c0196cb29bd3e6ae72bb7f359d3 100644 (file)
@@ -101,7 +101,7 @@ config CONFIG_FEATURE_SUID_CONFIG
          checking /etc/busybox.conf.  The format of this file is as follows:
 
          <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
-         
+       
          An example might help:
 
          [SUID]
@@ -147,8 +147,8 @@ config CONFIG_STATIC
        bool "Build BusyBox as a static binary (no shared libs)"
        default n
        help
-         If you want to build a static BusyBox binary, which does not 
-         use or require any shared libraries, then enable this option.  
+         If you want to build a static BusyBox binary, which does not
+         use or require any shared libraries, then enable this option.
          This can cause BusyBox to be considerably larger, so you should
          leave this option false unless you have a good reason (i.e.
          your target platform does not support shared libraries, or
@@ -158,7 +158,7 @@ config CONFIG_STATIC
          Most people will leave this set to 'N'.
 
 config CONFIG_LFS
-       bool "Build with Large File Support (for accessing files > 2 GB)" 
+       bool "Build with Large File Support (for accessing files > 2 GB)"
        default n
        help
          If you want to build BusyBox with large file support, then enable
@@ -180,7 +180,7 @@ config CROSS_COMPILER_PREFIX
        default "/usr/i386-linux-uclibc/bin/i386-uclibc-"
        depends on USING_CROSS_COMPILER
        help
-         If you want to build BusyBox with a cross compiler, then you 
+         If you want to build BusyBox with a cross compiler, then you
          will need to set this to the cross-compiler prefix.  For example,
          if my cross-compiler is /usr/i386-linux-uclibc/bin/i386-uclibc-gcc
          then I would enter '/usr/i386-linux-uclibc/bin/i386-uclibc-' here,
@@ -240,7 +240,7 @@ config CONFIG_DEBUG
        help
          Say Y here if you wish to compile BusyBox with debugging symbols.
          This will allow you to use a debugger to examine BusyBox internals
-         while applets are running.  This increases the size of the binary 
+         while applets are running.  This increases the size of the binary
          considerably and should only be used when doing development.
          If you are doing development and want to debug BusyBox, answer Y.
 
@@ -261,7 +261,7 @@ config CONFIG_DMALLOC
               -p check-fence -p check-heap -p check-lists -p check-blank \
               -p check-funcs -p realloc-copy -p allow-free-null
 
-         This will make BusyBox be considerable larger and run slower, so 
+         This will make BusyBox be considerable larger and run slower, so
          you should leave this option disabled for production use.
 
 config CONFIG_EFENCE
@@ -271,9 +271,9 @@ config CONFIG_EFENCE
        help
          This enables compiling with Electric-fence support.  Electric
          fence is another very useful malloc debugging library which uses
-         your computer's virtual memory hardware to detect illegal memory 
-         accesses.  This support will make BusyBox be considerable larger 
-         and run slower, so you should leave this option disabled unless 
+         your computer's virtual memory hardware to detect illegal memory
+         accesses.  This support will make BusyBox be considerable larger
+         and run slower, so you should leave this option disabled unless
          you are hunting a hard to find memory problem.
 
 endmenu
index a671f59f13cdba1cef75077853e82cb2fab6fbe3..f77d79e8c1569b6624bc5b9df0e68ad09e58d4f8 100644 (file)
@@ -79,10 +79,10 @@ config CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
        default n
        depends on CONFIG_LOGREAD
        help
-         'logread' ouput to slow serial terminals can have 
+         'logread' ouput to slow serial terminals can have
          side effects on syslog because of the semaphore.
-         This option make logread to double buffer copy 
-         from circular buffer, minimizing semaphore 
+         This option make logread to double buffer copy
+         from circular buffer, minimizing semaphore
          contention at some minor memory expense.
 
 config CONFIG_KLOGD
index 0c01f546f6bfeb33fe7a1bff5599fd22e1fd4322..f6ce14530e034a7d31312b010be69021c713f61d 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 d088ae8558181439f7583cf50034c0f12a925b9b..1c6e907746905d450b3e30f6e8eb1f16e7838671 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 df3a668dd56ab84896d4be205096a6a8340e6fff..94da61658fa6a1b0c8df851ddc26f30bfefc95f9 100644 (file)
@@ -6,7 +6,7 @@
  * Changes: Made this a standalone busybox module which uses standalone
  *                                     syslog() client interface.
  *
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
  * Copyright (C) 2000 by Karl M. Hegbloom <karlheg@debian.org>
  *
@@ -136,7 +136,7 @@ extern int klogd_main(int argc, char **argv)
                                bb_show_usage();
                        }
                        console_log_level++;
-                       
+
                        break;
                case 'n':
                        doFork = FALSE;
index 252cfc494e24237bec18e283db686cd1534aa888..981cef322ef84b5b7c7cd77659c6078025987768 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini logger 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
 #  endif
 #endif
 
-/* Decode a symbolic name to a numeric value 
+/* Decode a symbolic name to a numeric value
  * this function is based on code
  * Copyright (c) 1983, 1993
  * The Regents of the University of California.  All rights reserved.
- *  
+ *
  * Original copyright notice is retained at the end of this file.
  */
 static int decode(char *name, CODE * codetab)
@@ -71,7 +71,7 @@ static int decode(char *name, CODE * codetab)
        return (-1);
 }
 
-/* Decode a symbolic name to a numeric value 
+/* Decode a symbolic name to a numeric value
  * this function is based on code
  * Copyright (c) 1983, 1993
  * The Regents of the University of California.  All rights reserved.
@@ -132,7 +132,7 @@ extern int logger_main(int argc, char **argv)
                do {
                        /* read from stdin */
                        i = 0;
-                       while ((c = getc(stdin)) != EOF && c != '\n' && 
+                       while ((c = getc(stdin)) != EOF && c != '\n' &&
                                        i < (sizeof(buf)-1)) {
                                buf[i++] = c;
                        }
@@ -180,8 +180,8 @@ extern int logger_main(int argc, char **argv)
  *    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>
  *
  * 4. Neither the name of the University nor the names of its contributors
  *    may be used to endorse or promote products derived from this software
index 207e78b57184d3927c8c898a63b824d353af6209..70d1db6319348db7006d26812e19296fb5a1cc16 100644 (file)
@@ -62,13 +62,13 @@ static void interrupted(int sig);
  */
 static inline void sem_up(int semid)
 {
-       if ( semop(semid, SMrup, 1) == -1 ) 
+       if ( semop(semid, SMrup, 1) == -1 )
                error_exit("semop[SMrup]");
 }
 
 /*
  * sem_down - down()'s a semaphore
- */                            
+ */
 static inline void sem_down(int semid)
 {
        if ( semop(semid, SMrdn, 2) == -1 )
@@ -79,7 +79,7 @@ extern int logread_main(int argc, char **argv)
 {
        int i;
        int follow=0;
-       
+
        if (argc == 2 && strcmp(argv[1],"-f")==0) {
                follow = 1;
        } else {
@@ -87,16 +87,16 @@ extern int logread_main(int argc, char **argv)
                if (argc > 1)
                        bb_show_usage();
        }
-       
+
        // handle intrrupt signal
        if (setjmp(jmp_env)) goto output_end;
-       
+
        // attempt to redefine ^C signal
        signal(SIGINT, interrupted);
-       
+
        if ( (log_shmid = shmget(KEY_ID, 0, 0)) == -1)
                error_exit("Can't find circular buffer");
-       
+
        // Attach shared memory to our char*
        if ( (buf = shmat(log_shmid, NULL, SHM_RDONLY)) == NULL)
                error_exit("Can't get access to circular buffer from syslogd");
@@ -113,7 +113,7 @@ extern int logread_main(int argc, char **argv)
                int log_len,j;
 #endif
 
-               sem_down(log_semid);    
+               sem_down(log_semid);
 
                //printf("head: %i tail: %i size: %i\n",buf->head,buf->tail,buf->size);
                if (buf->head == buf->tail || i==buf->tail) {
@@ -125,8 +125,8 @@ extern int logread_main(int argc, char **argv)
                                printf("<empty syslog>\n");
                        }
                }
-       
-               // Read Memory 
+
+               // Read Memory
 #ifdef CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
                log_len = buf->tail - i;
                if (log_len < 0)
@@ -165,10 +165,10 @@ extern int logread_main(int argc, char **argv)
        } while (follow);
 
 output_end:
-       if (log_shmid != -1) 
+       if (log_shmid != -1)
                shmdt(buf);
-               
-       return EXIT_SUCCESS;            
+
+       return EXIT_SUCCESS;
 }
 
 static void interrupted(int sig){
@@ -179,7 +179,7 @@ static void interrupted(int sig){
 static void error_exit(const char *str){
        perror(str);
        //release all acquired resources
-       if (log_shmid != -1) 
+       if (log_shmid != -1)
                shmdt(buf);
 
        exit(1);
index a533bce6b32d500ebed82cb15ee57cbfd3f9a5ff..ac326aa001fd77a084b67759a4248dfe00b211d7 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini syslogd implementation for busybox
  *
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
  * Copyright (C) 2000 by Karl M. Hegbloom <karlheg@debian.org>
  *
index a3e49a625ba24eb2d8377e357a9c58711aa27ae9..301ed3500f253f72c8a92ce855535ece618ff3f5 100755 (executable)
@@ -6,7 +6,7 @@
 # flush out are those involving preprocessor instructions in
 # utility.c.
 #
-# TODO: some time it might be nice to list absolute and 
+# TODO: some time it might be nice to list absolute and
 # differential object sizes for each option...
 #
 
index 09ba750ece3700284397b8d3eed533317672c9a8..a17762f059d11988d2666c74fba8494340b56314 100755 (executable)
@@ -87,7 +87,7 @@ unalias -a    # gets rid of aliases that might create different output
 
 
 # do extra setup (if any)
-if [ ! -z "$SETUP" ] 
+if [ ! -z "$SETUP" ]
 then
        [ $DEBUG -ge 2 ] && echo "running setup commands in $SETUP"
        source $SETUP
@@ -136,7 +136,7 @@ do
                                if [ $? -eq 1 ]
                                then
                                        [ $DEBUG -ge 1 ] && echo "FAILED: $line" | tee -a $LOGFILE
-                                       diff -u $CONFIG_OUT $GNU_OUT >> $LOGFILE 
+                                       diff -u $CONFIG_OUT $GNU_OUT >> $LOGFILE
                                fi
                        fi
                fi
@@ -151,7 +151,7 @@ done
 
 
 # do extra cleanup (if any)
-if [ ! -z "$CLEANUP" ] 
+if [ ! -z "$CLEANUP" ]
 then
        [ $DEBUG -ge 2 ] && echo "running cleanup commands in $CLEANUP"
        source $CLEANUP
index 2bb9c09ccbae4bff09424256c16ffd493721991e..c97e5c436e41ebd3c24554a173bd6ddce0b94a40 100644 (file)
@@ -71,7 +71,7 @@ config CONFIG_FDISK
        help
          The fdisk utility is used to divide hard disks into one or more
          logical disks, which are generally called partitions.  This utility
-         can be used to list and edit the set of partitions or BSD style 
+         can be used to list and edit the set of partitions or BSD style
          'disk slices' that are defined on a hard drive.
 
 if !CONFIG_LFS
@@ -84,7 +84,7 @@ config FDISK_SUPPORT_LARGE_DISKS
 endif
 
 config CONFIG_FEATURE_FDISK_WRITABLE
-       bool "  Write support" 
+       bool "  Write support"
        default y
        depends on CONFIG_FDISK
        help
@@ -95,7 +95,7 @@ config CONFIG_FEATURE_FDISK_WRITABLE
 config CONFIG_FEATURE_AIX_LABEL
        bool "  Support AIX disklabels"
        default n
-       depends on CONFIG_FDISK && CONFIG_FEATURE_FDISK_WRITABLE  
+       depends on CONFIG_FDISK && CONFIG_FEATURE_FDISK_WRITABLE
        help
          Enabling this option allows you to create or change AIX disklabels.
          Most people can safely leave this option disabled.
@@ -111,7 +111,7 @@ config CONFIG_FEATURE_SGI_LABEL
 config CONFIG_FEATURE_SUN_LABEL
        bool "  Support SUN disklabels"
        default n
-       depends on CONFIG_FDISK && CONFIG_FEATURE_FDISK_WRITABLE        
+       depends on CONFIG_FDISK && CONFIG_FEATURE_FDISK_WRITABLE
        help
          Enabling this option allows you to create or change SUN disklabels.
          Most people can safely leave this option disabled.
@@ -267,7 +267,7 @@ config CONFIG_RDATE
        bool "rdate"
        default n
        help
-         The rdate utility allows you to synchronize the date and time of your 
+         The rdate utility allows you to synchronize the date and time of your
          system clock with the date and time of a remote networked system using
          the RFC868 protocol, which is built into the inetd daemon on most
          systems.
index d2e496231057c19366b4bf473c4bdd9b6c2fd9dd..f2e2021f096db7075f75839e6a2f8809e3c8928f 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 8cd5f1bd04035e429f92eaf8790dee34c46f0712..f56d57464ed6980e6af54957d7afea118a32db9a 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 b7d17840f697dfff271094a18f796c04ab88a803..2ca882714cd4cde9ac5f3f31735f62804d7c8dac 100644 (file)
@@ -10,8 +10,8 @@
  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
  * - added Native Language Support
  *
- * from util-linux -- adapted for busybox by 
- * Erik Andersen <andersen@codepoet.org>. I ripped out Native Language 
+ * from util-linux -- adapted for busybox by
+ * Erik Andersen <andersen@codepoet.org>. I ripped out Native Language
  * Support, replaced getopt, added some gotos for redundant stuff.
  *
  * Audited and cleaned up on 7 March 2003 to reduce size of
index b5f57b1e4a569953008b99f7b7b2a15ddbd6ad4a..83bf309a357fda858a730c44cff671dc9f907509 100644 (file)
@@ -20,7 +20,7 @@
  *
  * This is a from-scratch implementation of fbset; but the de facto fbset
  * implementation was a good reference. fbset (original) is released under
- * the GPL, and is (c) 1995-1999 by: 
+ * the GPL, and is (c) 1995-1999 by:
  *     Geert Uytterhoeven (Geert.Uytterhoeven@cs.kuleuven.ac.be)
  */
 
@@ -89,8 +89,8 @@ static const int FBIOPUT_VSCREENINFO = 0x4601;
 struct fb_bitfield {
        uint32_t offset;                        /* beginning of bitfield        */
        uint32_t length;                        /* length of bitfield           */
-       uint32_t msb_right;             /* != 0 : Most significant bit is */ 
-                                       /* right */ 
+       uint32_t msb_right;             /* != 0 : Most significant bit is */
+                                       /* right */
 };
 struct fb_var_screeninfo {
        uint32_t xres;                  /* visible resolution           */
@@ -106,7 +106,7 @@ struct fb_var_screeninfo {
        struct fb_bitfield red;         /* bitfield in fb mem if true color, */
        struct fb_bitfield green;       /* else only length is significant */
        struct fb_bitfield blue;
-       struct fb_bitfield transp;      /* transparency                 */      
+       struct fb_bitfield transp;      /* transparency                 */
 
        uint32_t nonstd;                        /* != 0 Non standard pixel format */
 
@@ -210,13 +210,13 @@ static int readmode(struct fb_var_screeninfo *base, const char *fn,
                     if ((p = strstr(buf, "geometry "))) {
                         p += 9;
 
-                        sscanf(p, "%d %d %d %d %d", 
-                                &(base->xres), &(base->yres), 
-                                &(base->xres_virtual), &(base->yres_virtual), 
+                        sscanf(p, "%d %d %d %d %d",
+                                &(base->xres), &(base->yres),
+                                &(base->xres_virtual), &(base->yres_virtual),
                                 &(base->bits_per_pixel));
                     } else if ((p = strstr(buf, "timings "))) {
                         p += 8;
-                        
+    
                         sscanf(p, "%d %d %d %d %d %d %d",
                                 &(base->pixclock),
                                 &(base->left_margin), &(base->right_margin),
@@ -271,7 +271,7 @@ static int readmode(struct fb_var_screeninfo *base, const char *fn,
                             base->sync |= FB_SYNC_EXT;
                         }
                     }
-                    
+
                                        if (strstr(buf, "endmode"))
                                                return 1;
                                }
index 2374960df6233160fc4a25aa28add555e9f2d6b0..f35aeb9f3c3b592a0818cc0473bb0c09010adfc0 100644 (file)
@@ -52,7 +52,7 @@
 #define BLKSSZGET  _IO(0x12,104)   /* get block device sector size */
 
 /* Avoid conflicts with the 2.6 kernel headers, which define
- * _IOR rather differently */ 
+ * _IOR rather differently */
 #undef _IOR
 #define _IOR(type,nr,size)      _IOC(_IOC_READ,(type),(nr),sizeof(size))
 #define BLKGETSIZE64 _IOR(0x12,114,uint64_t)
@@ -4279,7 +4279,7 @@ read_int(uint low, uint dflt, uint high, uint base, char *mesg)
 
                       while (isdigit(*++line_ptr))
                               use_default = 0;
-           
+       
                       switch (*line_ptr) {
                               case 'c':
                               case 'C':
index 38267e61ee8e8a533b1f76c415e169b611972c45..e5061dc34bba6bff32b064ec4ff86616632285f3 100644 (file)
@@ -45,7 +45,7 @@ freeramdisk_main(int argc, char **argv)
        }
 
        fd = bb_xopen(argv[1], O_RDWR);
-       
+
        result = ioctl(fd, BLKFLSBUF);
 #ifdef CONFIG_FEATURE_CLEAN_UP
        close(fd);
index 4d07e028fea47f8d606f70b21c294853afbd7b2d..709a2a143007ed00ca8b344b5a3fe637972db9e2 100644 (file)
@@ -49,7 +49,7 @@
  * 01.07.96  - Fixed the v2 fs stuff to use the right #defines and such
  *            for modern libcs (janl@math.uio.no, Nicolai Langfeldt)
  *
- * 02.07.96  - Added C bit fiddling routines from rmk@ecs.soton.ac.uk 
+ * 02.07.96  - Added C bit fiddling routines from rmk@ecs.soton.ac.uk
  *             (Russell King).  He made them for ARM.  It would seem
  *            that the ARM is powerful enough to do this in C whereas
  *             i386 and m64k must use assembly to get it fast >:-)
@@ -57,7 +57,7 @@
  *            (janl@math.uio.no, Nicolai Langfeldt)
  *
  * 04.11.96  - Added minor fixes from Andreas Schwab to avoid compiler
- *             warnings.  Added mc68k bitops from 
+ *             warnings.  Added mc68k bitops from
  *            Joerg Dorchain <dorchain@mpi-sb.mpg.de>.
  *
  * 06.11.96  - Added v2 code submitted by Joerg Dorchain, but written by
@@ -83,7 +83,7 @@
  *     -f force filesystem check even if filesystem marked as valid
  *
  * The device may be a block device or a image of one, but this isn't
- * enforced (but it's not much fun on a character device :-). 
+ * enforced (but it's not much fun on a character device :-).
  */
 
 #include <stdio.h>
@@ -1312,7 +1312,7 @@ static void free_name_list(void)
 {
        int i;
 
-       if (name_list) { 
+       if (name_list) {
                for (i = 0; i < MAX_DEPTH; i++) {
                        free(name_list[i]);
                }
@@ -1396,7 +1396,7 @@ extern int fsck_minix_main(int argc, char **argv)
        /*
         * Determine whether or not we should continue with the checking.
         * This is based on the status of the filesystem valid and error
-        * flags and whether or not the -f switch was specified on the 
+        * flags and whether or not the -f switch was specified on the
         * command line.
         */
        printf("%s, %s\n", bb_applet_name, program_version);
index e089b1d81238d403b92070fadad3dbae2cfe9975..fae511f9c93c5ca9d1ee6b05fe9423fd47db202e 100644 (file)
@@ -46,7 +46,7 @@ struct linux_rtc_time {
        int tm_yday;
        int tm_isdst;
 };
-                                    
+                
 #define RTC_SET_TIME   _IOW('p', 0x0a, struct linux_rtc_time) /* Set RTC time    */
 #define RTC_RD_TIME    _IOR('p', 0x09, struct linux_rtc_time) /* Read RTC time   */
 
@@ -71,17 +71,17 @@ static time_t read_rtc(int utc)
        if ( ioctl ( rtc, RTC_RD_TIME, &tm ) < 0 )
                bb_perror_msg_and_die ( "Could not read time from RTC" );
        tm. tm_isdst = -1; // not known
-       
+
        close ( rtc );
 
-       if ( utc ) {    
+       if ( utc ) {
                oldtz = getenv ( "TZ" );
                setenv ( "TZ", "UTC 0", 1 );
                tzset ( );
        }
-       
+
        t = mktime ( &tm );
-       
+
        if ( utc ) {
                if ( oldtz )
                        setenv ( "TZ", oldtz, 1 );
@@ -101,13 +101,13 @@ static void write_rtc(time_t t, int utc)
                if (( rtc = open ( "/dev/misc/rtc", O_WRONLY )) < 0 )
                        bb_perror_msg_and_die ( "Could not access RTC" );
        }
-       
+
        tm = *( utc ? gmtime ( &t ) : localtime ( &t ));
        tm. tm_isdst = 0;
-       
+
        if ( ioctl ( rtc, RTC_SET_TIME, &tm ) < 0 )
                bb_perror_msg_and_die ( "Could not set the RTC time" );
-       
+
        close ( rtc );
 }
 
@@ -117,16 +117,16 @@ static int show_clock(int utc)
        time_t t;
        char buffer [64];
 
-       t = read_rtc ( utc );           
+       t = read_rtc ( utc );
        ptm = localtime ( &t );  /* Sets 'tzname[]' */
-       
+
        safe_strncpy ( buffer, ctime ( &t ), sizeof( buffer ));
        if ( buffer [0] )
                buffer [bb_strlen ( buffer ) - 1] = 0;
-       
+
        //printf ( "%s  %.6f seconds %s\n", buffer, 0.0, utc ? "" : ( ptm-> tm_isdst ? tzname [1] : tzname [0] ));
        printf ( "%s  %.6f seconds\n", buffer, 0.0 );
-       
+
        return 0;
 }
 
@@ -134,7 +134,7 @@ static int to_sys_clock(int utc)
 {
        struct timeval tv = { 0, 0 };
        const struct timezone tz = { timezone/60 - 60*daylight, 0 };
-       
+
        tv. tv_sec = read_rtc ( utc );
 
        if ( settimeofday ( &tv, &tz ))
@@ -160,18 +160,18 @@ static int check_utc(void)
 {
        int utc = 0;
        FILE *f = fopen ( "/var/lib/hwclock/adjtime", "r" );
-       
+
        if ( f ) {
                char buffer [128];
-       
+
                while ( fgets ( buffer, sizeof( buffer ), f )) {
                        int len = bb_strlen ( buffer );
-                       
+
                        while ( len && isspace ( buffer [len - 1] ))
                                len--;
-                               
+
                        buffer [len] = 0;
-               
+
                        if ( strncmp ( buffer, "UTC", 3 ) == 0 ) {
                                utc = 1;
                                break;
@@ -224,6 +224,6 @@ static const struct option hwclock_long_options[] = {
                return from_sys_clock ( utc );
        } else {
                /* default HWCLOCK_OPT_SHOW */
-               return show_clock ( utc );      
+               return show_clock ( utc );
        }
 }
index 0f72b3592953c4fa9f5479be6dbfd428944536aa..3c140ef2a6158009fcf1a30b2d1b15c36c8c695a 100644 (file)
@@ -35,7 +35,7 @@
  *
  * 30.10.94 - added support for v2 filesystem
  *           (Andreas Schwab, schwab@issan.informatik.uni-dortmund.de)
- * 
+ *
  * 09.11.94  - Added test to prevent overwrite of mounted fs adapted
  *             from Theodore Ts'o's (tytso@athena.mit.edu) mke2fs
  *             program.  (Daniel Quinlan, quinlan@yggdrasil.com)
@@ -56,7 +56,7 @@
  *     -v for v2 filesystem
  *
  * The device may be a block device or a image of one, but this isn't
- * enforced (but it's not much fun on a character device :-). 
+ * enforced (but it's not much fun on a character device :-).
  *
  * Modified for BusyBox by Erik Andersen <andersen@debian.org> --
  *     removed getopt based parser and added a hand rolled one.
@@ -702,7 +702,7 @@ extern int mkfs_minix_main(int argc, char **argv)
        if (INODE_SIZE2 * MINIX2_INODES_PER_BLOCK != BLOCK_SIZE)
                bb_error_msg_and_die("bad inode size");
 #endif
-       
+
        /* Parse options */
        argv++;
        while (--argc >= 0 && *argv && **argv) {
@@ -755,7 +755,7 @@ extern int mkfs_minix_main(int argc, char **argv)
                                                                magic = MINIX_SUPER_MAGIC;
                                                        else if (i == 30)
                                                                magic = MINIX_SUPER_MAGIC2;
-                                                       else 
+                                                       else
                                                                bb_show_usage();
                                                        namelen = i;
                                                        dirsize = i + 2;
index e3a1d86563c3c6849e376cc0dde795d2b383dd3f..d7b7ce22f13306973d5d7f88de1e704431c5f719 100644 (file)
@@ -3,10 +3,10 @@
  * Mini more implementation for busybox
  *
  * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
+ * Copyright (C) 1999-2004 by Erik Andersen <andersen@codepoet.org>
  *
  * Latest version blended together by Erik Andersen <andersen@codepoet.org>,
- * based on the original more implementation by Bruce, and code from the 
+ * based on the original more implementation by Bruce, and code from the
  * Debian boot-floppies team.
  *
  * Termios corrects by Vladimir Oleynik <dzo@simtreas.ru>
@@ -101,7 +101,7 @@ extern int more_main(int argc, char **argv)
                        file = bb_wfopen(*argv, "r");
                if(file==0)
                        goto loop;
-                       
+
                st.st_size = 0;
                fstat(fileno(file), &st);
 
@@ -158,7 +158,7 @@ extern int more_main(int argc, char **argv)
                                        goto end;
                        }
 
-                       /* 
+                       /*
                         * There are two input streams to worry about here:
                         *
                         * c     : the character we are reading from the file being "mored"
index 8a1f4a11a73a39fbcdb72bdcf105de662fc98af4..098e636636f9f7ee4375d7ed99e4b58771f28825 100644 (file)
@@ -3,7 +3,7 @@
  * Mini mount implementation for busybox
  *
  * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
- * 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
@@ -27,8 +27,8 @@
  *
  * 1999-10-07  Erik Andersen <andersen@codepoet.org>.
  *              Rewrite of a lot of code. Removed mtab usage (I plan on
- *              putting it back as a compile-time option some time), 
- *              major adjustments to option parsing, and some serious 
+ *              putting it back as a compile-time option some time),
+ *              major adjustments to option parsing, and some serious
  *              dieting all around.
  *
  * 1999-11-06  mtab suppport is back - andersee
@@ -40,8 +40,8 @@
  *             Rewrote fstab while loop and lower mount section. Can now do
  *             single mounts from fstab. Can override fstab options for single
  *             mount. Common mount_one call for single mounts and 'all'. Fixed
- *             mtab updating and stale entries. Removed 'remount' default. 
- *     
+ *             mtab updating and stale entries. Removed 'remount' default.
+ *
  */
 
 #include <limits.h>
@@ -289,7 +289,7 @@ static int mount_one(char *blockDevice, char *directory, char *filesystemType,
                }
 
                if (read_proc && !status) {
-                       
+
                        f = bb_xfopen("/proc/filesystems", "r");
 
                        while (fgets(buf, sizeof(buf), f) != NULL) {
index 4241f79f576ddf7fa818fe02daeafb7685a9af73..34f23f5aab0dedebb29372ff2e2080d304f00238 100644 (file)
@@ -24,7 +24,7 @@
  *
  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
  * - added Native Language Support
- * 
+ *
  * Modified by Olaf Kirch and Trond Myklebust for new NFS code,
  * plus NFSv3 stuff.
  */
@@ -95,7 +95,7 @@ enum nfs_stat {
        NFSERR_BADTYPE = 10007,         /*    v3 */
        NFSERR_JUKEBOX = 10008          /*    v3 */
 };
+
 #define NFS_PROGRAM    100003
 
 
@@ -445,7 +445,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
 
        for (opt = strtok(old_opts, ","); opt; opt = strtok(NULL, ",")) {
                if ((opteq = strchr(opt, '='))) {
-                       val = atoi(opteq + 1);  
+                       val = atoi(opteq + 1);
                        *opteq = '\0';
                        if (!strcmp(opt, "rsize"))
                                data.rsize = val;
@@ -515,9 +515,9 @@ int nfsmount(const char *spec, const char *node, int *flags,
                                val = 0;
                                opt += 2;
                        }
-                       if (!strcmp(opt, "bg")) 
+                       if (!strcmp(opt, "bg"))
                                bg = val;
-                       else if (!strcmp(opt, "fg")) 
+                       else if (!strcmp(opt, "fg"))
                                bg = !val;
                        else if (!strcmp(opt, "soft"))
                                soft = val;
@@ -872,7 +872,7 @@ fail:
        if (fsock != -1)
                close(fsock);
        return retval;
-}      
+}
 
 /*
  * We need to translate between nfs status return values and
index 39453a261605338e789feefbce290412a4419445..85e180c4631cc67c3d1c3d2012ef5e5d50c85ad7 100644 (file)
@@ -4,7 +4,7 @@
  *
  * busyboxed by Evin Robertson
  * pivot_root syscall stubbed by Erik Andersen, so it will compile
- *     regardless of the kernel being used. 
+ *     regardless of the kernel being used.
  */
 #include <stdlib.h>
 #include <stdio.h>
index 9da70756ee51ba54007381e0937c9c0691df1e5d..7c7031bcee79424fbac0edf0be42d9f8cc21ef9e 100644 (file)
@@ -2,8 +2,7 @@
 /*
  * Mini swapon/swapoff implementation for busybox
  *
- * Copyright (C) 1999-2003 by Erik Andersen <andersen@codepoet.org>
- * 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 5df597028649e7aa48eecf69e98be0d799393bfa..37a8f061e8e4ef213a7957fba991078411d13f46 100644 (file)
@@ -2,7 +2,7 @@
 /*
  * Mini umount 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
@@ -28,7 +28,7 @@
 #include <stdlib.h>
 #include "busybox.h"
 
-/* Teach libc5 about realpath -- it includes it but the 
+/* Teach libc5 about realpath -- it includes it but the
  * prototype is missing... */
 #if (__GLIBC__ <= 2) && (__GLIBC_MINOR__ < 1)
 extern char *realpath(const char *path, char *resolved_path);
@@ -148,7 +148,7 @@ static char *mtab_first(void **iter)
        return mtab_next(iter);
 }
 
-/* Don't bother to clean up, since exit() does that 
+/* Don't bother to clean up, since exit() does that
  * automagically, so we can save a few bytes */
 #ifdef CONFIG_FEATURE_CLEAN_UP
 static void mtab_free(void)