diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-03 12:02:46 +0200 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-02-03 12:02:46 +0200 |
| commit | 7a1f9f14cc50001366be0efefc25fd5af403d02e (patch) | |
| tree | 3f6311854290dc99b7928c92bf442d04bfdd928c /Software/Embedded_SW/Embedded/Common/SWUpdate | |
| parent | 2673941e1a4bcbf3dd74b3135d7587f117d96464 (diff) | |
| parent | cacc418315233e726064376993da372f89b8fd55 (diff) | |
| download | Tango-7a1f9f14cc50001366be0efefc25fd5af403d02e.tar.gz Tango-7a1f9f14cc50001366be0efefc25fd5af403d02e.zip | |
Merge branch 'master' of https://twinetfs.visualstudio.com/_git/Tango
Diffstat (limited to 'Software/Embedded_SW/Embedded/Common/SWUpdate')
| -rw-r--r-- | Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c | 55 |
1 files changed, 30 insertions, 25 deletions
diff --git a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c index dc9bac054..ce36f57e6 100644 --- a/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c +++ b/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c @@ -91,6 +91,11 @@ uint32_t FileUploadRequestFunc(MessageContainer* requestContainer) strcpy(FileHandleChar, "1234"); response.uploadid = FileHandleChar; //supporting only single file at each time. } + else + { + free (FileHandle); + FileHandle = 0; + } } @@ -382,6 +387,7 @@ uint32_t GetStorageInfoRequestFunc(MessageContainer* requestContainer) response.capacity = tot_sect/2; response.has_freespace = true; response.freespace = fre_sect/2; + response.root = "0:"; } @@ -413,6 +419,7 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer) #define MAX_NUM_OF_FILES 10 DIR dir; FILINFO* fno[MAX_NUM_OF_FILES]; + char FullPath[MAX_NUM_OF_FILES][50]; int i,NumOfFiles = 0; FRESULT Fresult = FR_OK; @@ -429,36 +436,24 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer) fno[0] = my_malloc(sizeof(FILINFO)); memset (fno[0],0,sizeof(FILINFO)); - Fresult = f_stat(request->path,fno[0]); - if (Fresult == FR_OK) - { - if (isDirectory(fno[0]->fattrib)) - { - NumOfFiles++; - //============================ - Fresult = f_opendir(&dir, request->path); /* Open the directory */ + //============================ + Fresult = f_opendir(&dir, request->path); /* Open the directory */ + if (Fresult == FR_OK) + { + for (NumOfFiles = 1;NumOfFiles < MAX_NUM_OF_FILES;NumOfFiles++) + { + fno[NumOfFiles] = my_malloc(sizeof(FILINFO)); + memset (fno[NumOfFiles],0,sizeof(FILINFO)); + Fresult = f_readdir(&dir, fno[NumOfFiles]); /* Read a directory item */ if (Fresult == FR_OK) { - for (NumOfFiles = 1;NumOfFiles < MAX_NUM_OF_FILES;NumOfFiles++) + if(fno[NumOfFiles]->fname[0] ==0) { - fno[NumOfFiles] = my_malloc(sizeof(FILINFO)); - memset (fno[NumOfFiles],0,sizeof(FILINFO)); - Fresult = f_readdir(&dir, fno[NumOfFiles]); /* Read a directory item */ - if (Fresult == FR_OK) - { - if(fno[NumOfFiles]->fname[0] ==0) - { - break; - } - } + break; } } - } - else - { - Fresult = FR_DENIED; - } - } + } + } if ((Fresult == FR_OK)&&(NumOfFiles)) { @@ -474,6 +469,16 @@ uint32_t GetFilesRequestFunc(MessageContainer* requestContainer) Data[i].length = fno[i]->fsize; Data[i].lastmodifieddate = fno[i]->fdate; Data[i].lastmodifiedtime = fno[i]->ftime; + //strcpy(FullPath[i],request->path); + //strcat(FullPath[i],'\\'); + //strcat(FullPath[i],&fno[i]->fname); + //sprintf (FullPath[i], "%s/%s", request->path, &fno[i]->fname); + if (i==0) + usnprintf(&FullPath[i], 50, "%s", request->path); + else + usnprintf(&FullPath[i], 50, "%s%c%c%s", request->path,'\\','\\'/*"/"*/, fno[i]->fname); + Data[i].fullpath = &FullPath[i]; + } response.n_items = NumOfFiles; response.items = FilesInfo; |
