Optimize lsDive logic
This commit is contained in:
		
				
					committed by
					
						
						Richard Wackerbarth
					
				
			
			
				
	
			
			
			
						parent
						
							417706e578
						
					
				
				
					commit
					944090c19c
				
			@@ -62,20 +62,13 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
      // Allocate enough stack space for the full path to a folder, trailing slash, and nul
 | 
					      // Allocate enough stack space for the full path to a folder, trailing slash, and nul
 | 
				
			||||||
      boolean prepend_is_empty = (prepend[0] == '\0');
 | 
					      boolean prepend_is_empty = (prepend[0] == '\0');
 | 
				
			||||||
      int len = strlen(prepend) + (prepend_is_empty ? 1 : 0) + strlen(lfilename) + 1 + 1;
 | 
					      int len = (prepend_is_empty ? 1 : strlen(prepend)) + strlen(lfilename) + 1 + 1;
 | 
				
			||||||
      char path[len];
 | 
					      char path[len];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      // Append the FOLDERNAME12/ to the passed string.
 | 
					      // Append the FOLDERNAME12/ to the passed string.
 | 
				
			||||||
      // It contains the full path to the "parent" argument.
 | 
					      // It contains the full path to the "parent" argument.
 | 
				
			||||||
      // We now have the full path to the item in this folder.
 | 
					      // We now have the full path to the item in this folder.
 | 
				
			||||||
      if (prepend_is_empty) {
 | 
					      strcpy(path, prepend_is_empty ? "/" : prepend); // root slash if prepend is empty
 | 
				
			||||||
        path[0] = '/'; // a root slash if prepend is empty
 | 
					 | 
				
			||||||
        path[1] = '\0';
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      else
 | 
					 | 
				
			||||||
        path[0] = '\0';
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      strcat(path, prepend);   // 1 character minimum
 | 
					 | 
				
			||||||
      strcat(path, lfilename); // FILENAME_LENGTH-1 characters maximum
 | 
					      strcat(path, lfilename); // FILENAME_LENGTH-1 characters maximum
 | 
				
			||||||
      strcat(path, "/");       // 1 character
 | 
					      strcat(path, "/");       // 1 character
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user