diff options
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c | 17 |
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); |
