diff options
| author | Stephen Warren <swarren@nvidia.com> | 2014-02-03 13:21:06 -0700 | 
|---|---|---|
| committer | Tom Rini <trini@ti.com> | 2014-02-19 09:47:34 -0500 | 
| commit | e5e897c01b1cd496187ca56a38ff5559d27f951c (patch) | |
| tree | b2842a2aeffcdd10fbe7300920b2252f545d9b57 | |
| parent | 2453de99df576fb907fe06cac58c628e3590833f (diff) | |
| download | olio-uboot-2014.01-e5e897c01b1cd496187ca56a38ff5559d27f951c.tar.xz olio-uboot-2014.01-e5e897c01b1cd496187ca56a38ff5559d27f951c.zip | |
cmd_test: implement -e test for file existence
This is much like a regular shell's -e operator, except that it takes
multiple arguments to specify the device type and  device/partition ID
in addition to the usual filename:
if test -e mmc 0:1 /boot/boot.scr; then echo yes; else echo no; fi
Signed-off-by: Stephen Warren <swarren@nvidia.com>
| -rw-r--r-- | common/cmd_test.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/common/cmd_test.c b/common/cmd_test.c index 4c2f967c6..c93fe7823 100644 --- a/common/cmd_test.c +++ b/common/cmd_test.c @@ -16,6 +16,7 @@  #include <common.h>  #include <command.h> +#include <fs.h>  #define OP_INVALID	0  #define OP_NOT		1 @@ -33,6 +34,7 @@  #define OP_INT_LE	13  #define OP_INT_GT	14  #define OP_INT_GE	15 +#define OP_FILE_EXISTS	16  const struct {  	int arg; @@ -55,6 +57,7 @@ const struct {  	{0, "-a", OP_AND, 1},  	{0, "-z", OP_STR_EMPTY, 2},  	{0, "-n", OP_STR_NEMPTY, 2}, +	{0, "-e", OP_FILE_EXISTS, 4},  };  static int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) @@ -143,6 +146,9 @@ static int do_test(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])  			expr = simple_strtol(ap[0], NULL, 10) >=  					simple_strtol(ap[2], NULL, 10);  			break; +		case OP_FILE_EXISTS: +			expr = file_exists(ap[1], ap[2], ap[3], FS_TYPE_ANY); +			break;  		}  		switch (op) { |