mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-30 21:30:04 +00:00 
			
		
		
		
	Merge pull request #1290 from LFsWang/master
Add a return value in ForeachDirectoryEntry
This commit is contained in:
		
						commit
						40599c24ea
					
				
					 1 changed files with 14 additions and 4 deletions
				
			
		|  | @ -427,6 +427,9 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string &directo | ||||||
|     // How many files + directories we found
 |     // How many files + directories we found
 | ||||||
|     unsigned found_entries = 0; |     unsigned found_entries = 0; | ||||||
| 
 | 
 | ||||||
|  |     // Save the status of callback function
 | ||||||
|  |     bool callback_error = false; | ||||||
|  | 
 | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
|     // Find the first file in the directory.
 |     // Find the first file in the directory.
 | ||||||
|     WIN32_FIND_DATA ffd; |     WIN32_FIND_DATA ffd; | ||||||
|  | @ -455,8 +458,10 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string &directo | ||||||
|             continue; |             continue; | ||||||
| 
 | 
 | ||||||
|         unsigned ret_entries; |         unsigned ret_entries; | ||||||
|         if (!callback(&ret_entries, directory, virtual_name)) |         if (!callback(&ret_entries, directory, virtual_name)) { | ||||||
|  |             callback_error = true; | ||||||
|             break; |             break; | ||||||
|  |         } | ||||||
|         found_entries += ret_entries; |         found_entries += ret_entries; | ||||||
| 
 | 
 | ||||||
| #ifdef _WIN32 | #ifdef _WIN32 | ||||||
|  | @ -467,9 +472,14 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string &directo | ||||||
|     closedir(dirp); |     closedir(dirp); | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
|     // num_entries_out is allowed to be specified nullptr, in which case we shouldn't try to set it
 |     if (!callback_error) { | ||||||
|     if (num_entries_out != nullptr) |         // num_entries_out is allowed to be specified nullptr, in which case we shouldn't try to set it
 | ||||||
|         *num_entries_out = found_entries; |         if (num_entries_out != nullptr) | ||||||
|  |             *num_entries_out = found_entries; | ||||||
|  |         return true; | ||||||
|  |     } else { | ||||||
|  |         return false; | ||||||
|  |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| unsigned ScanDirectoryTree(const std::string &directory, FSTEntry& parent_entry) | unsigned ScanDirectoryTree(const std::string &directory, FSTEntry& parent_entry) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue