}
+static const FLASH char * const FLASH rc_strings[] = {
+ FSTR("OK"),
+ FSTR("disk error"),
+ FSTR("internal error"),
+ FSTR("not ready"),
+ FSTR("no file"),
+ FSTR("no path"),
+ FSTR("invalid name"),
+ FSTR("denied"),
+ FSTR("exist"),
+ FSTR("invalid object"),
+ FSTR("write protected"),
+ FSTR("invalid drive"),
+ FSTR("not enabled"),
+ FSTR("no file system"),
+ FSTR("mkfs aborted"),
+ FSTR("timeout"),
+ FSTR("locked"),
+ FSTR("not enough core"),
+ FSTR("too many open files"),
+ FSTR("invalid parameter")
+ };
+
static const FLASH char * const FLASH rc_names[] = {
FSTR("OK"),
FSTR("DISK_ERR"),
}
-void err(const char *fmt, ...)
+const FLASH char * rctostr(FRESULT rc)
{
- va_list ap;
- va_start(ap, fmt);
- printf_P(PSTR("fat %s: "), cmdname);
- vfprintf_P(stdout, fmt, ap);
- va_end(ap);
- printf_P(PSTR("\n"));
- _delay_ms(20);
- command_ret = CMD_RET_FAILURE;
+ return rc < ARRAY_SIZE(rc_strings) ? rc_strings[rc] : PSTR(" Unknown Error");
}
static void swirl(void)
static PATH_T *path_setup(char *string)
{
if (strlen(string) > PATH_MAX) {
- err(PSTR("'%s': name too long"), string);
+ cmd_error(PSTR("'%s': name too long"), string);
return NULL;
}
PATH_T *p = (PATH_T *) malloc(sizeof *p);
if (p == NULL) {
- err(PSTR("'%s': Out of Memory"), string);
+ cmd_error(PSTR("'%s': Out of Memory"), string);
return NULL;
}
p->p_path[2] = '/';
len += 1;
} else {
- err(PSTR("'%s': Out of Memory"), string);
+ cmd_error(PSTR("'%s': Out of Memory"), string);
return NULL;
}
}
char *arg;
FRESULT res = FR_OK;
- cmdname = argv[0];
-
if (argc < 2) {
arg = getenv_str(PSTR(ENV_HOME));
if (arg == NULL) {