@@ -92,11 +92,11 @@ uint8_t file_create(file_t* file_inst, char* filepath){
9292 Partition_t * partition = fileManage_getPartition (filepath );
9393 if (partition == 0 ) return 0 ;
9494
95- uint8_t tmp_filepath_len = strlen (filepath )- 2 ;
96- char tmp_filepath [tmp_filepath_len ];
97- for (uint8_t i = 0 ; i < tmp_filepath_len + 1 ; ++ i ){
98- tmp_filepath [i ] = filepath [i + 3 ];
99- }
95+ uint8_t tmp_filepath_len = MAX ( strlen (filepath ), 3 ) - 3 ;
96+ char tmp_filepath [tmp_filepath_len + 1 ];
97+ for (uint8_t i = 0 ; i < tmp_filepath_len ; ++ i )
98+ tmp_filepath [i ] = filepath [i + 3 ];
99+ tmp_filepath [ tmp_filepath_len ] = 0 ;
100100 //file_t* file_inst = malloc(sizeof(file_t), 0);
101101 if (partition -> createFile (partition -> inst , tmp_filepath , file_inst ) == 0 ){
102102 //free(file_inst);
@@ -110,11 +110,11 @@ uint8_t file_find(file_t* file_inst, char* filepath){
110110 Partition_t * partition = fileManage_getPartition (filepath );
111111 if (partition == 0 ) return 0 ;
112112
113- uint8_t tmp_filepath_len = strlen (filepath )- 2 ;
114- char tmp_filepath [tmp_filepath_len ];
115- for (uint8_t i = 0 ; i < tmp_filepath_len + 1 ; ++ i ){
116- tmp_filepath [i ] = filepath [i + 3 ];
117- }
113+ uint8_t tmp_filepath_len = MAX ( strlen (filepath ), 3 ) - 3 ;
114+ char tmp_filepath [tmp_filepath_len + 1 ];
115+ for (uint8_t i = 0 ; i < tmp_filepath_len ; ++ i )
116+ tmp_filepath [i ] = filepath [i + 3 ];
117+ tmp_filepath [ tmp_filepath_len ] = 0 ;
118118
119119 //file_t* file_inst = malloc(sizeof(file_t), 0);
120120 if (partition -> findFile (partition -> inst , tmp_filepath , file_inst ) == 0 ){
@@ -133,23 +133,23 @@ uint8_t file_isDirectory(char* filepath){
133133 Partition_t * partition = fileManage_getPartition (filepath );
134134 if (partition == 0 ) return 0 ;
135135
136- uint8_t tmp_filepath_len = strlen (filepath )- 2 ;
137- char tmp_filepath [tmp_filepath_len ];
138- for (uint8_t i = 0 ; i < tmp_filepath_len + 1 ; ++ i ){
139- tmp_filepath [i ] = filepath [i + 3 ];
140- }
136+ uint8_t tmp_filepath_len = MAX ( strlen (filepath ), 3 ) - 3 ;
137+ char tmp_filepath [tmp_filepath_len + 1 ];
138+ for (uint8_t i = 0 ; i < tmp_filepath_len ; ++ i )
139+ tmp_filepath [i ] = filepath [i + 3 ];
140+ tmp_filepath [ tmp_filepath_len ] = 0 ;
141141 return partition -> isDirectory (partition -> inst , tmp_filepath );
142142}
143143
144144uint8_t file_createDirectory (char * filepath ){
145145 Partition_t * partition = fileManage_getPartition (filepath );
146146 if (partition == 0 ) return 0 ;
147147
148- uint8_t tmp_filepath_len = strlen (filepath )- 2 ;
149- char tmp_filepath [tmp_filepath_len ];
150- for (uint8_t i = 0 ; i < tmp_filepath_len + 1 ; ++ i ){
151- tmp_filepath [i ] = filepath [i + 3 ];
152- }
148+ uint8_t tmp_filepath_len = MAX ( strlen (filepath ), 3 ) - 3 ;
149+ char tmp_filepath [tmp_filepath_len + 1 ];
150+ for (uint8_t i = 0 ; i < tmp_filepath_len ; ++ i )
151+ tmp_filepath [i ] = filepath [i + 3 ];
152+ tmp_filepath [ tmp_filepath_len ] = 0 ;
153153 //return 0; // just for debugging
154154 return partition -> createDirectory (partition -> inst , tmp_filepath );
155155}
@@ -158,11 +158,11 @@ uint8_t file_findByIndex(file_t* file_inst, char* dirpath, uint32_t index){
158158 Partition_t * partition = fileManage_getPartition (dirpath );
159159 if (partition == 0 ) return 0 ;
160160
161- uint8_t tmp_filepath_len = strlen (dirpath )- 2 ;
162- char tmp_filepath [tmp_filepath_len ];
163- for (uint8_t i = 0 ; i < tmp_filepath_len + 1 ; ++ i ){
164- tmp_filepath [i ] = dirpath [i + 3 ];
165- }
161+ uint8_t tmp_filepath_len = MAX ( strlen (dirpath ), 3 ) - 3 ;
162+ char tmp_filepath [tmp_filepath_len + 1 ];
163+ for (uint8_t i = 0 ; i < tmp_filepath_len ; ++ i )
164+ tmp_filepath [i ] = dirpath [i + 3 ];
165+ tmp_filepath [ tmp_filepath_len ] = 0 ;
166166 if (!partition -> findFileByIndex (partition -> inst , file_inst , tmp_filepath , index )){
167167 return 0 ; // Failed
168168 }
@@ -214,11 +214,11 @@ uint8_t file_delete(char* filepath){
214214 Partition_t * partition = fileManage_getPartition (filepath );
215215 if (partition == 0 ) return 0 ;
216216
217- uint8_t tmp_filepath_len = strlen (filepath )- 2 ;
218- char tmp_filepath [tmp_filepath_len ];
219- for (uint8_t i = 0 ; i < tmp_filepath_len + 1 ; ++ i ){
220- tmp_filepath [i ] = filepath [i + 3 ];
221- }
217+ uint8_t tmp_filepath_len = MAX ( strlen (filepath ), 3 ) - 3 ;
218+ char tmp_filepath [tmp_filepath_len + 1 ];
219+ for (uint8_t i = 0 ; i < tmp_filepath_len ; ++ i )
220+ tmp_filepath [i ] = filepath [i + 3 ];
221+ tmp_filepath [ tmp_filepath_len ] = 0 ;
222222
223223 partition -> deleteFile (partition -> inst , tmp_filepath );
224224 return 1 ;
0 commit comments