aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
index 09789670d..a0c8d128e 100644
--- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
+++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
@@ -39,6 +39,7 @@ char ErrorMsg[100];
int FileLength = 0;
int FileReceivedLength = 0;
static char g_cCwdBuf[50] = "/";
+uint32_t WrittenBytes = 0;
bool isDirectory(FileAttribute FileAtt)
{
@@ -58,9 +59,11 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer)
FileUploadRequest* request = file_upload_request__unpack(NULL, requestContainer->data.len, requestContainer->data.data);
FileUploadResponse response = FILE_UPLOAD_RESPONSE__INIT;
+
+ WrittenBytes=0;
FileHandle = malloc(sizeof(FIL));
if (FileHandle == 0)
- Fresult == FR_DENIED;
+ Fresult = FR_DENIED;
else
{
Fresult = f_open(FileHandle,request->filename,FA_READ | FA_WRITE | FA_OPEN_ALWAYS );
@@ -96,7 +99,6 @@ uint32_t FileChunkUploadRequestFunc(MessageContainer* requestContainer)
{
uint32_t status = OK;
FRESULT Fresult = FR_OK;
- uint32_t WrittenBytes = 0;
MessageContainer responseContainer;
@@ -235,7 +237,7 @@ uint32_t CreateRequestFunc(MessageContainer* requestContainer)
{
FileHandle = malloc(sizeof(FIL));
if (FileHandle == 0)
- Fresult == FR_DENIED;
+ Fresult = FR_DENIED;
else
{
Fresult = f_open(FileHandle,request->path,FA_CREATE_NEW);
@@ -286,6 +288,14 @@ uint32_t DeleteRequestFunc(MessageContainer* requestContainer)
int NumOfFiles = 0;
FRESULT Fresult = FR_OK;
+ Fresult |= f_opendir(&dir, g_cCwdBuf);
+ if(Fresult != FR_OK)
+ {
+ return(Fresult);
+ }
+
+ fno = my_malloc(sizeof(FILINFO));
+ memset (fno,0,sizeof(FILINFO));
Fresult = f_stat(request->path,fno);
if (Fresult == FR_OK)
{
@@ -331,6 +341,7 @@ uint32_t DeleteRequestFunc(MessageContainer* requestContainer)
uint8_t* container_buffer = my_malloc(message_container__get_packed_size(&responseContainer));
size_t container_size = message_container__pack(&responseContainer, container_buffer);
my_free(responseContainer.data.data);
+ my_free(fno);
delete_request__free_unpacked(request,NULL);
SendChars(container_buffer, container_size);