From f59027a75b9fd63e8f6d876430cab020ce05f18b Mon Sep 17 00:00:00 2001 From: Erik Troan Date: Fri, 29 Jun 2001 20:20:47 +0000 Subject: reduced collage to have just enough to complement busybox --- collage/commands.c | 295 ----------------------------------------------------- 1 file changed, 295 deletions(-) (limited to 'collage/commands.c') diff --git a/collage/commands.c b/collage/commands.c index c6cae1c94..59e014681 100644 --- a/collage/commands.c +++ b/collage/commands.c @@ -16,10 +16,7 @@ #include "../isys/isys.h" #include "commands.h" -#include "idmap.h" -#include "ls.h" #include "mount_by_label.h" -#include "popt.h" #include "../isys/cpio.h" static int copyfd(int to, int from); @@ -59,30 +56,6 @@ static int catFile(char * filename) { return rc; } -int catCommand(int argc, char ** argv) { - char ** argptr = argv + 1; - int rc; - - if (!*argptr) { - return copyfd(1, 0); - } else { - while (*argptr) { - rc = catFile(*argptr); - if (rc) return rc; - argptr++; - } - } - - return 0; -} - -int lsmodCommand(int argc, char ** argv) { - puts("Module: #pages: Used by:"); - catFile("/proc/modules"); - - return 0; -} - #define MOUNT_USAGE fprintf(stderr, "usage: mount -t \n" \ " (if /dev/ is left off the device name, a " \ "temporary node will be created)\n") @@ -152,27 +125,6 @@ int umountCommand(int argc, char ** argv) { return 0; } -int mkdirCommand(int argc, char ** argv) { - char ** argptr = argv + 1; - - if (argc < 2) { - fprintf(stderr, "umount expects one or more arguments\n"); - return 1; - } - - while (*argptr) { - if (mkdir(*argptr, 0755)) { - fprintf(stderr, "error creating directory %s: %s\n", *argptr, - strerror(errno)); - return 1; - } - - argptr++; - } - - return 0; -} - int mknodCommand(int argc, char ** argv) { int major, minor; char * path; @@ -228,122 +180,6 @@ int mknodCommand(int argc, char ** argv) { return 0; } -int lnCommand(int argc, char ** argv) { - char ** argptr = argv + 1; - int force = 0, soft = 0; - int rc; - - while (*argptr && **argptr == '-') { - if (!strcmp(*argptr, "-f")) - force = 1; - else if (!strcmp(*argptr, "-s")) - soft = 1; - else if (!strcmp(*argptr, "-fs") || !strcmp(*argptr, "-sf")) - force = soft = 1; - else { - fprintf(stderr, "ln: unknown argument %s\n", *argptr); - return 1; - } - - argptr++; - } - - if (!*argptr || !(*argptr + 1) || *(argptr + 2)) { - fprintf(stderr, "ln requires exactly two filenames\n"); - return 1; - } - - if (force) unlink(*(argptr + 1)); - if (soft) - rc = symlink(*argptr, *(argptr + 1)); - else - rc = link(*argptr, *(argptr + 1)); - - if (rc) { - perror("error"); - return 1; - } - - return 0; -} - -int rmCommand(int argc, char ** argv) { - char ** argptr = argv + 1; - - if (argc < 2) { - fprintf(stderr, "rm expects one or more arguments " - "(no flags are supported"); - return 1; - } - - while (*argptr) { - if (unlink(*argptr)) { - fprintf(stderr, "unlink of %s failed: %s\n", *argptr, - strerror(errno)); - return 1; - } - - argptr++; - } - - return 0; -} - -int chrootCommand(int argc, char ** argv) { - char * defaultCommand[] = { "/bin/sh", NULL }; - char ** command = defaultCommand; - - if (argc < 2) { - fprintf(stderr, "usage: chroot [...]\n"); - return 1; - } - - if (chroot(argv[1])) { - fprintf(stderr, "chroot failed: %s\n", strerror(errno)); - return 1; - } - - chdir ("/"); - - if (argc > 2) - command = argv + 2; - - execvp(command[0], command); - - fprintf(stderr, "exec failed: %s\n", strerror(errno)); - - return 1; -} - -int chmodCommand(int argc, char ** argv) { - char ** argptr = argv + 2; - int mode; - char * end; - - if (argc < 3) { - fprintf(stderr, "usage: chmod \n"); - return 1; - } - - mode = strtol(argv[1], &end, 8); - if (*end) { - fprintf(stderr, "illegal mode %s\n", argv[1]); - return 1; - } - - while (*argptr) { - if (chmod(*argptr, mode)) { - fprintf(stderr, "error in chmod of %s to 0%o: %s\n", *argptr, - mode, strerror(errno)); - return 1; - } - - argptr++; - } - - return 0; -} - int uncpioCommand(int argc, char ** argv) { int rc; const char * fail; @@ -368,134 +204,3 @@ int uncpioCommand(int argc, char ** argv) { return (rc != 0); } - -int dfCommand(int argc, char ** argv) { - int fd; - char * buf = alloca(2048); - char * end; - struct statfs fs; - int i; - int badjust; - - if ((fd = open("/proc/mounts", O_RDONLY)) < 0) { - perror("failed to open /proc/mounts"); - return 1; - } - - i = read(fd, buf, 2048); - buf[i] = '\0'; - - printf("%-30s %-10s %-10s %-10s\n", - "Mount Point", "1k-blocks", "Used", "Available"); - - while (buf && *buf) { - end = strchr(buf, ' '); - if (!end) return 1; - buf = end + 1; - - end = strchr(buf, ' '); - if (!end) return 1; - *end = '\0'; - - statfs(buf, &fs); - - badjust = fs.f_bsize / 1024; - - printf("%-30s %-10ld %-10ld %-10ld\n", - buf, fs.f_blocks * badjust, - (fs.f_blocks - fs.f_bfree) * badjust, - fs.f_bfree * badjust); - - buf = strchr(end + 1, '\n'); - if (buf) buf++; - } - - return 0; -} - -int lsCommand(int argc, char ** argv) { - poptContext optCon; - int flags = 0; - int rc; - char path[1024]; - struct poptOption ksOptions[] = { - { NULL, 'l', 0, NULL, 'l' }, - { NULL, 'C', 0, NULL, 'C' }, - { NULL, 'd', 0, NULL, 'd' }, - { NULL, 'g', 0, NULL, 'g' }, - { NULL, 'n', 0, NULL, 'n' }, - { NULL, 'p', 0, NULL, 'p' }, - { NULL, 'a', 0, NULL, 'a' }, - { NULL, 'L', 0, NULL, 'L' }, - { NULL, 'f', 0, NULL, 'f' }, - { NULL, 'r', 0, NULL, 'r' }, - { NULL, 't', 0, NULL, 't' }, - { NULL, 'S', 0, NULL, 'S' }, - { NULL, 'R', 0, NULL, 'R' }, - { NULL, '\0', 0, NULL, '\0' } - }; - - optCon = poptGetContext(NULL, argc, (const char **) argv, ksOptions, 0); - if (isatty(1)) flags |= SENDDIR_MULTICOLUMN; - - while ((rc = poptGetNextOpt(optCon)) >= 0) { - switch (rc) { - case 'l': - flags |= SENDDIR_LONG; flags &= ~SENDDIR_MULTICOLUMN; - break; - case 'C': - flags |= SENDDIR_MULTICOLUMN; flags &= ~SENDDIR_LONG; - break; - case 'd': flags |= SENDDIR_SIMPLEDIRS; break; - case 'g': /* ignored */ break; - case 'n': flags |= SENDDIR_NUMIDS; break; - case 'p': case 'F': flags |= SENDDIR_FILETYPE; break; - case 'a': flags |= SENDDIR_ALL; break; - case 'L': flags |= SENDDIR_FOLLOWLINKS; break; - case 'f': flags |= SENDDIR_SORTNONE; break; - case 'r': flags |= SENDDIR_SORTREVERSE; break; - case 't': flags |= SENDDIR_SORTMTIME; break; - case 'S': flags |= SENDDIR_SORTSIZE; break; - case 'R': flags |= SENDDIR_RECURSE; break; - } - } - - getcwd(path, 1000); - - if (rc < -1) { - fprintf(stderr, "argument error: %s %s", - poptBadOption(optCon, POPT_BADOPTION_NOALIAS), - poptStrerror(rc)); - } else { - idInit(); - - argv = (char **) poptGetArgs(optCon); - if (argv) { - while (*argv) { - if (argv[0][0] == '/') - listFiles("", *argv, flags); - else - listFiles(path, *argv, flags); - argv++; - } - } else { - listFiles(path, "", flags); - } - } - - return 0; -} - -int gunzipCommand(int argc, char ** argv) { - gzFile f; - char buf[16384]; - int i; - - f = gzdopen(0, "r"); - while ((i = gzread(f, buf, sizeof(buf))) > 0) - write(1, buf, i); - - gzclose(f); - - return 0; -} -- cgit