]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/cmd_fat.c
Bugfix do_stat(): Output formating (+ minor opt)
[z180-stamp.git] / avr / cmd_fat.c
index 9750c38c5c09148f99c6e3bbfbb7a3efb6aa6362..52ad95f498c524f27f2cb166d2491e8859ae9610 100644 (file)
@@ -105,9 +105,10 @@ static void swirl(void)
        static uint32_t tstamp;
 
        if (get_timer(0) > tstamp) {
-               printf_P(PSTR("\b%c"), swirlchar[cnt]);
-               cnt = (cnt+1) % ARRAY_SIZE(swirlchar);
                tstamp = get_timer(0) + 250;
+               putchar('\b');
+               cnt = (cnt+1) & 3;
+               putchar(swirlchar[cnt]);
        }
 }
 
@@ -368,7 +369,7 @@ command_ret_t do_stat(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int arg
                                fs->n_rootdir, fs->fsize, fs->n_fatent - 2,
                                fs->fatbase, fs->dirbase, fs->database);
 
-#if _USE_LABEL
+#if FF_USE_LABEL
                DWORD serial;
                res = f_getlabel(path, buf, &serial);
                if (!res) {
@@ -379,14 +380,15 @@ command_ret_t do_stat(cmd_tbl_t *cmdtp UNUSED, uint_fast8_t flag UNUSED, int arg
                }
 #endif
                if (!res) {
-                       my_puts_P(PSTR("\nCounting...  "));
                        statp.AccSize = statp.AccFiles = statp.AccDirs = 0;
                        strcpy(buf, path);
 
+                       my_puts_P(PSTR("\nCounting...  "));
                        res = scan_files(buf, &statp);
+                       putchar('\r');
                }
                if (!res) {
-                       printf_P(PSTR("\r%u files, %lu bytes.\n%u folders.\n"
+                       printf_P(PSTR("%u files, %lu bytes.\n%u folders.\n"
                                                 "%lu KB total disk space.\n%lu KB available.\n"),
                                        statp.AccFiles, statp.AccSize, statp.AccDirs,
                                        (fs->n_fatent - 2) * (fs->csize / 2), nfreeclst * (fs->csize / 2)