extmod/vfs_fat: Add fat_vfs_import_stat(), reusable import stat routine.
Moved from stmhal.
This commit is contained in:
parent
eaa96a7610
commit
6ef65e70af
@ -34,6 +34,7 @@
|
|||||||
#include "lib/fatfs/diskio.h"
|
#include "lib/fatfs/diskio.h"
|
||||||
#include "extmod/vfs_fat_file.h"
|
#include "extmod/vfs_fat_file.h"
|
||||||
#include "fsusermount.h"
|
#include "fsusermount.h"
|
||||||
|
#include "py/lexer.h"
|
||||||
|
|
||||||
#if _USE_LFN
|
#if _USE_LFN
|
||||||
STATIC char lfn[_MAX_LFN + 1]; /* Buffer to store the LFN */
|
STATIC char lfn[_MAX_LFN + 1]; /* Buffer to store the LFN */
|
||||||
@ -94,4 +95,21 @@ mp_obj_t fat_vfs_listdir(const char *path, bool is_str_type) {
|
|||||||
return dir_list;
|
return dir_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mp_import_stat_t fat_vfs_import_stat(const char *path) {
|
||||||
|
FILINFO fno;
|
||||||
|
#if _USE_LFN
|
||||||
|
fno.lfname = NULL;
|
||||||
|
fno.lfsize = 0;
|
||||||
|
#endif
|
||||||
|
FRESULT res = f_stat(path, &fno);
|
||||||
|
if (res == FR_OK) {
|
||||||
|
if ((fno.fattrib & AM_DIR) != 0) {
|
||||||
|
return MP_IMPORT_STAT_DIR;
|
||||||
|
} else {
|
||||||
|
return MP_IMPORT_STAT_FILE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MP_IMPORT_STAT_NO_EXIST;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // MICROPY_VFS_FAT
|
#endif // MICROPY_VFS_FAT
|
||||||
|
@ -29,19 +29,8 @@
|
|||||||
#include "py/lexer.h"
|
#include "py/lexer.h"
|
||||||
#include "lib/fatfs/ff.h"
|
#include "lib/fatfs/ff.h"
|
||||||
|
|
||||||
|
mp_import_stat_t fat_vfs_import_stat(const char *path);
|
||||||
|
|
||||||
mp_import_stat_t mp_import_stat(const char *path) {
|
mp_import_stat_t mp_import_stat(const char *path) {
|
||||||
FILINFO fno;
|
return fat_vfs_import_stat(path);
|
||||||
#if _USE_LFN
|
|
||||||
fno.lfname = NULL;
|
|
||||||
fno.lfsize = 0;
|
|
||||||
#endif
|
|
||||||
FRESULT res = f_stat(path, &fno);
|
|
||||||
if (res == FR_OK) {
|
|
||||||
if ((fno.fattrib & AM_DIR) != 0) {
|
|
||||||
return MP_IMPORT_STAT_DIR;
|
|
||||||
} else {
|
|
||||||
return MP_IMPORT_STAT_FILE;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return MP_IMPORT_STAT_NO_EXIST;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user