diff options
Diffstat (limited to 'coreutils')
-rw-r--r-- | coreutils/cat.c | 2 | ||||
-rw-r--r-- | coreutils/chroot.c | 4 | ||||
-rw-r--r-- | coreutils/cp.c | 4 | ||||
-rw-r--r-- | coreutils/date.c | 2 | ||||
-rw-r--r-- | coreutils/dd.c | 47 | ||||
-rw-r--r-- | coreutils/df.c | 225 | ||||
-rw-r--r-- | coreutils/ln.c | 4 | ||||
-rw-r--r-- | coreutils/mkdir.c | 4 | ||||
-rw-r--r-- | coreutils/mknod.c | 21 | ||||
-rw-r--r-- | coreutils/mv.c | 4 | ||||
-rw-r--r-- | coreutils/pwd.c | 24 | ||||
-rw-r--r-- | coreutils/rm.c | 4 | ||||
-rw-r--r-- | coreutils/rmdir.c | 4 | ||||
-rw-r--r-- | coreutils/sleep.c | 22 | ||||
-rw-r--r-- | coreutils/sync.c | 22 | ||||
-rw-r--r-- | coreutils/touch.c | 4 |
16 files changed, 264 insertions, 133 deletions
diff --git a/coreutils/cat.c b/coreutils/cat.c index da91d1d..1f4ef4a 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 15f4468..8e432b3 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 34c1292..9dac2af 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 5119484..501ccc2 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 1cf7316..33c4594 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 7a72bf8..f8a953f 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 8f7719f..1e30e2b 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 cf65f27..98c8d8f 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 ea2331f..81c846b 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 ab3fc2b..e502250 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 2ad019d..c5ce6ff 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 dd8dfa4..f49ada5 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 666e047..56b8387 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 7e38a36..8266978 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 8800f2e..b9f52c8 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 d882a63..b98a2e4 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 |