[PATCH 13/16] add generic uncompress command
Sascha Hauer
s.hauer at pengutronix.de
Mon Nov 28 17:10:06 EST 2011
Using the new uncompress function we can now implement a command which
can uncompress all known compression types. This supplements the unlzo
command.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
commands/Kconfig | 10 +++++-----
commands/Makefile | 2 +-
commands/{unlzo.c => uncompress.c} | 23 ++++++++++++-----------
3 files changed, 18 insertions(+), 17 deletions(-)
rename commands/{unlzo.c => uncompress.c} (73%)
diff --git a/commands/Kconfig b/commands/Kconfig
index e5c0fb5..890be78 100644
--- a/commands/Kconfig
+++ b/commands/Kconfig
@@ -402,13 +402,13 @@ config CMD_GPIO
include gpio_set_value, gpio_get_value, gpio_direction_input and
gpio_direction_output commands to control gpios.
-config CMD_UNLZO
+config CMD_UNCOMPRESS
bool
- select LZO_DECOMPRESS
- prompt "unlzo"
+ prompt "uncompress"
help
- Say yes here to get the unlzo command. lzo is a fast compression
- algorithm by Markus Franz Xaver Johannes Oberhumer.
+ Say yes here to get the uncompress command. uncompress handles
+ lzo, gzip and bzip2 compressed files depending on the compiled
+ in compression libraries
config CMD_I2C
bool
diff --git a/commands/Makefile b/commands/Makefile
index 5c51916..0aae666 100644
--- a/commands/Makefile
+++ b/commands/Makefile
@@ -47,7 +47,7 @@ obj-$(CONFIG_CMD_INSMOD) += insmod.o
obj-$(CONFIG_CMD_BMP) += bmp.o
obj-$(CONFIG_USB_GADGET_DFU) += dfu.o
obj-$(CONFIG_CMD_GPIO) += gpio.o
-obj-$(CONFIG_CMD_UNLZO) += unlzo.o
+obj-$(CONFIG_CMD_UNCOMPRESS) += uncompress.o
obj-$(CONFIG_CMD_I2C) += i2c.o
obj-$(CONFIG_CMD_UBI) += ubi.o
obj-$(CONFIG_CMD_MENU) += menu.o
diff --git a/commands/unlzo.c b/commands/uncompress.c
similarity index 73%
rename from commands/unlzo.c
rename to commands/uncompress.c
index 0b6dd4b..fff6227 100644
--- a/commands/unlzo.c
+++ b/commands/uncompress.c
@@ -1,5 +1,5 @@
/*
- * unlzo.c - uncompress a lzo compressed file
+ * uncompress.c - uncompress a lzo compressed file
*
* Copyright (c) 2010 Sascha Hauer <s.hauer at pengutronix.de>, Pengutronix
*
@@ -25,11 +25,11 @@
#include <errno.h>
#include <fcntl.h>
#include <fs.h>
-#include <lzo.h>
+#include <uncompress.h>
-static int do_unlzo(struct command *cmdtp, int argc, char *argv[])
+static int do_uncompress(struct command *cmdtp, int argc, char *argv[])
{
- int from, to, ret, retlen;
+ int from, to, ret;
if (argc != 3)
return COMMAND_ERROR_USAGE;
@@ -47,7 +47,8 @@ static int do_unlzo(struct command *cmdtp, int argc, char *argv[])
goto exit_close;
}
- ret = unlzo(from, to, &retlen);
+ ret = uncompress_fd_to_fd(from, to, uncompress_err_stdout);
+
if (ret)
printf("failed to decompress\n");
@@ -57,13 +58,13 @@ exit_close:
return ret;
}
-static const __maybe_unused char cmd_unlzo_help[] =
-"Usage: unlzo <infile> <outfile>\n"
-"Uncompress a lzo compressed file\n";
+static const __maybe_unused char cmd_uncompress_help[] =
+"Usage: uncompress <infile> <outfile>\n"
+"Uncompress a compressed file\n";
-BAREBOX_CMD_START(unlzo)
- .cmd = do_unlzo,
+BAREBOX_CMD_START(uncompress)
+ .cmd = do_uncompress,
.usage = "lzop <infile> <outfile>",
- BAREBOX_CMD_HELP(cmd_unlzo_help)
+ BAREBOX_CMD_HELP(cmd_uncompress_help)
BAREBOX_CMD_END
--
1.7.7.1
More information about the barebox
mailing list