diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/drivers/ao_fat.c | 19 | ||||
-rw-r--r-- | src/drivers/ao_log_fat.c | 4 |
2 files changed, 10 insertions, 13 deletions
diff --git a/src/drivers/ao_fat.c b/src/drivers/ao_fat.c index afd645cd..1a1b8eb0 100644 --- a/src/drivers/ao_fat.c +++ b/src/drivers/ao_fat.c @@ -1052,7 +1052,7 @@ static int8_t _ao_fat_open(char name[11], uint8_t mode) { uint16_t entry = 0; - struct ao_fat_dirent dirent; + static struct ao_fat_dirent dirent; int8_t status; if (_ao_fat_setup() != AO_FAT_FILESYSTEM_SUCCESS) @@ -1214,12 +1214,11 @@ ao_fat_map_current(struct ao_file *file, int len, cluster_offset_t *offsetp, clu offset = file->offset & SECTOR_MASK; sector = _ao_fat_current_sector(file); if (sector == 0xffffffff) { - printf ("invalid sector at offset %d\n", file->offset); return NULL; } buf = _ao_fat_sector_get(sector); if (!buf) - printf ("sector get failed. Sector %d. Partition end %d\n", sector, partition_end); + return NULL; if (offset + len < SECTOR_SIZE) *this_time = len; else @@ -1259,7 +1258,6 @@ ao_fat_read(int8_t fd, void *dst, int len) while (len) { buf = ao_fat_map_current(file, len, &offset, &this_time); if (!buf) { - printf ("map_current failed\n"); ret = -AO_FAT_EIO; break; } @@ -1307,7 +1305,6 @@ ao_fat_write(int8_t fd, void *src, int len) while (len) { buf = ao_fat_map_current(file, len, &offset, &this_time); if (!buf) { - printf ("map_current failed\n"); ret = -AO_FAT_EIO; break; } @@ -1375,7 +1372,7 @@ int8_t ao_fat_unlink(char name[11]) { uint16_t entry = 0; - struct ao_fat_dirent dirent; + static struct ao_fat_dirent dirent; int8_t ret; ao_mutex_get(&ao_fat_mutex); @@ -1492,7 +1489,7 @@ static void ao_fat_list_cmd(void) { uint16_t entry = 0; - struct ao_fat_dirent dirent; + static struct ao_fat_dirent dirent; int i; int8_t status; @@ -1535,10 +1532,10 @@ ao_fat_parse_name(char name[11]) static void ao_fat_dump_cmd(void) { - char name[11]; + static char name[11]; int8_t fd; int cnt, i; - char buf[32]; + static char buf[32]; ao_fat_parse_name(name); if (name[0] == '\0') { @@ -1561,10 +1558,10 @@ ao_fat_dump_cmd(void) static void ao_fat_write_cmd(void) { - char name[11]; + static char name[11]; int8_t fd; int cnt, i; - char buf[64]; + static char buf[64]; char c; int status; diff --git a/src/drivers/ao_log_fat.c b/src/drivers/ao_log_fat.c index af77401c..45b67012 100644 --- a/src/drivers/ao_log_fat.c +++ b/src/drivers/ao_log_fat.c @@ -27,7 +27,7 @@ static uint8_t log_mutex; static void ao_log_open(void) { - char name[12]; + static char name[12]; int8_t status; sprintf(name,"%04d%02d%02dLOG", 2000 + log_year, log_month, log_day); @@ -38,7 +38,7 @@ ao_log_open(void) log_open = 1; } else if (status == -AO_FAT_ENOENT) { status = ao_fat_creat(name); - if (status == AO_FAT_SUCCESS) { + if (status >= 0) { log_fd = status; log_open = 1; } |