PartTimeCoder wrote: "Here's a quick workaround"
my workaround is not so quick but still:
function getDirExists(req as string)
// license: MIT
// copyright (c) 2018, Simon Grim
// tip me via bitcoin:1C5NZCMkjJTf8v7t41QwW9EeCjJcLEbf5s or https://paypal.me/harder
dir as string
s as string
t as string
req = simplifyPath(req)
if req = '' or req = '/' then exitfunction 1 // WARN we treat '' and '/' both as the base path
if right(req, 1) = '/' then req = left(req, len(req) - 1)
if isAbsolutePath(req) = 1
if left(req, 1) = '/' // we are not on Windows, see isAbsolutePath() help
// WARN the next two dirs are both have absolute paths but the 2nd does not exist in / of AGK
// '/media/ini'
// '/home/USER_NAME/.config/AGKApps/APP_NAME/media/ini'
res = getFileExists(req)
elseif left(req, 4) = 'raw:' or lower(getDeviceBaseName()) = 'windows'
i = openRawFolder(req)
if i > 0
closeRawFolder(i)
res = 1
else
res = 0
endif
else // idk, perhaps for case if isAbsolutePath() is broken
res = 0
endif
else
if lower(getDeviceBaseName()) = 'windows'
if left(req, 1) = '/' // TODO optimize to not call getDirExists()
dir = getFolder()
setFolder('') // we treat '' and '/' both as the base path, see above
res = getDirExists(right(req, len(req) - 1))
setFolder(dir)
else
j = countStringTokens2(req, '/')
if j > 1
dir = getFolder()
for i = 1 to j
exists = 0
t = getStringToken2(req, '/', i)
s = getFirstFolder()
while s <> ''
if t = s
exists = 1
exit
endif
s = getNextFolder()
endwhile
if exists = 0
setFolder(dir)
exitfunction 0
endif
if i < j then setFolder(t)
next
setFolder(dir)
res = 1
else
s = getFirstFolder()
while s <> ''
if req = s then exitfunction 1
s = getNextFolder()
endwhile
res = 0
endif
endif
else
res = getFileExists(req)
endif
endif
endfunction res