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 -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 , + 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 -and - Bruce Perens -and - Dave Cinege -and: - Enrique Zanardi 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 + * 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 , + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 @@ -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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * 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 #include 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 , + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * by Matthew Grant * * 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 , + * 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 + * + * 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 #include #include 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 , + * based on original code by (I think) Bruce Perens . + * + * 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 #include @@ -5,42 +28,38 @@ #include #include -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; + 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; + if (statfs(mountPoint, &s) != 0) { + perror(mountPoint); + return 1; + } - 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); + 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; + } + + 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; + struct stat s; + dev_t mountDevice; + FILE *mountTable; + struct mntent *mountEntry; - if ( stat(name, &s) != 0 ) - return 0; + 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 ((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; + 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) +{ + 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 mountEntry; + } + + return 0; } - - - -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); - } - - 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 #include 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 #include -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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 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 . + * + * 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * by Matthew Grant * * 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 , + * 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 + * + * 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 #include #include 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 , + * based on original code by (I think) Bruce Perens . + * + * 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 #include @@ -5,42 +28,38 @@ #include #include -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; + 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; + if (statfs(mountPoint, &s) != 0) { + perror(mountPoint); + return 1; + } - 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); + 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; + } + + 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; + struct stat s; + dev_t mountDevice; + FILE *mountTable; + struct mntent *mountEntry; - if ( stat(name, &s) != 0 ) - return 0; + 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 ((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; + 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) +{ + 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 mountEntry; + } + + return 0; } - - - -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); - } - - 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 + * + * Copyright (C) 1995, 1996 by Bruce Perens . * * 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 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 . + * 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 #include 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 . + * + * 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 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 . + * 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 #include 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 . + * + * 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 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 * * 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 . + * + * 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 #include 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * 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 #include 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 . + * + * 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 #include 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Blended by Erik Andersen , + * 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 + * Copyright (C) 1995, 1996 by Bruce Perens . * * 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 , . + * 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 #include 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 #include -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 . + * + * 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 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 + * 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 . + * + * 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 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 + * + * Copyright (C) 1995, 1996 by Bruce Perens . * * 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Blended by Erik Andersen , + * 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 + * Copyright (C) 1995, 1996 by Bruce Perens . * * 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 , . + * 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * + * Copyright (C) 1999 by Lineo, inc. + * Written by 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 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 + * 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,