mirror of https://github.com/mgba-emu/mgba.git
GUI: Handle paths starting with / properly
This commit is contained in:
parent
6ba239d3f3
commit
10e794341a
|
@ -26,6 +26,10 @@ void _upDirectory(char* currentPath) {
|
||||||
if (!end) {
|
if (!end) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (end == currentPath) {
|
||||||
|
end[1] = '\0';
|
||||||
|
return;
|
||||||
|
}
|
||||||
end[0] = '\0';
|
end[0] = '\0';
|
||||||
if (end[1]) {
|
if (end[1]) {
|
||||||
return;
|
return;
|
||||||
|
@ -85,7 +89,12 @@ bool selectFile(const struct GUIParams* params, const char* basePath, char* outP
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (newInput & (1 << GUI_INPUT_SELECT)) {
|
if (newInput & (1 << GUI_INPUT_SELECT)) {
|
||||||
snprintf(currentPath, sizeof(currentPath), "%s%c%s", currentPath, '/', *FileListGetPointer(¤tFiles, fileIndex));
|
size_t len = strlen(currentPath);
|
||||||
|
const char* sep = PATH_SEP;
|
||||||
|
if (currentPath[len - 1] == *sep) {
|
||||||
|
sep = "";
|
||||||
|
}
|
||||||
|
snprintf(currentPath, sizeof(currentPath), "%s%s%s", currentPath, sep, *FileListGetPointer(¤tFiles, fileIndex));
|
||||||
if (!_refreshDirectory(currentPath, ¤tFiles)) {
|
if (!_refreshDirectory(currentPath, ¤tFiles)) {
|
||||||
strncpy(outPath, currentPath, outLen);
|
strncpy(outPath, currentPath, outLen);
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue