Enumerate a directory tree, filtered by pattern, and return a list.
Defined in <SDL3/SDL_storage.h>
char ** SDL_GlobStorageDirectory(SDL_Storage *storage, const char *path, const char *pattern, SDL_GlobFlags flags, int *count);| SDL_Storage * | storage | a storage container. |
| const char * | path | the path of the directory to enumerate, or NULL for the root. |
| const char * | pattern | the pattern that files in the directory must match. Can be NULL. |
| SDL_GlobFlags | flags | SDL_GLOB_* bitflags that affect this search. |
| int * | count | on return, will be set to the number of items in the returned array. Can be NULL. |
(char **) Returns an array of strings on success or NULL on failure; call SDL_GetError() for more information. The caller should pass the returned pointer to SDL_free when done with it. This is a single allocation that should be freed with SDL_free() when it is no longer needed.
Files are filtered out if they don't match the string in
pattern, which may contain wildcard characters
* (match everything) and ? (match one
character). If pattern is NULL, no filtering is done and all results are
returned. Subdirectories are permitted, and are specified with a path
separator of '/'. Wildcard characters * and ?
never match a path separator.
flags may be set to SDL_GLOB_CASEINSENSITIVE to
make the pattern matching case-insensitive.
The returned array is always NULL-terminated, for your iterating
convenience, but if count is non-NULL, on return it will
contain the number of items in the array, not counting the NULL
terminator.
If path is NULL, this is treated as a request to
enumerate the root of the storage container's tree. An empty string also
works for this.
It is safe to call this function from any thread, assuming the
storage object is thread-safe.
This function is available since SDL 3.2.0.