summaryrefslogtreecommitdiff
path: root/components/dfs/src/dfs_file.c
diff options
context:
space:
mode:
Diffstat (limited to 'components/dfs/src/dfs_file.c')
-rw-r--r--components/dfs/src/dfs_file.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/components/dfs/src/dfs_file.c b/components/dfs/src/dfs_file.c
index 32198371d7..f5619e2354 100644
--- a/components/dfs/src/dfs_file.c
+++ b/components/dfs/src/dfs_file.c
@@ -555,7 +555,7 @@ void ls(const char *pathname)
if (pathname == RT_NULL)
rt_free(path);
}
-FINSH_FUNCTION_EXPORT(ls, list directory contents)
+FINSH_FUNCTION_EXPORT(ls, list directory contents);
void rm(const char *filename)
{
@@ -564,7 +564,7 @@ void rm(const char *filename)
rt_kprintf("Delete %s failed\n", filename);
}
}
-FINSH_FUNCTION_EXPORT(rm, remove files or directories)
+FINSH_FUNCTION_EXPORT(rm, remove files or directories);
void cat(const char* filename)
{
@@ -590,7 +590,7 @@ void cat(const char* filename)
dfs_file_close(&fd);
}
-FINSH_FUNCTION_EXPORT(cat, print file)
+FINSH_FUNCTION_EXPORT(cat, print file);
#define BUF_SZ 4096
static void copyfile(const char *src, const char *dst)
@@ -629,7 +629,15 @@ static void copyfile(const char *src, const char *dst)
read_bytes = dfs_file_read(&src_fd, block_ptr, BUF_SZ);
if (read_bytes > 0)
{
- dfs_file_write(&fd, block_ptr, read_bytes);
+ int length;
+
+ length = dfs_file_write(&fd, block_ptr, read_bytes);
+ if (length != read_bytes)
+ {
+ /* write failed. */
+ rt_kprintf("Write file data failed, errno=%d\n", length);
+ break;
+ }
}
} while (read_bytes > 0);