aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-02-03 12:02:46 +0200
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-02-03 12:02:46 +0200
commit7a1f9f14cc50001366be0efefc25fd5af403d02e (patch)
tree3f6311854290dc99b7928c92bf442d04bfdd928c /Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
parent2673941e1a4bcbf3dd74b3135d7587f117d96464 (diff)
parentcacc418315233e726064376993da372f89b8fd55 (diff)
downloadTango-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/FileSystem.c')
-rw-r--r--Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c55
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;