summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/drivers/ao_fat.c19
-rw-r--r--src/drivers/ao_log_fat.c4
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;
}