commit - 3f03529f911621de2dedee358e728d5ac49fbb74
commit + 17388298de0507aa98bcaaf59f77b736cf89920e
blob - 31864c7907dbaf020bfd191bfa18a0c983b4dd75
blob + 9f40434650acf1a315a006c174c168a56e80e5c3
--- ftp.c
+++ ftp.c
}
static void
+cmd_lcd(int argc, const char **argv)
+{
+ const char *dir;
+
+ if (argc > 1) {
+ printf("lcd takes only one argument\n");
+ return;
+ }
+
+ if (argc == 1)
+ dir = *argv;
+
+ if (argc == 0 && (dir = getenv("HOME")) == NULL) {
+ printf("HOME is not defined\n");
+ return;
+ }
+
+ if (chdir(dir) == -1)
+ printf("cd: %s: %s\n", dir, strerror(errno));
+}
+
+static void
cmd_ls(int argc, const char **argv)
{
uint64_t off = 0;
} cmds[] = {
{"bell", cmd_bell},
{"bye", cmd_bye},
+ {"lcd", cmd_lcd},
{"ls", cmd_ls},
{"quit", cmd_bye},
{"verbose", cmd_verbose},