From 3b93eb67887e4b21a70819476749735ab08a2558 Mon Sep 17 00:00:00 2001 From: Matt Wilson Date: Sat, 28 Aug 1999 18:36:53 +0000 Subject: added gunzip --- collage/collage.c | 15 ++++++++------- collage/commands.c | 14 ++++++++++++++ collage/commands.h | 5 +++-- 3 files changed, 25 insertions(+), 9 deletions(-) (limited to 'collage') diff --git a/collage/collage.c b/collage/collage.c index 1b0d01764..529bb7e16 100644 --- a/collage/collage.c +++ b/collage/collage.c @@ -9,17 +9,18 @@ struct commandTableEntry { }; struct commandTableEntry commandTable[] = { + { "cat", catCommand }, + { "chmod", chmodCommand }, { "df", dfCommand }, - { "umount", umountCommand }, - { "mount", mountCommand }, + { "gunzip", gunzipCommand }, + { "ln", lnCommand }, + { "ls", lsCommand }, + { "lsmod", lsmodCommand }, { "mkdir", mkdirCommand }, { "mknod", mknodCommand }, - { "cat", catCommand }, - { "ls", lsCommand }, - { "ln", lnCommand }, + { "mount", mountCommand }, { "rm", rmCommand }, - { "chmod", chmodCommand }, - { "lsmod", lsmodCommand }, + { "umount", umountCommand }, { "uncpio", uncpioCommand }, { NULL, NULL } }; diff --git a/collage/commands.c b/collage/commands.c index 111ad0daa..d7b9fce5f 100644 --- a/collage/commands.c +++ b/collage/commands.c @@ -441,3 +441,17 @@ int lsCommand(int argc, char ** argv) { 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; +} diff --git a/collage/commands.h b/collage/commands.h index b4ce97353..46ed53fd6 100644 --- a/collage/commands.h +++ b/collage/commands.h @@ -4,13 +4,14 @@ int catCommand(int argc, char ** argv); int chmodCommand(int argc, char ** argv); int dfCommand(int argc, char ** argv); +int gunzipCommand(int argc, char ** argv); +int lnCommand(int argc, char ** argv); +int lsCommand(int argc, char ** argv); int lsmodCommand(int argc, char ** argv); int mkdirCommand(int argc, char ** argv); int mknodCommand(int argc, char ** argv); int mountCommand(int argc, char ** argv); int rmCommand(int argc, char ** argv); -int lnCommand(int argc, char ** argv); -int lsCommand(int argc, char ** argv); int umountCommand(int argc, char ** argv); int uncpioCommand(int argc, char ** argv); -- cgit