From c49960189a04b73e033016bd0f43fbb950f800e1 Mon Sep 17 00:00:00 2001
From: Eric Andersen <andersen@codepoet.org>
Date: Wed, 20 Oct 1999 22:08:37 +0000
Subject: Fixed up copyright notices and such

---
 Changelog                |   8 +-
 LICENSE                  |   5 +-
 Makefile                 |  19 +++-
 README                   |  13 +--
 applets/busybox.mkll     |   2 +-
 archival/tar.c           |  22 ++++-
 busybox.def.h            |  12 +--
 busybox.mkll             |   2 +-
 cat.c                    |   2 +-
 chmod_chown_chgrp.c      |   6 +-
 chroot.c                 |   4 +-
 clear.c                  |   4 +-
 console-tools/clear.c    |   4 +-
 console-tools/loadkmap.c |  21 +++++
 coreutils/cat.c          |   2 +-
 coreutils/chroot.c       |   4 +-
 coreutils/cp.c           |   4 +-
 coreutils/date.c         |   2 +-
 coreutils/dd.c           |  47 +++++++---
 coreutils/df.c           | 225 +++++++++++++++++++++++++----------------------
 coreutils/ln.c           |   4 +-
 coreutils/mkdir.c        |   4 +-
 coreutils/mknod.c        |  21 +++++
 coreutils/mv.c           |   4 +-
 coreutils/pwd.c          |  24 ++++-
 coreutils/rm.c           |   4 +-
 coreutils/rmdir.c        |   4 +-
 coreutils/sleep.c        |  22 +++++
 coreutils/sync.c         |  22 +++++
 coreutils/touch.c        |   4 +-
 cp.c                     |   4 +-
 date.c                   |   2 +-
 dd.c                     |  47 +++++++---
 df.c                     | 225 +++++++++++++++++++++++++----------------------
 fdflush.c                |   4 +-
 find.c                   |   4 +-
 findutils/find.c         |   4 +-
 findutils/grep.c         |   4 +-
 grep.c                   |   4 +-
 halt.c                   |  22 +++++
 init.c                   |  23 +++++
 init/halt.c              |  22 +++++
 init/init.c              |  23 +++++
 init/reboot.c            |  22 +++++
 internal.h               |   3 +-
 kill.c                   |  22 +++++
 ln.c                     |   4 +-
 loadkmap.c               |  21 +++++
 miscutils/update.c       |  22 +++++
 mkdir.c                  |   4 +-
 mknod.c                  |  21 +++++
 more.c                   |   6 +-
 mount.c                  |  10 ++-
 mv.c                     |   4 +-
 procps/kill.c            |  22 +++++
 procps/ps.c              |   4 +-
 ps.c                     |   4 +-
 pwd.c                    |  24 ++++-
 reboot.c                 |  22 +++++
 rm.c                     |   4 +-
 rmdir.c                  |   4 +-
 sleep.c                  |  22 +++++
 swaponoff.c              |   4 +-
 sync.c                   |  22 +++++
 tar.c                    |  22 ++++-
 touch.c                  |   4 +-
 true_false.c             |   4 +-
 umount.c                 |   4 +-
 update.c                 |  22 +++++
 util-linux/fdflush.c     |   4 +-
 util-linux/more.c        |   6 +-
 util-linux/mount.c       |  10 ++-
 util-linux/swaponoff.c   |   4 +-
 util-linux/umount.c      |   4 +-
 utility.c                |   5 +-
 75 files changed, 947 insertions(+), 322 deletions(-)

diff --git a/Changelog b/Changelog
index 74ed06d85..951aee57f 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,9 @@
+0.30
+	Major changes -- lots of stuff rewritten. Many thanks to Lineo for
+	paying me to make these updates. If you have any problems with busybox, 
+	or notice any bugs -- please let me know so I can fix it. 
+	 -Erik Andersen
+	
 0.28	
 	mini-netcat (mnc) rewritten.
 	
@@ -8,4 +14,4 @@
 	Printf added as module.
 0.26
 	Touch now creates files. -c option for no create.
-	
\ No newline at end of file
+	
diff --git a/LICENSE b/LICENSE
index e8f4a0930..fcbeb8a2c 100644
--- a/LICENSE
+++ b/LICENSE
@@ -18,7 +18,10 @@ mini-gzip(gzip), mini-netcat(mnc)
 Copyright 1998 Charles P. Wright <cpwright@villagenet.com>
 
 
-Please see the top of the source files for more precise indivigual 
+bunches of stuff as noted in header files
+Copyright (C) 1999 by Lineo, inc. and written by 
+Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+
 copyright and license info.
 
 This program suite may be distributed under the GNU General Public License.
diff --git a/Makefile b/Makefile
index ee3930880..912c439aa 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,23 @@
+# Makefile for busybox
+#
+# 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 GNU
+# General Public License for more details.
+#
+# 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
+#
+
 
 PROG=busybox
-VERSION=0.29alpha1
+VERSION=0.30
 BUILDTIME=$(shell date "+%Y%m%d-%H%M")
 
 # Comment out the following to make a debuggable build
diff --git a/README b/README
index 86175ee93..f4d642f15 100644
--- a/README
+++ b/README
@@ -3,9 +3,10 @@ Please see the LICENSE file for copyright information.
 Busybox is a multicall binary used to provide a minimal subset of 
 POSIX style commands and specialized functions.
 
-It is geared toward 'mini-systems' like boot floppies. Specifically
-it is used in the Debian Rescue/Install system (which caused the 
-original busybox to be made), the Linux Router Project, and others.
+It is geared toward the very small, i.e. boot floppies, embedded-
+systems, etc. Specifically it is used in the Debian Rescue/Install
+system (which caused the original busybox to be made), the Linux Router
+Project, and others.
 
 As of version 0.20 there is a version number. : )
 Also as of version 0.20, BB is modularized to allow an easy build of
@@ -23,9 +24,3 @@ to figure out by trial and error.
 
 Please feed patches back to:
 	Erik Andersen <andersee@deban.org>
-and
-	Bruce Perens <bruce@perens.com>
-and
-	Dave Cinege <dcinege@psychosis.com>
-and:
-	Enrique Zanardi <ezanardi@ull.es>
diff --git a/applets/busybox.mkll b/applets/busybox.mkll
index f79462b7f..facb6e8ac 100755
--- a/applets/busybox.mkll
+++ b/applets/busybox.mkll
@@ -7,7 +7,7 @@ MF="busybox.c"
 LIST="$(sed -n '/^#define/{s/^#define //p;}' $DF)"
 
 for def in ${LIST}; do
-	i=`sed -n 's/^#ifdef '$def'.*\/\/\(.*$\)/\/\1\//gp' $MF`
+	i=`sed -n 's/^#ifdef \<'$def'\>.*\/\/\(.*$\)/\/\1\//gp' $MF`
 	j=`sed -n '/^#ifdef '$def'.*/,/^#endif/{ s/.*\"\(.*\)\".*/\1/gp; }' $MF`
 	for k in $j; do
 	    echo $i$k
diff --git a/archival/tar.c b/archival/tar.c
index b404ab025..c7ef3851c 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -1,13 +1,29 @@
 /*
+ * Mini tar implementation for busybox based on code taken from sash.
+ *
  * Copyright (c) 1999 by David I. Bell
  * Permission is granted to use, distribute, or modify this source,
  * provided that this copyright notice remains intact.
  *
- * The "tar" command, taken from sash.
- * This allows creation, extraction, and listing of tar files.
- *
  * Permission to distribute this code under the GPL has been granted.
+ *
  * Modified for busybox by Erik Andersen <andersee@debian.org>
+ * Adjusted to grok stdin/stdout options.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
  */
 
 
diff --git a/busybox.def.h b/busybox.def.h
index 09379965c..692f24e49 100644
--- a/busybox.def.h
+++ b/busybox.def.h
@@ -14,12 +14,12 @@
 #define BB_DF
 #define BB_DMESG
 //#define BB_DUTMP
-#define BB_FDFLUSH
+//#define BB_FDFLUSH
 #define BB_FIND
-#define BB_FSCK_MINIX
-#define BB_MKFS_MINIX
+//#define BB_FSCK_MINIX
+//#define BB_MKFS_MINIX
 #define BB_GREP
-#define BB_HALT
+//#define BB_HALT
 #define BB_INIT
 #define BB_KILL
 //#define BB_LENGTH
@@ -35,7 +35,7 @@
 //#define BB_MNC
 #define BB_MORE
 #define BB_MOUNT
-#define BB_MT
+//#define BB_MT
 #define BB_MV
 //#define BB_PRINTF
 #define BB_PS
@@ -43,7 +43,7 @@
 #define BB_REBOOT
 #define BB_RM
 #define BB_RMDIR
-#define BB_SFDISK
+//#define BB_SFDISK
 #define BB_SLEEP
 #define BB_SWAPONOFF
 #define BB_SYNC
diff --git a/busybox.mkll b/busybox.mkll
index f79462b7f..facb6e8ac 100755
--- a/busybox.mkll
+++ b/busybox.mkll
@@ -7,7 +7,7 @@ MF="busybox.c"
 LIST="$(sed -n '/^#define/{s/^#define //p;}' $DF)"
 
 for def in ${LIST}; do
-	i=`sed -n 's/^#ifdef '$def'.*\/\/\(.*$\)/\/\1\//gp' $MF`
+	i=`sed -n 's/^#ifdef \<'$def'\>.*\/\/\(.*$\)/\/\1\//gp' $MF`
 	j=`sed -n '/^#ifdef '$def'.*/,/^#endif/{ s/.*\"\(.*\)\".*/\1/gp; }' $MF`
 	for k in $j; do
 	    echo $i$k
diff --git a/cat.c b/cat.c
index da91d1db9..1f4ef4af8 100644
--- a/cat.c
+++ b/cat.c
@@ -2,7 +2,7 @@
  * Mini Cat implementation for busybox
  *
  * Copyright (C) 1999 by Lineo, inc.
- * Written by Erik Andersen <andersee@lineo.com>, <andersee@debian.org>
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/chmod_chown_chgrp.c b/chmod_chown_chgrp.c
index 85ba247b8..8bda06861 100644
--- a/chmod_chown_chgrp.c
+++ b/chmod_chown_chgrp.c
@@ -1,7 +1,9 @@
 /*
  * Mini chown/chmod/chgrp implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
@@ -107,7 +109,7 @@ int chmod_chown_chgrp_main(int argc, char **argv)
     } else {
 
 	/* Find the selected group */
-	if ( whichApp==CHGRP_APP && groupName ) {
+	if ( whichApp==CHGRP_APP ) {
 	    groupName = *argv;
 	    gid = my_getgrnam(groupName);
 	    if (gid == -1)
diff --git a/chroot.c b/chroot.c
index 15f446881..8e432b36c 100644
--- a/chroot.c
+++ b/chroot.c
@@ -1,7 +1,9 @@
 /*
  * Mini chroot implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/clear.c b/clear.c
index bc813064e..67a3af983 100644
--- a/clear.c
+++ b/clear.c
@@ -1,7 +1,9 @@
 /*
  * Mini clear implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/console-tools/clear.c b/console-tools/clear.c
index bc813064e..67a3af983 100644
--- a/console-tools/clear.c
+++ b/console-tools/clear.c
@@ -1,7 +1,9 @@
 /*
  * Mini clear implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/console-tools/loadkmap.c b/console-tools/loadkmap.c
index 27865d58e..a228ca460 100644
--- a/console-tools/loadkmap.c
+++ b/console-tools/loadkmap.c
@@ -1,3 +1,24 @@
+/*
+ * Mini loadkmap implementation for busybox
+ *
+ * Copyright (C) 1998 Enrique Zanardi <ezanardi@ull.es>
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <errno.h>
 #include <fcntl.h>
diff --git a/coreutils/cat.c b/coreutils/cat.c
index da91d1db9..1f4ef4af8 100644
--- a/coreutils/cat.c
+++ b/coreutils/cat.c
@@ -2,7 +2,7 @@
  * Mini Cat implementation for busybox
  *
  * Copyright (C) 1999 by Lineo, inc.
- * Written by Erik Andersen <andersee@lineo.com>, <andersee@debian.org>
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/chroot.c b/coreutils/chroot.c
index 15f446881..8e432b36c 100644
--- a/coreutils/chroot.c
+++ b/coreutils/chroot.c
@@ -1,7 +1,9 @@
 /*
  * Mini chroot implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/cp.c b/coreutils/cp.c
index 34c12922d..9dac2afbc 100644
--- a/coreutils/cp.c
+++ b/coreutils/cp.c
@@ -1,7 +1,9 @@
 /*
  * Mini cp implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/date.c b/coreutils/date.c
index 51194848b..501ccc28f 100644
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -1,7 +1,7 @@
 /*
  * Mini date implementation for busybox
  *
- * Copyright (C) 1999 by Erik Andersen <andersee@debian.org>
+ * by Matthew Grant <grantma@anathoth.gen.nz>
  *
  * 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
diff --git a/coreutils/dd.c b/coreutils/dd.c
index 1cf731664..33c45940e 100644
--- a/coreutils/dd.c
+++ b/coreutils/dd.c
@@ -1,30 +1,48 @@
 /*
+ * Mini dd implementation for busybox
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+ * based in part on code taken from sash. 
+ *
  * Copyright (c) 1999 by David I. Bell
  * Permission is granted to use, distribute, or modify this source,
  * provided that this copyright notice remains intact.
  *
- * The "dd" command, originally taken from sash.
- *
  * Permission to distribute this code under the GPL has been granted.
- * Mostly rewritten and bugs fixed for busybox by Erik Andersen <andersee@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
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
  */
 
+
 #include "internal.h"
 #include <stdio.h>
 #include <fcntl.h>
 #include <errno.h>
 
 static const char dd_usage[] =
-    "Copy a file, converting and formatting according to options\n\
-\n\
-usage: [if=name] [of=name] [bs=n] [count=n]\n\
-\tif=FILE\tread from FILE instead of stdin\n\
-\tof=FILE\twrite to FILE instead of stout\n\
-\tbs=n\tread and write N BYTES at a time\n\
-\tcount=n\tcopy only n input blocks\n\
-\tskip=n\tskip n input blocks\n\
-\n\
-BYTES may be suffixed: by k for x1024, b for x512, and w for x2.\n";
+"dd [if=name] [of=name] [bs=n] [count=n]\n"
+"Copy a file, converting and formatting according to options\n\n"
+"\tif=FILE\tread from FILE instead of stdin\n"
+"\tof=FILE\twrite to FILE instead of stout\n"
+"\tbs=n\tread and write N BYTES at a time\n"
+"\tcount=n\tcopy only n input blocks\n"
+//"\tskip=n\tskip n input blocks\n"
+"\n"
+"BYTES may be suffixed: by k for x1024, b for x512, and w for x2.\n";
 
 
 
@@ -118,6 +136,7 @@ extern int dd_main (int argc, char **argv)
 		goto usage;
 	    }
 	}
+#if 0
 	else if (strncmp(*argv, "skip", 4) == 0) {
 	    skipBlocks = atoi( *argv); 
 	    if (skipBlocks <= 0) {
@@ -126,8 +145,8 @@ extern int dd_main (int argc, char **argv)
 	    }
 
 	}
+#endif
 	else {
-	    fprintf (stderr, "Got here. argv=%s\n", *argv);
 	    goto usage;
 	}
 	argc--;
diff --git a/coreutils/df.c b/coreutils/df.c
index 7a72bf8fd..f8a953f7d 100644
--- a/coreutils/df.c
+++ b/coreutils/df.c
@@ -1,3 +1,26 @@
+/*
+ * Mini df implementation for busybox
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.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
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <mntent.h>
@@ -5,42 +28,38 @@
 #include <sys/vfs.h>
 #include <fstab.h>
 
-static const char	df_usage[] = "df [filesystem ...]\n"
-"\n"
-"\tPrint the filesystem space used and space available.\n";
+static const char df_usage[] = "df [filesystem ...]\n"
+    "\n" "\tPrint the filesystem space used and space available.\n";
 
 
-static int
-df(char* device, const char * mountPoint)
+static int df(char *device, const char *mountPoint)
 {
-	struct statfs	s;
-	long		blocks_used;
-	long		blocks_percent_used;
-
-	if ( statfs(mountPoint, &s) != 0 ) {
-		perror(mountPoint);
-		return 1;
-	}
-	
-	if ( s.f_blocks > 0 ) {
-		blocks_used = s.f_blocks - s.f_bfree;
-		blocks_percent_used = (long)
-		 (blocks_used * 100.0 / (blocks_used + s.f_bavail) + 0.5);
-		if ( strcmp(device, "/dev/root")==0)
-		    device=(getfsfile ("/"))->fs_spec;
-
-		printf(
-		       "%-20s %9ld %9ld %9ld %3ld%% %s\n",
-		       device,
-		       (long)(s.f_blocks * (s.f_bsize / 1024.0)),
-		       (long)((s.f_blocks - s.f_bfree)  * (s.f_bsize / 1024.0)),
-		       (long)(s.f_bavail * (s.f_bsize / 1024.0)),
-		       blocks_percent_used,
-		       mountPoint);
-
-	}
-
-	return 0;
+    struct statfs s;
+    long blocks_used;
+    long blocks_percent_used;
+
+    if (statfs(mountPoint, &s) != 0) {
+	perror(mountPoint);
+	return 1;
+    }
+
+    if (s.f_blocks > 0) {
+	blocks_used = s.f_blocks - s.f_bfree;
+	blocks_percent_used = (long)
+	    (blocks_used * 100.0 / (blocks_used + s.f_bavail) + 0.5);
+	if (strcmp(device, "/dev/root") == 0)
+	    device = (getfsfile("/"))->fs_spec;
+
+	printf("%-20s %9ld %9ld %9ld %3ld%% %s\n",
+	       device,
+	       (long) (s.f_blocks * (s.f_bsize / 1024.0)),
+	       (long) ((s.f_blocks - s.f_bfree) * (s.f_bsize / 1024.0)),
+	       (long) (s.f_bavail * (s.f_bsize / 1024.0)),
+	       blocks_percent_used, mountPoint);
+
+    }
+
+    return 0;
 }
 
 /*
@@ -50,87 +69,79 @@ df(char* device, const char * mountPoint)
  * Given any other file (or directory), find the mount table entry for its
  * filesystem.
  */
-extern struct mntent *
-findMountPoint(const char* name, const char* table)
+extern struct mntent *findMountPoint(const char *name, const char *table)
 {
-	struct stat	s;
-	dev_t			mountDevice;
-	FILE *			mountTable;
-	struct mntent *	mountEntry;
-
-	if ( stat(name, &s) != 0 )
-		return 0;
-
-	if ( (s.st_mode & S_IFMT) == S_IFBLK )
-		mountDevice = s.st_rdev;
-	else
-		mountDevice = s.st_dev;
-
-	
-	if ( (mountTable = setmntent(table, "r")) == 0 )
-		return 0;
-
-	while ( (mountEntry = getmntent(mountTable)) != 0 ) {
-		if ( strcmp(name, mountEntry->mnt_dir) == 0
-		 || strcmp(name, mountEntry->mnt_fsname) == 0 )	/* String match. */
-			break;
-		if ( stat(mountEntry->mnt_fsname, &s) == 0
-		 && s.st_rdev == mountDevice )	/* Match the device. */
-				break;
-		if ( stat(mountEntry->mnt_dir, &s) == 0
-		 && s.st_dev == mountDevice )	/* Match the directory's mount point. */
-			break;
-	}
-	endmntent(mountTable);
-	return mountEntry;
+    struct stat s;
+    dev_t mountDevice;
+    FILE *mountTable;
+    struct mntent *mountEntry;
+
+    if (stat(name, &s) != 0)
+	return 0;
+
+    if ((s.st_mode & S_IFMT) == S_IFBLK)
+	mountDevice = s.st_rdev;
+    else
+	mountDevice = s.st_dev;
+
+
+    if ((mountTable = setmntent(table, "r")) == 0)
+	return 0;
+
+    while ((mountEntry = getmntent(mountTable)) != 0) {
+	if (strcmp(name, mountEntry->mnt_dir) == 0
+	    || strcmp(name, mountEntry->mnt_fsname) == 0)	/* String match. */
+	    break;
+	if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice)	/* Match the device. */
+	    break;
+	if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice)	/* Match the directory's mount point. */
+	    break;
+    }
+    endmntent(mountTable);
+    return mountEntry;
 }
 
 
 
-extern int
-df_main(int argc, char * * argv)
+extern int df_main(int argc, char **argv)
 {
-	printf("%-20s %-14s %s %s %s %s\n", "Filesystem",
-		"1k-blocks", "Used", "Available", "Use%", "Mounted on");
-
-	if ( argc > 1 ) {
-		struct mntent*	mountEntry;
-		int		status;
-
-		while ( argc > 1 ) {
-			if ( (mountEntry = findMountPoint(argv[1], "/proc/mounts")) == 0 )
-			{
-				fprintf(stderr, "%s: can't find mount point.\n" ,argv[1]);
-				return 1;
-			}
-			status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
-			if ( status != 0 )
-				return status;
-			argc--;
-			argv++;
-		}
-		return 0;
-	}
-	else {
-		FILE *		mountTable;
-		struct mntent *	mountEntry;
-
-		mountTable = setmntent("/proc/mounts", "r");
-		if ( mountTable == 0) {
-			perror("/proc/mounts");
-			exit( FALSE);
-		}
-
-		while ( (mountEntry = getmntent (mountTable))) {
-			int status=df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
-			if (status)
-				return status;
-		}
-		endmntent(mountTable);
+    printf("%-20s %-14s %s %s %s %s\n", "Filesystem",
+	   "1k-blocks", "Used", "Available", "Use%", "Mounted on");
+
+    if (argc > 1) {
+	struct mntent *mountEntry;
+	int status;
+
+	while (argc > 1) {
+	    if ((mountEntry = findMountPoint(argv[1], "/proc/mounts")) ==
+		0) {
+		fprintf(stderr, "%s: can't find mount point.\n", argv[1]);
+		return 1;
+	    }
+	    status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
+	    if (status != 0)
+		return status;
+	    argc--;
+	    argv++;
 	}
-	
 	return 0;
-}
-
+    } else {
+	FILE *mountTable;
+	struct mntent *mountEntry;
+
+	mountTable = setmntent("/proc/mounts", "r");
+	if (mountTable == 0) {
+	    perror("/proc/mounts");
+	    exit(FALSE);
+	}
 
+	while ((mountEntry = getmntent(mountTable))) {
+	    int status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
+	    if (status)
+		return status;
+	}
+	endmntent(mountTable);
+    }
 
+    return 0;
+}
diff --git a/coreutils/ln.c b/coreutils/ln.c
index 8f7719fa4..1e30e2b29 100644
--- a/coreutils/ln.c
+++ b/coreutils/ln.c
@@ -1,7 +1,9 @@
 /*
  * Mini ln implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/mkdir.c b/coreutils/mkdir.c
index cf65f272f..98c8d8f08 100644
--- a/coreutils/mkdir.c
+++ b/coreutils/mkdir.c
@@ -1,7 +1,9 @@
 /*
  * Mini mkdir implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/mknod.c b/coreutils/mknod.c
index ea2331fa3..81c846b98 100644
--- a/coreutils/mknod.c
+++ b/coreutils/mknod.c
@@ -1,3 +1,24 @@
+/*
+ * Mini mknod implementation for busybox
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <errno.h>
diff --git a/coreutils/mv.c b/coreutils/mv.c
index ab3fc2bd5..e502250ec 100644
--- a/coreutils/mv.c
+++ b/coreutils/mv.c
@@ -1,7 +1,9 @@
 /*
  * Mini mv implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/pwd.c b/coreutils/pwd.c
index 2ad019d50..c5ce6ff89 100644
--- a/coreutils/pwd.c
+++ b/coreutils/pwd.c
@@ -1,9 +1,29 @@
+/*
+ * Mini pwd implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <dirent.h>
 
-const char	pwd_usage[] = "Print the current directory.\n";
-
 extern int
 pwd_main(int argc, char * * argv)
 {
diff --git a/coreutils/rm.c b/coreutils/rm.c
index dd8dfa4e6..f49ada5e1 100644
--- a/coreutils/rm.c
+++ b/coreutils/rm.c
@@ -1,7 +1,9 @@
 /*
  * Mini rm implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/rmdir.c b/coreutils/rmdir.c
index 666e0476a..56b838736 100644
--- a/coreutils/rmdir.c
+++ b/coreutils/rmdir.c
@@ -1,7 +1,9 @@
 /*
  * Mini rmdir implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/coreutils/sleep.c b/coreutils/sleep.c
index 7e38a3667..826697824 100644
--- a/coreutils/sleep.c
+++ b/coreutils/sleep.c
@@ -1,3 +1,25 @@
+/*
+ * Mini sleep implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 
diff --git a/coreutils/sync.c b/coreutils/sync.c
index 8800f2e76..b9f52c8b0 100644
--- a/coreutils/sync.c
+++ b/coreutils/sync.c
@@ -1,3 +1,25 @@
+/*
+ * Mini sync implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 
diff --git a/coreutils/touch.c b/coreutils/touch.c
index d882a6319..b98a2e4c8 100644
--- a/coreutils/touch.c
+++ b/coreutils/touch.c
@@ -1,7 +1,9 @@
 /*
  * Mini touch implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/cp.c b/cp.c
index 34c12922d..9dac2afbc 100644
--- a/cp.c
+++ b/cp.c
@@ -1,7 +1,9 @@
 /*
  * Mini cp implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/date.c b/date.c
index 51194848b..501ccc28f 100644
--- a/date.c
+++ b/date.c
@@ -1,7 +1,7 @@
 /*
  * Mini date implementation for busybox
  *
- * Copyright (C) 1999 by Erik Andersen <andersee@debian.org>
+ * by Matthew Grant <grantma@anathoth.gen.nz>
  *
  * 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
diff --git a/dd.c b/dd.c
index 1cf731664..33c45940e 100644
--- a/dd.c
+++ b/dd.c
@@ -1,30 +1,48 @@
 /*
+ * Mini dd implementation for busybox
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+ * based in part on code taken from sash. 
+ *
  * Copyright (c) 1999 by David I. Bell
  * Permission is granted to use, distribute, or modify this source,
  * provided that this copyright notice remains intact.
  *
- * The "dd" command, originally taken from sash.
- *
  * Permission to distribute this code under the GPL has been granted.
- * Mostly rewritten and bugs fixed for busybox by Erik Andersen <andersee@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
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
  */
 
+
 #include "internal.h"
 #include <stdio.h>
 #include <fcntl.h>
 #include <errno.h>
 
 static const char dd_usage[] =
-    "Copy a file, converting and formatting according to options\n\
-\n\
-usage: [if=name] [of=name] [bs=n] [count=n]\n\
-\tif=FILE\tread from FILE instead of stdin\n\
-\tof=FILE\twrite to FILE instead of stout\n\
-\tbs=n\tread and write N BYTES at a time\n\
-\tcount=n\tcopy only n input blocks\n\
-\tskip=n\tskip n input blocks\n\
-\n\
-BYTES may be suffixed: by k for x1024, b for x512, and w for x2.\n";
+"dd [if=name] [of=name] [bs=n] [count=n]\n"
+"Copy a file, converting and formatting according to options\n\n"
+"\tif=FILE\tread from FILE instead of stdin\n"
+"\tof=FILE\twrite to FILE instead of stout\n"
+"\tbs=n\tread and write N BYTES at a time\n"
+"\tcount=n\tcopy only n input blocks\n"
+//"\tskip=n\tskip n input blocks\n"
+"\n"
+"BYTES may be suffixed: by k for x1024, b for x512, and w for x2.\n";
 
 
 
@@ -118,6 +136,7 @@ extern int dd_main (int argc, char **argv)
 		goto usage;
 	    }
 	}
+#if 0
 	else if (strncmp(*argv, "skip", 4) == 0) {
 	    skipBlocks = atoi( *argv); 
 	    if (skipBlocks <= 0) {
@@ -126,8 +145,8 @@ extern int dd_main (int argc, char **argv)
 	    }
 
 	}
+#endif
 	else {
-	    fprintf (stderr, "Got here. argv=%s\n", *argv);
 	    goto usage;
 	}
 	argc--;
diff --git a/df.c b/df.c
index 7a72bf8fd..f8a953f7d 100644
--- a/df.c
+++ b/df.c
@@ -1,3 +1,26 @@
+/*
+ * Mini df implementation for busybox
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@debian.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
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <mntent.h>
@@ -5,42 +28,38 @@
 #include <sys/vfs.h>
 #include <fstab.h>
 
-static const char	df_usage[] = "df [filesystem ...]\n"
-"\n"
-"\tPrint the filesystem space used and space available.\n";
+static const char df_usage[] = "df [filesystem ...]\n"
+    "\n" "\tPrint the filesystem space used and space available.\n";
 
 
-static int
-df(char* device, const char * mountPoint)
+static int df(char *device, const char *mountPoint)
 {
-	struct statfs	s;
-	long		blocks_used;
-	long		blocks_percent_used;
-
-	if ( statfs(mountPoint, &s) != 0 ) {
-		perror(mountPoint);
-		return 1;
-	}
-	
-	if ( s.f_blocks > 0 ) {
-		blocks_used = s.f_blocks - s.f_bfree;
-		blocks_percent_used = (long)
-		 (blocks_used * 100.0 / (blocks_used + s.f_bavail) + 0.5);
-		if ( strcmp(device, "/dev/root")==0)
-		    device=(getfsfile ("/"))->fs_spec;
-
-		printf(
-		       "%-20s %9ld %9ld %9ld %3ld%% %s\n",
-		       device,
-		       (long)(s.f_blocks * (s.f_bsize / 1024.0)),
-		       (long)((s.f_blocks - s.f_bfree)  * (s.f_bsize / 1024.0)),
-		       (long)(s.f_bavail * (s.f_bsize / 1024.0)),
-		       blocks_percent_used,
-		       mountPoint);
-
-	}
-
-	return 0;
+    struct statfs s;
+    long blocks_used;
+    long blocks_percent_used;
+
+    if (statfs(mountPoint, &s) != 0) {
+	perror(mountPoint);
+	return 1;
+    }
+
+    if (s.f_blocks > 0) {
+	blocks_used = s.f_blocks - s.f_bfree;
+	blocks_percent_used = (long)
+	    (blocks_used * 100.0 / (blocks_used + s.f_bavail) + 0.5);
+	if (strcmp(device, "/dev/root") == 0)
+	    device = (getfsfile("/"))->fs_spec;
+
+	printf("%-20s %9ld %9ld %9ld %3ld%% %s\n",
+	       device,
+	       (long) (s.f_blocks * (s.f_bsize / 1024.0)),
+	       (long) ((s.f_blocks - s.f_bfree) * (s.f_bsize / 1024.0)),
+	       (long) (s.f_bavail * (s.f_bsize / 1024.0)),
+	       blocks_percent_used, mountPoint);
+
+    }
+
+    return 0;
 }
 
 /*
@@ -50,87 +69,79 @@ df(char* device, const char * mountPoint)
  * Given any other file (or directory), find the mount table entry for its
  * filesystem.
  */
-extern struct mntent *
-findMountPoint(const char* name, const char* table)
+extern struct mntent *findMountPoint(const char *name, const char *table)
 {
-	struct stat	s;
-	dev_t			mountDevice;
-	FILE *			mountTable;
-	struct mntent *	mountEntry;
-
-	if ( stat(name, &s) != 0 )
-		return 0;
-
-	if ( (s.st_mode & S_IFMT) == S_IFBLK )
-		mountDevice = s.st_rdev;
-	else
-		mountDevice = s.st_dev;
-
-	
-	if ( (mountTable = setmntent(table, "r")) == 0 )
-		return 0;
-
-	while ( (mountEntry = getmntent(mountTable)) != 0 ) {
-		if ( strcmp(name, mountEntry->mnt_dir) == 0
-		 || strcmp(name, mountEntry->mnt_fsname) == 0 )	/* String match. */
-			break;
-		if ( stat(mountEntry->mnt_fsname, &s) == 0
-		 && s.st_rdev == mountDevice )	/* Match the device. */
-				break;
-		if ( stat(mountEntry->mnt_dir, &s) == 0
-		 && s.st_dev == mountDevice )	/* Match the directory's mount point. */
-			break;
-	}
-	endmntent(mountTable);
-	return mountEntry;
+    struct stat s;
+    dev_t mountDevice;
+    FILE *mountTable;
+    struct mntent *mountEntry;
+
+    if (stat(name, &s) != 0)
+	return 0;
+
+    if ((s.st_mode & S_IFMT) == S_IFBLK)
+	mountDevice = s.st_rdev;
+    else
+	mountDevice = s.st_dev;
+
+
+    if ((mountTable = setmntent(table, "r")) == 0)
+	return 0;
+
+    while ((mountEntry = getmntent(mountTable)) != 0) {
+	if (strcmp(name, mountEntry->mnt_dir) == 0
+	    || strcmp(name, mountEntry->mnt_fsname) == 0)	/* String match. */
+	    break;
+	if (stat(mountEntry->mnt_fsname, &s) == 0 && s.st_rdev == mountDevice)	/* Match the device. */
+	    break;
+	if (stat(mountEntry->mnt_dir, &s) == 0 && s.st_dev == mountDevice)	/* Match the directory's mount point. */
+	    break;
+    }
+    endmntent(mountTable);
+    return mountEntry;
 }
 
 
 
-extern int
-df_main(int argc, char * * argv)
+extern int df_main(int argc, char **argv)
 {
-	printf("%-20s %-14s %s %s %s %s\n", "Filesystem",
-		"1k-blocks", "Used", "Available", "Use%", "Mounted on");
-
-	if ( argc > 1 ) {
-		struct mntent*	mountEntry;
-		int		status;
-
-		while ( argc > 1 ) {
-			if ( (mountEntry = findMountPoint(argv[1], "/proc/mounts")) == 0 )
-			{
-				fprintf(stderr, "%s: can't find mount point.\n" ,argv[1]);
-				return 1;
-			}
-			status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
-			if ( status != 0 )
-				return status;
-			argc--;
-			argv++;
-		}
-		return 0;
-	}
-	else {
-		FILE *		mountTable;
-		struct mntent *	mountEntry;
-
-		mountTable = setmntent("/proc/mounts", "r");
-		if ( mountTable == 0) {
-			perror("/proc/mounts");
-			exit( FALSE);
-		}
-
-		while ( (mountEntry = getmntent (mountTable))) {
-			int status=df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
-			if (status)
-				return status;
-		}
-		endmntent(mountTable);
+    printf("%-20s %-14s %s %s %s %s\n", "Filesystem",
+	   "1k-blocks", "Used", "Available", "Use%", "Mounted on");
+
+    if (argc > 1) {
+	struct mntent *mountEntry;
+	int status;
+
+	while (argc > 1) {
+	    if ((mountEntry = findMountPoint(argv[1], "/proc/mounts")) ==
+		0) {
+		fprintf(stderr, "%s: can't find mount point.\n", argv[1]);
+		return 1;
+	    }
+	    status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
+	    if (status != 0)
+		return status;
+	    argc--;
+	    argv++;
 	}
-	
 	return 0;
-}
-
+    } else {
+	FILE *mountTable;
+	struct mntent *mountEntry;
+
+	mountTable = setmntent("/proc/mounts", "r");
+	if (mountTable == 0) {
+	    perror("/proc/mounts");
+	    exit(FALSE);
+	}
 
+	while ((mountEntry = getmntent(mountTable))) {
+	    int status = df(mountEntry->mnt_fsname, mountEntry->mnt_dir);
+	    if (status)
+		return status;
+	}
+	endmntent(mountTable);
+    }
 
+    return 0;
+}
diff --git a/fdflush.c b/fdflush.c
index 58b8b37d6..51b0c2bac 100644
--- a/fdflush.c
+++ b/fdflush.c
@@ -1,8 +1,8 @@
-
 /*
  * Mini fdflush implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
  *
  * 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
diff --git a/find.c b/find.c
index 51b8707da..1db332297 100644
--- a/find.c
+++ b/find.c
@@ -1,7 +1,9 @@
 /*
  * Mini find implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/findutils/find.c b/findutils/find.c
index 51b8707da..1db332297 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -1,7 +1,9 @@
 /*
  * Mini find implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/findutils/grep.c b/findutils/grep.c
index 108c879af..a495c62ae 100644
--- a/findutils/grep.c
+++ b/findutils/grep.c
@@ -1,7 +1,9 @@
 /*
  * Mini grep implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/grep.c b/grep.c
index 108c879af..a495c62ae 100644
--- a/grep.c
+++ b/grep.c
@@ -1,7 +1,9 @@
 /*
  * Mini grep implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/halt.c b/halt.c
index 0dbdc55f1..ecc6e8f30 100644
--- a/halt.c
+++ b/halt.c
@@ -1,3 +1,25 @@
+/*
+ * Mini halt implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <signal.h>
 
diff --git a/init.c b/init.c
index 62865451a..c32124dd0 100644
--- a/init.c
+++ b/init.c
@@ -1,3 +1,26 @@
+/*
+ * Mini init implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ * Adjusted by so many folks, it's impossible to keep track.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/init/halt.c b/init/halt.c
index 0dbdc55f1..ecc6e8f30 100644
--- a/init/halt.c
+++ b/init/halt.c
@@ -1,3 +1,25 @@
+/*
+ * Mini halt implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <signal.h>
 
diff --git a/init/init.c b/init/init.c
index 62865451a..c32124dd0 100644
--- a/init/init.c
+++ b/init/init.c
@@ -1,3 +1,26 @@
+/*
+ * Mini init implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ * Adjusted by so many folks, it's impossible to keep track.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/init/reboot.c b/init/reboot.c
index f915205ea..53a3520e1 100644
--- a/init/reboot.c
+++ b/init/reboot.c
@@ -1,3 +1,25 @@
+/*
+ * Mini reboot implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <signal.h>
 
diff --git a/internal.h b/internal.h
index f2c2d8a7d..d23dca31e 100644
--- a/internal.h
+++ b/internal.h
@@ -1,7 +1,6 @@
 /*
- * Busybox main header file
+ * Busybox main internal header file
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@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
diff --git a/kill.c b/kill.c
index e89f913d0..2fabf56d2 100644
--- a/kill.c
+++ b/kill.c
@@ -1,3 +1,25 @@
+/*
+ * Mini kill implementation for busybox
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
+
 #include "internal.h"
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/ln.c b/ln.c
index 8f7719fa4..1e30e2b29 100644
--- a/ln.c
+++ b/ln.c
@@ -1,7 +1,9 @@
 /*
  * Mini ln implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/loadkmap.c b/loadkmap.c
index 27865d58e..a228ca460 100644
--- a/loadkmap.c
+++ b/loadkmap.c
@@ -1,3 +1,24 @@
+/*
+ * Mini loadkmap implementation for busybox
+ *
+ * Copyright (C) 1998 Enrique Zanardi <ezanardi@ull.es>
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <errno.h>
 #include <fcntl.h>
diff --git a/miscutils/update.c b/miscutils/update.c
index 3a8cd37ee..5a7c755ff 100644
--- a/miscutils/update.c
+++ b/miscutils/update.c
@@ -1,3 +1,25 @@
+/*
+ * Mini update implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <linux/unistd.h>
 
diff --git a/mkdir.c b/mkdir.c
index cf65f272f..98c8d8f08 100644
--- a/mkdir.c
+++ b/mkdir.c
@@ -1,7 +1,9 @@
 /*
  * Mini mkdir implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/mknod.c b/mknod.c
index ea2331fa3..81c846b98 100644
--- a/mknod.c
+++ b/mknod.c
@@ -1,3 +1,24 @@
+/*
+ * Mini mknod implementation for busybox
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <errno.h>
diff --git a/more.c b/more.c
index 72d58a6f4..bc3850510 100644
--- a/more.c
+++ b/more.c
@@ -1,7 +1,11 @@
 /*
  * Mini more implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Blended by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+ * based on the original more implementation and code from the Debian 
+ * boot-floppies team.
  *
  * 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
diff --git a/mount.c b/mount.c
index a7d5aed2d..562b7e821 100644
--- a/mount.c
+++ b/mount.c
@@ -1,7 +1,7 @@
 /*
  * Mini mount implementation for busybox
  *
- * Copyright (C) 1999 by Erik Andersen <andersee@debian.org>
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
  *
  * 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
@@ -22,8 +22,12 @@
  *		will try mounting stuff with all fses when passed -t auto
  *
  * 1999-04-17	Dave Cinege...Rewrote -t auto. Fixed ro mtab.
- * 1999-10-07	Erik Andersen.  Rewrote of a lot of code. Removed mtab 
- *              usage, major adjustments, and some serious dieting all around.
+ *
+ * 1999-10-07	Erik Andersen <andersen@lineo.com>, <andersee@debian.org>.
+ *              Rewrote of a lot of code. Removed mtab usage (I plan on
+ *              putting it back as a compile-time option some time), 
+ *              major adjustments to option parsing, and some serious 
+ *              dieting all around.
 */
 
 #include "internal.h"
diff --git a/mv.c b/mv.c
index ab3fc2bd5..e502250ec 100644
--- a/mv.c
+++ b/mv.c
@@ -1,7 +1,9 @@
 /*
  * Mini mv implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/procps/kill.c b/procps/kill.c
index e89f913d0..2fabf56d2 100644
--- a/procps/kill.c
+++ b/procps/kill.c
@@ -1,3 +1,25 @@
+/*
+ * Mini kill implementation for busybox
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
+
 #include "internal.h"
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/procps/ps.c b/procps/ps.c
index 97a5d6ba2..d8a4233da 100644
--- a/procps/ps.c
+++ b/procps/ps.c
@@ -1,7 +1,9 @@
 /*
  * Mini ps implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/ps.c b/ps.c
index 97a5d6ba2..d8a4233da 100644
--- a/ps.c
+++ b/ps.c
@@ -1,7 +1,9 @@
 /*
  * Mini ps implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/pwd.c b/pwd.c
index 2ad019d50..c5ce6ff89 100644
--- a/pwd.c
+++ b/pwd.c
@@ -1,9 +1,29 @@
+/*
+ * Mini pwd implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 #include <dirent.h>
 
-const char	pwd_usage[] = "Print the current directory.\n";
-
 extern int
 pwd_main(int argc, char * * argv)
 {
diff --git a/reboot.c b/reboot.c
index f915205ea..53a3520e1 100644
--- a/reboot.c
+++ b/reboot.c
@@ -1,3 +1,25 @@
+/*
+ * Mini reboot implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <signal.h>
 
diff --git a/rm.c b/rm.c
index dd8dfa4e6..f49ada5e1 100644
--- a/rm.c
+++ b/rm.c
@@ -1,7 +1,9 @@
 /*
  * Mini rm implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/rmdir.c b/rmdir.c
index 666e0476a..56b838736 100644
--- a/rmdir.c
+++ b/rmdir.c
@@ -1,7 +1,9 @@
 /*
  * Mini rmdir implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/sleep.c b/sleep.c
index 7e38a3667..826697824 100644
--- a/sleep.c
+++ b/sleep.c
@@ -1,3 +1,25 @@
+/*
+ * Mini sleep implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 
diff --git a/swaponoff.c b/swaponoff.c
index 5a2d735ad..8eaf9797c 100644
--- a/swaponoff.c
+++ b/swaponoff.c
@@ -1,7 +1,9 @@
 /*
  * Mini swapon/swapoff implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/sync.c b/sync.c
index 8800f2e76..b9f52c8b0 100644
--- a/sync.c
+++ b/sync.c
@@ -1,3 +1,25 @@
+/*
+ * Mini sync implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <stdio.h>
 
diff --git a/tar.c b/tar.c
index b404ab025..c7ef3851c 100644
--- a/tar.c
+++ b/tar.c
@@ -1,13 +1,29 @@
 /*
+ * Mini tar implementation for busybox based on code taken from sash.
+ *
  * Copyright (c) 1999 by David I. Bell
  * Permission is granted to use, distribute, or modify this source,
  * provided that this copyright notice remains intact.
  *
- * The "tar" command, taken from sash.
- * This allows creation, extraction, and listing of tar files.
- *
  * Permission to distribute this code under the GPL has been granted.
+ *
  * Modified for busybox by Erik Andersen <andersee@debian.org>
+ * Adjusted to grok stdin/stdout options.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
  */
 
 
diff --git a/touch.c b/touch.c
index d882a6319..b98a2e4c8 100644
--- a/touch.c
+++ b/touch.c
@@ -1,7 +1,9 @@
 /*
  * Mini touch implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/true_false.c b/true_false.c
index e0ea95946..feaa9297d 100644
--- a/true_false.c
+++ b/true_false.c
@@ -1,7 +1,9 @@
 /*
  * Mini true/false implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/umount.c b/umount.c
index 48efbd349..95f7dfb3c 100644
--- a/umount.c
+++ b/umount.c
@@ -1,7 +1,9 @@
 /*
  * Mini umount implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/update.c b/update.c
index 3a8cd37ee..5a7c755ff 100644
--- a/update.c
+++ b/update.c
@@ -1,3 +1,25 @@
+/*
+ * Mini update implementation for busybox
+ *
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
+ *
+ * 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 GNU
+ * General Public License for more details.
+ *
+ * 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
+ *
+ */
+
 #include "internal.h"
 #include <linux/unistd.h>
 
diff --git a/util-linux/fdflush.c b/util-linux/fdflush.c
index 58b8b37d6..51b0c2bac 100644
--- a/util-linux/fdflush.c
+++ b/util-linux/fdflush.c
@@ -1,8 +1,8 @@
-
 /*
  * Mini fdflush implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
  *
  * 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
diff --git a/util-linux/more.c b/util-linux/more.c
index 72d58a6f4..bc3850510 100644
--- a/util-linux/more.c
+++ b/util-linux/more.c
@@ -1,7 +1,11 @@
 /*
  * Mini more implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Blended by Erik Andersen <andersen@lineo.com>, <andersee@debian.org>
+ * based on the original more implementation and code from the Debian 
+ * boot-floppies team.
  *
  * 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
diff --git a/util-linux/mount.c b/util-linux/mount.c
index a7d5aed2d..562b7e821 100644
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -1,7 +1,7 @@
 /*
  * Mini mount implementation for busybox
  *
- * Copyright (C) 1999 by Erik Andersen <andersee@debian.org>
+ * Copyright (C) 1995, 1996 by Bruce Perens <bruce@pixar.com>.
  *
  * 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
@@ -22,8 +22,12 @@
  *		will try mounting stuff with all fses when passed -t auto
  *
  * 1999-04-17	Dave Cinege...Rewrote -t auto. Fixed ro mtab.
- * 1999-10-07	Erik Andersen.  Rewrote of a lot of code. Removed mtab 
- *              usage, major adjustments, and some serious dieting all around.
+ *
+ * 1999-10-07	Erik Andersen <andersen@lineo.com>, <andersee@debian.org>.
+ *              Rewrote of a lot of code. Removed mtab usage (I plan on
+ *              putting it back as a compile-time option some time), 
+ *              major adjustments to option parsing, and some serious 
+ *              dieting all around.
 */
 
 #include "internal.h"
diff --git a/util-linux/swaponoff.c b/util-linux/swaponoff.c
index 5a2d735ad..8eaf9797c 100644
--- a/util-linux/swaponoff.c
+++ b/util-linux/swaponoff.c
@@ -1,7 +1,9 @@
 /*
  * Mini swapon/swapoff implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/util-linux/umount.c b/util-linux/umount.c
index 48efbd349..95f7dfb3c 100644
--- a/util-linux/umount.c
+++ b/util-linux/umount.c
@@ -1,7 +1,9 @@
 /*
  * Mini umount implementation for busybox
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ *
+ * Copyright (C) 1999 by Lineo, inc.
+ * Written by Erik Andersen <andersen@lineo.com>, <andersee@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
diff --git a/utility.c b/utility.c
index 981769f92..e188ecdcd 100644
--- a/utility.c
+++ b/utility.c
@@ -1,7 +1,9 @@
 /*
  * Utility routines.
  *
- * Copyright (C) 1998 by Erik Andersen <andersee@debian.org>
+ * Copyright (C) tons of folks.  Tracking down who wrote what
+ * isn't something I'm going to worry about...  If you wrote something
+ * here, please feel free to acknowledge your work.
  *
  * 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
@@ -86,6 +88,7 @@ int isDirectory(const char *name)
  * and modes.  Returns TRUE if successful, or FALSE on a failure with an
  * error message output.  (Failure is not indicted if the attributes cannot
  * be set.)
+ *  -Erik Andersen
  */
 int
 copyFile( const char *srcName, const char *destName, 
-- 
cgit v1.2.3-55-g6feb