]> cloudbase.mooo.com Git - z180-stamp.git/commitdiff
pwd hack
authorLeo C <erbl259-lmu@yahoo.de>
Tue, 31 Jul 2018 05:58:00 +0000 (07:58 +0200)
committerLeo C <erbl259-lmu@yahoo.de>
Tue, 31 Jul 2018 05:58:00 +0000 (07:58 +0200)
avr/cmd_fat.c

index 29275a1ce7bbf9da7aafd5ee9f38a5d2f1ac6379..60102ed87df35a2d402d81f06a9d7f60bb667f5a 100644 (file)
 #include "debug.h"
 #include "env.h"
 
+
+#define DEBUG_FA               0       /* set to 1 to debug */
+
+#define debug_fa(fmt, args...)                                                        \
+       debug_cond(DEBUG_FA, fmt, ##args)
+
+
 /* TODO: use memory size test function (detect_ramsize() in cmd_loadihex.c) */
 /* TODO: detect_ramsize() should be moved to z80-if.c */
 #define MAX_MEMORY     CONFIG_SYS_RAMSIZE_MAX
@@ -160,18 +167,18 @@ command_ret_t do_cd(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int argc,
        } else
                arg = argv[1];
 
-       if (arg[1] == ':') {
-               char drv[3];
-               drv[2] = '\0';
-               drv[1] = ':';
-               drv[0] = arg[0];
-               res = f_chdrive(drv);
-       }
-       if (!res) {
+       if (arg[1] == ':')
+               res = f_chdrive(arg);
+debug_fa("### f_chdrive(): arg: '%s', res: %d\n", arg, res);
+       if (res == FR_OK) {
+               if (arg[2] == '\0') {
+                       arg[0] = '/';
+                       arg[1] = '\0';
+               }
                res = f_chdir(arg);
        }
-
-       if (res) {
+debug_fa("### f_chdir():   arg: '%s', res: %d\n", arg, res);
+       if (res != FR_OK) {
                put_rc(res);
                return CMD_RET_FAILURE;
        }