[FL-1799] Require the trailing slash for root paths (#2486)

* Require the trailing slash
* Fix the swapped storages
* Fix root paths
This commit is contained in:
Astra 2023-03-16 10:28:50 +02:00 committed by GitHub
parent d8385b7f91
commit 9fbf327028
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,6 +33,7 @@ static StorageType storage_get_type_by_path(FuriString* path) {
StorageType type = ST_ERROR; StorageType type = ST_ERROR;
const char* path_cstr = furi_string_get_cstr(path); const char* path_cstr = furi_string_get_cstr(path);
if(furi_string_size(path) == 4) {
if(memcmp(path_cstr, STORAGE_EXT_PATH_PREFIX, strlen(STORAGE_EXT_PATH_PREFIX)) == 0) { if(memcmp(path_cstr, STORAGE_EXT_PATH_PREFIX, strlen(STORAGE_EXT_PATH_PREFIX)) == 0) {
type = ST_EXT; type = ST_EXT;
} else if(memcmp(path_cstr, STORAGE_INT_PATH_PREFIX, strlen(STORAGE_INT_PATH_PREFIX)) == 0) { } else if(memcmp(path_cstr, STORAGE_INT_PATH_PREFIX, strlen(STORAGE_INT_PATH_PREFIX)) == 0) {
@ -40,6 +41,15 @@ static StorageType storage_get_type_by_path(FuriString* path) {
} else if(memcmp(path_cstr, STORAGE_ANY_PATH_PREFIX, strlen(STORAGE_ANY_PATH_PREFIX)) == 0) { } else if(memcmp(path_cstr, STORAGE_ANY_PATH_PREFIX, strlen(STORAGE_ANY_PATH_PREFIX)) == 0) {
type = ST_ANY; type = ST_ANY;
} }
} else if(furi_string_size(path) > 4) {
if(memcmp(path_cstr, EXT_PATH(""), strlen(EXT_PATH(""))) == 0) {
type = ST_EXT;
} else if(memcmp(path_cstr, INT_PATH(""), strlen(INT_PATH(""))) == 0) {
type = ST_INT;
} else if(memcmp(path_cstr, ANY_PATH(""), strlen(ANY_PATH(""))) == 0) {
type = ST_ANY;
}
}
return type; return type;
} }