diff options
Diffstat (limited to 'avr/cmd_loadcpm3.c')
-rw-r--r-- | avr/cmd_loadcpm3.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/avr/cmd_loadcpm3.c b/avr/cmd_loadcpm3.c index 39e3278..6ccb3f9 100644 --- a/avr/cmd_loadcpm3.c +++ b/avr/cmd_loadcpm3.c @@ -71,7 +71,7 @@ command_ret_t do_loadcpm3(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * uint32_t banked_base; char *fname; FIL File; - char default_fname[] = CONFIG_CPM3_SYSFILE; + char default_fname[strlen_P(PSTR(CONFIG_CPM3_SYSFILE)) + 1]; unsigned int br; /* bytes read */ uint8_t buffer[RS]; int res; @@ -90,11 +90,13 @@ command_ret_t do_loadcpm3(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * common_base = eval_arg(argv[2], NULL); fname = getenv_str(PSTR(ENV_CPM3_SYSFILE)); + if (fname == NULL || *fname == '\0') { + strcpy_P(default_fname, PSTR(CONFIG_CPM3_SYSFILE)); + fname = default_fname; + } if (argc > 1) { fname = argv[1]; } - if (fname == NULL || *fname == '\0') - fname = default_fname; res = f_open(&File, fname, FA_READ ); if (res) { |