[PATCH 13/18] dirname: add -V option to return only path related to the mountpoint
Jean-Christophe PLAGNIOL-VILLARD
plagnioj at jcrosoft.com
Mon Sep 3 06:08:13 EDT 2012
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
---
commands/dirname.c | 24 +++++++++++++++++++++---
1 file changed, 21 insertions(+), 3 deletions(-)
diff --git a/commands/dirname.c b/commands/dirname.c
index cf1d0a0..f34d88d 100644
--- a/commands/dirname.c
+++ b/commands/dirname.c
@@ -24,20 +24,38 @@
#include <command.h>
#include <libgen.h>
#include <environment.h>
+#include <fs.h>
+#include <getopt.h>
static int do_dirname(int argc, char *argv[])
{
- if (argc != 3)
+ int opt;
+ int path_fs = 0;
+ int len = 0;
+
+ while ((opt = getopt(argc, argv, "V")) > 0) {
+ switch (opt) {
+ case 'V':
+ path_fs = 1;
+ break;
+ }
+ }
+
+ if (argc < optind + 2)
return COMMAND_ERROR_USAGE;
- setenv(argv[2], dirname(argv[1]));
+ if (path_fs)
+ len = strlen(get_mounted_path(argv[optind]));
+
+ setenv(argv[optind + 1], dirname(argv[optind]) + len);
return 0;
}
BAREBOX_CMD_HELP_START(dirname)
-BAREBOX_CMD_HELP_USAGE("dirname NAME DIRNAME\n")
+BAREBOX_CMD_HELP_USAGE("dirname [-V] NAME DIRNAME\n")
BAREBOX_CMD_HELP_SHORT("strip last componext of NAME and store into $DIRNAME\n")
+BAREBOX_CMD_HELP_SHORT("-V return the path relative to the mountpoint.\n")
BAREBOX_CMD_HELP_END
BAREBOX_CMD_START(dirname)
--
1.7.10.4
More information about the barebox
mailing list