Completed SORT_USES_MORE_RAM implementation
For the MORE_RAM option we need to buffer both the short and long names, even though long names are sometimes redundant. Worst case, all the names are max length. We can save some RAM by not storing these. We could save more RAM by only storing the visible part of the long name.
This commit is contained in:
parent
de725bd408
commit
b4e287fe8e
|
@ -54,7 +54,7 @@ void CardReader::lsDive(const char *prepend,SdFile parent)
|
|||
dir_t p;
|
||||
uint8_t cnt=0;
|
||||
|
||||
while (parent.readDir(p, longFilename) > 0)
|
||||
while (parent.readDir(p, diveFilename) > 0)
|
||||
{
|
||||
if( DIR_IS_SUBDIR(&p) && lsAction!=LS_Count && lsAction!=LS_GetFilename) // hence LS_SerialPrint
|
||||
{
|
||||
|
@ -91,8 +91,8 @@ void CardReader::lsDive(const char *prepend,SdFile parent)
|
|||
{
|
||||
if (p.name[0] == DIR_NAME_FREE) break;
|
||||
if (p.name[0] == DIR_NAME_DELETED || p.name[0] == '.'|| p.name[0] == '_') continue;
|
||||
if (longFilename[0] != '\0' &&
|
||||
(longFilename[0] == '.' || longFilename[0] == '_')) continue;
|
||||
if (diveFilename[0] != '\0' &&
|
||||
(diveFilename[0] == '.' || diveFilename[0] == '_')) continue;
|
||||
if ( p.name[0] == '.')
|
||||
{
|
||||
if ( p.name[1] != '.')
|
||||
|
|
Loading…
Reference in a new issue