diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-02-29 00:44:12 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2016-02-29 00:44:32 +0200 |
commit | 6ef65e70af23508be303e46953b323409a2893ab (patch) | |
tree | e0f43f1376ff25a5f678d4f7c6a4aa9b6c19b2f1 | |
parent | eaa96a76101a1b15de3f96b0ede3d62fc5def6f5 (diff) | |
download | micropython-6ef65e70af23508be303e46953b323409a2893ab.tar.gz micropython-6ef65e70af23508be303e46953b323409a2893ab.zip |
extmod/vfs_fat: Add fat_vfs_import_stat(), reusable import stat routine.
Moved from stmhal.
-rw-r--r-- | extmod/vfs_fat_misc.c | 18 | ||||
-rw-r--r-- | stmhal/import.c | 17 |
2 files changed, 21 insertions, 14 deletions
diff --git a/extmod/vfs_fat_misc.c b/extmod/vfs_fat_misc.c index f9f49b0d3b..bf9ce05cd1 100644 --- a/extmod/vfs_fat_misc.c +++ b/extmod/vfs_fat_misc.c @@ -34,6 +34,7 @@ #include "lib/fatfs/diskio.h" #include "extmod/vfs_fat_file.h" #include "fsusermount.h" +#include "py/lexer.h" #if _USE_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; } +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 diff --git a/stmhal/import.c b/stmhal/import.c index c28fe87628..1edbe2caa1 100644 --- a/stmhal/import.c +++ b/stmhal/import.c @@ -29,19 +29,8 @@ #include "py/lexer.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) { - 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; + return fat_vfs_import_stat(path); } |