]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - avr/cmd_fat.c
Additional Codes for HOME and END key.
[z180-stamp.git] / avr / cmd_fat.c
index af2f77253092198d04dfe74b0b0267a9937158bf..6ffbb79c75ffc2717a60ca3679d5ca6449972950 100644 (file)
@@ -1,7 +1,7 @@
 /*
- * (C) Copyright 2014 Leo C. <erbl259-lmu@yahoo.de>
+ * (C) Copyright 2014,2016 Leo C. <erbl259-lmu@yahoo.de>
  *
- * SPDX-License-Identifier:    GPL-2.0+
+ * SPDX-License-Identifier:    GPL-2.0
  */
 
 /*
@@ -9,13 +9,13 @@
  */
 
 #include "common.h"
-#include <stdlib.h>
 #include <string.h>
 #include <stdbool.h>
 
 #include "command.h"
 #include "ff.h"
 #include "z80-if.h"
+#include "eval_arg.h"
 #include "con-utils.h"
 #include "print-utils.h"
 #include "time.h"
@@ -339,7 +339,7 @@ command_ret_t do_fat_rw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[
        unsigned long bytes_rw;
 
        bool dowrite = (argv[0][3] == 'w');
-       FRESULT res;
+       FRESULT res = FR_OK;
        bool buserr = 0;
        uint32_t timer;
        uint8_t *buffer;
@@ -349,17 +349,17 @@ command_ret_t do_fat_rw(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[
        if (argc < (dowrite ? 4 : 3))
                return CMD_RET_USAGE;
 
-       addr = strtoul(argv[2], 0, 16);
+       addr = eval_arg(argv[2], NULL);
        if (addr >= MAX_MEMORY) {
                printf_P(PSTR("address too high: 0x%0lx\n"), addr);
                return CMD_RET_FAILURE;
        }
        if (argc > 3)
-               bytes = strtoul(argv[3], 0, 16);
+               bytes = eval_arg(argv[3], NULL);
        else
                bytes = MAX_MEMORY;
        if (argc > 4)
-               pos = strtoul(argv[4], 0, 16);
+               pos = eval_arg(argv[4], NULL);
        else
                pos = 0;