aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
diff options
context:
space:
mode:
authorShlomo Hecht <shlomo@twine-s.com>2019-02-03 08:54:15 +0200
committerShlomo Hecht <shlomo@twine-s.com>2019-02-03 08:54:15 +0200
commitc72eff42c5aec18513b3ec9d92486ec02a6a716b (patch)
tree91351fecbe9771bfc7c4c94be4af72548ad51ce6 /Software/Embedded_SW/Embedded/Common/SWUpdate/FileSystem.c
parentd53cf58d139b3682948f8fa82f3614ae86dbd18b (diff)
downloadTango-c72eff42c5aec18513b3ec9d92486ec02a6a716b.tar.gz
Tango-c72eff42c5aec18513b3ec9d92486ec02a6a716b.zip
file names short form
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;