Skip to content

Commit

Permalink
Merge branch 'bugfix/fatfsparse-fix-ignoring-first-file' into 'master'
Browse files Browse the repository at this point in the history
fatfsparse.py: Fixed ignoring first file in directory

Closes IDF-5968

See merge request espressif/esp-idf!20145
  • Loading branch information
pacucha42 committed Sep 16, 2022
2 parents d9df69e + 26f7f10 commit 952c0f7
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
2 changes: 2 additions & 0 deletions components/fatfs/fatfs_utils/entry.py
Expand Up @@ -31,6 +31,8 @@ class Entry:
LDIR_Name3_IDX: int = 28
LDIR_Name3_SIZE: int = 2

# short entry in long file names
LDIR_DIR_NTRES: int = 0x18
# one entry can hold 13 characters with size 2 bytes distributed in three regions of the 32 bytes entry
CHARS_PER_ENTRY: int = LDIR_Name1_SIZE + LDIR_Name2_SIZE + LDIR_Name3_SIZE

Expand Down
4 changes: 3 additions & 1 deletion components/fatfs/fatfsparse.py
Expand Up @@ -24,7 +24,9 @@ def get_obj_name(obj_: dict, directory_bytes_: bytes, entry_position_: int, lfn_
ext_ = f'.{obj_ext_}' if len(obj_ext_) > 0 else ''
obj_name_: str = obj_['DIR_Name'].rstrip(chr(PAD_CHAR)) + ext_ # short entry name

if not args.long_name_support:
# if LFN was detected, the record is considered as single SFN record only if DIR_NTRes == 0x18 (LDIR_DIR_NTRES)
# if LFN was not detected, the record cannot be part of the LFN, no matter the value of DIR_NTRes
if not args.long_name_support or obj_['DIR_NTRes'] == Entry.LDIR_DIR_NTRES:
return obj_name_

full_name = {}
Expand Down

0 comments on commit 952c0f7

Please sign in to comment.