9
0
Fork 0

commands: implement 'cmp' command

This command compares two files. It does not show the differences,
it only returns successfully if both files are identical and with
an error if they differ.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
This commit is contained in:
Sascha Hauer 2014-10-08 16:22:33 +02:00
parent 6cf5b986d9
commit 6aaba64b0c
3 changed files with 53 additions and 0 deletions

View File

@ -811,6 +811,16 @@ config CMD_CP
Options:
-v verbose
config CMD_CMP
tristate
prompt "cmp"
help
compare two files
Usage: cmp FILE1 FILE2
Returns successfully if the two files are the same, return with an error if not
config CMD_DIRNAME
tristate
prompt "dirname"

View File

@ -106,3 +106,4 @@ obj-$(CONFIG_CMD_IMD) += imd.o
obj-$(CONFIG_CMD_HWCLOCK) += hwclock.o
obj-$(CONFIG_CMD_USBGADGET) += usbgadget.o
obj-$(CONFIG_CMD_FIRMWARELOAD) += firmwareload.o
obj-$(CONFIG_CMD_CMP) += cmp.o

42
commands/cmp.c Normal file
View File

@ -0,0 +1,42 @@
/*
* cmp - determine if two files differ
*
* See file CREDITS for list of people who contributed to this
* project.
*
* 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.
*
*/
#include <common.h>
#include <command.h>
#include <complete.h>
#include <libfile.h>
static int do_cmp(int argc, char *argv[])
{
if (argc != 3)
return COMMAND_ERROR_USAGE;
return compare_file(argv[1], argv[2]);
}
BAREBOX_CMD_HELP_START(cmp)
BAREBOX_CMD_HELP_TEXT("Returns successfully if the two files are the same, return with an error if not")
BAREBOX_CMD_HELP_END
BAREBOX_CMD_START(cmp)
.cmd = do_cmp,
BAREBOX_CMD_DESC("compare two files")
BAREBOX_CMD_OPTS("FILE1 FILE2")
BAREBOX_CMD_GROUP(CMD_GRP_FILE)
BAREBOX_CMD_HELP(cmd_cmp_help)
BAREBOX_CMD_END