@@ -186,7 +186,11 @@ File SDClass::openRoot(void)
186
186
187
187
if (f_opendir (&file._dir , _fatFs.getRoot ()) != FR_OK)
188
188
{
189
+ #if _FATFS == 68300
190
+ file._dir .obj .fs = 0 ;
191
+ #else
189
192
file._dir .fs = 0 ;
193
+ #endif
190
194
}
191
195
return file;
192
196
}
@@ -196,8 +200,13 @@ File::File()
196
200
_name = NULL ;
197
201
_fil = (FIL*)malloc (sizeof (FIL));
198
202
assert (_fil != NULL );
203
+ #if _FATFS == 68300
204
+ _fil->obj .fs = 0 ;
205
+ _dir.obj .fs = 0 ;
206
+ #else
199
207
_fil->fs = 0 ;
200
208
_dir.fs = 0 ;
209
+ #endif
201
210
}
202
211
203
212
File::File (const char * name)
@@ -207,8 +216,13 @@ File::File(const char* name)
207
216
sprintf (_name, " %s" , name);
208
217
_fil = (FIL*)malloc (sizeof (FIL));
209
218
assert (_fil != NULL );
219
+ #if _FATFS == 68300
220
+ _fil->obj .fs = 0 ;
221
+ _dir.obj .fs = 0 ;
222
+ #else
210
223
_fil->fs = 0 ;
211
224
_dir.fs = 0 ;
225
+ #endif
212
226
}
213
227
214
228
/* * List directory contents to Serial.
@@ -230,9 +244,13 @@ void File::ls(uint8_t flags, uint8_t indent) {
230
244
char *fn;
231
245
232
246
#if _USE_LFN
247
+ #if _FATFS == 68300
248
+ /* altname */
249
+ #else
233
250
static char lfn[_MAX_LFN];
234
251
fno.lfname = lfn;
235
252
fno.lfsize = sizeof (lfn);
253
+ #endif
236
254
#endif
237
255
238
256
while (1 )
@@ -246,7 +264,7 @@ void File::ls(uint8_t flags, uint8_t indent) {
246
264
{
247
265
continue ;
248
266
}
249
- #if _USE_LFN
267
+ #if _USE_LFN && _FATFS != 68300
250
268
fn = *fno.lfname ? fno.lfname : fno.fname ;
251
269
#else
252
270
fn = fno.fname ;
@@ -377,7 +395,11 @@ void File::close()
377
395
{
378
396
if (_name)
379
397
{
398
+ #if _FATFS == 68300
399
+ if (_fil && _fil->obj .fs != 0 ) {
400
+ #else
380
401
if (_fil && _fil->fs != 0 ) {
402
+ #endif
381
403
/* Flush the file before close */
382
404
f_sync (_fil);
383
405
@@ -386,7 +408,11 @@ void File::close()
386
408
free (_fil);
387
409
}
388
410
411
+ #if _FATFS == 68300
412
+ if (_dir.obj .fs != 0 ) {
413
+ #else
389
414
if (_dir.fs != 0 ) {
415
+ #endif
390
416
f_closedir (&_dir);
391
417
}
392
418
@@ -468,7 +494,11 @@ uint32_t File::size()
468
494
}
469
495
470
496
File::operator bool () {
497
+ #if _FATFS == 68300
498
+ return ((_name == NULL ) || ((_fil == NULL ) && (_dir.obj .fs == 0 )) || ((_fil != NULL ) && (_fil->obj .fs == 0 ) && (_dir.obj .fs == 0 ))) ? FALSE : TRUE ;
499
+ #else
471
500
return ((_name == NULL ) || ((_fil == NULL ) && (_dir.fs == 0 )) || ((_fil != NULL ) && (_fil->fs == 0 ) && (_dir.fs == 0 ))) ? FALSE : TRUE ;
501
+ #endif
472
502
}
473
503
/* *
474
504
* @brief Write data to the file
@@ -566,9 +596,17 @@ uint8_t File::isDirectory()
566
596
{
567
597
FILINFO fno;
568
598
assert (_name != NULL );
569
- if (_dir.fs != 0 )
599
+ #if _FATFS == 68300
600
+ if (_dir.obj .fs != 0 )
601
+ #else
602
+ if (_dir.fs != 0 )
603
+ #endif
570
604
return TRUE ;
605
+ #if _FATFS == 68300
606
+ else if (_fil->obj .fs != 0 )
607
+ #else
571
608
else if (_fil->fs != 0 )
609
+ #endif
572
610
return FALSE ;
573
611
// if not init get info
574
612
if (f_stat (_name, &fno) == FR_OK)
@@ -590,7 +628,7 @@ File File::openNextFile(uint8_t mode)
590
628
char *fullPath = NULL ;
591
629
size_t name_len= strlen (_name);
592
630
size_t len = name_len;
593
- #if _USE_LFN
631
+ #if _USE_LFN && _FATFS != 68300
594
632
static char lfn[_MAX_LFN];
595
633
fno.lfname = lfn;
596
634
fno.lfsize = sizeof (lfn);
@@ -606,7 +644,7 @@ File File::openNextFile(uint8_t mode)
606
644
{
607
645
continue ;
608
646
}
609
- #if _USE_LFN
647
+ #if _USE_LFN && _FATFS != 68300
610
648
fn = *fno.lfname ? fno.lfname : fno.fname ;
611
649
#else
612
650
fn = fno.fname ;
@@ -634,7 +672,11 @@ void File::rewindDirectory(void)
634
672
{
635
673
if (isDirectory ())
636
674
{
675
+ #if _FATFS == 68300
676
+ if (_dir.obj .fs != 0 ) {
677
+ #else
637
678
if (_dir.fs != 0 ) {
679
+ #endif
638
680
f_closedir (&_dir);
639
681
}
640
682
f_opendir (&_dir, _name);
0 commit comments