From 4a0697786aa25f3e7496657f2689fafc8c8cef12 Mon Sep 17 00:00:00 2001 From: patacongo Date: Sun, 1 Jul 2007 19:22:54 +0000 Subject: [PATCH] Add rm and rmdir commandsChangeLog git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@304 42af7a65-404d-4744-a932-0658087f49c3 --- Documentation/NuttX.html | 2 +- examples/nsh/nsh.h | 2 ++ examples/nsh/nsh_fscmds.c | 28 ++++++++++++++++++++++++++++ examples/nsh/nsh_main.c | 8 +++++--- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html index dd73585c12c..c9cf2f5d39f 100644 --- a/Documentation/NuttX.html +++ b/Documentation/NuttX.html @@ -633,7 +633,7 @@ Other memory: * examples/ostest: Added an environment variable test. * examples/nsh/: Break into several files. * lib/: Added strrchr, basename, dirname - * examples/nsh/: Add cp command + * examples/nsh/: Add cp, rm, and rmdir commands * Started m68322 diff --git a/examples/nsh/nsh.h b/examples/nsh/nsh.h index 521a935fe61..fef113e456e 100644 --- a/examples/nsh/nsh.h +++ b/examples/nsh/nsh.h @@ -85,6 +85,8 @@ void cmd_mount(int argc, char **argv); #endif void cmd_ps(int argc, char **argv); #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 +void cmd_rm(int argc, char **argv); +void cmd_rmdir(int argc, char **argv); void cmd_umount(int argc, char **argv); #endif diff --git a/examples/nsh/nsh_fscmds.c b/examples/nsh/nsh_fscmds.c index f8f95d39c96..a40120d8f54 100644 --- a/examples/nsh/nsh_fscmds.c +++ b/examples/nsh/nsh_fscmds.c @@ -683,6 +683,34 @@ void cmd_mount(int argc, char **argv) } #endif +/**************************************************************************** + * Name: cmd_rm + ****************************************************************************/ + +#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 +void cmd_rm(int argc, char **argv) +{ + if (unlink(argv[1]) < 0) + { + printf(g_fmtcmdfailed, argv[0], "unlink", strerror(errno)); + } +} +#endif + +/**************************************************************************** + * Name: cmd_rm + ****************************************************************************/ + +#if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 +void cmd_rmdir(int argc, char **argv) +{ + if (rmdir(argv[1]) < 0) + { + printf(g_fmtcmdfailed, argv[0], "rmdir", strerror(errno)); + } +} +#endif + /**************************************************************************** * Name: cmd_umount ****************************************************************************/ diff --git a/examples/nsh/nsh_main.c b/examples/nsh/nsh_main.c index 774a7d3686b..e0b7e790497 100644 --- a/examples/nsh/nsh_main.c +++ b/examples/nsh/nsh_main.c @@ -91,15 +91,17 @@ static const struct cmdmap_s g_cmdmap[] = { "exec", cmd_exec, 2, 3, "" }, { "help", cmd_help, 1, 1, NULL }, #if CONFIG_NFILE_DESCRIPTORS > 0 - { "ls", cmd_ls, 2, 5, "[-lRs] " }, + { "ls", cmd_ls, 2, 5, "[-lRs] " }, #endif #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 { "mkdir", cmd_mkdir, 2, 2, "" }, - { "mount", cmd_mount, 4, 5, "-t " }, + { "mount", cmd_mount, 4, 5, "-t " }, #endif { "ps", cmd_ps, 1, 1, NULL }, #if !defined(CONFIG_DISABLE_MOUNTPOINT) && CONFIG_NFILE_DESCRIPTORS > 0 - { "umount", cmd_umount, 2, 2, "" }, + { "rm", cmd_rm, 2, 2, "" }, + { "rmdir", cmd_rmdir, 2, 2, "" }, + { "umount", cmd_umount, 2, 2, "" }, #endif { NULL, NULL, 1, 1, NULL } };