remove decades-deprecated Win32 API *A function support (#21315)

This commit is contained in:
tersec 2023-03-02 04:51:54 +00:00 • committed by GitHub
commit 612abda4f4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 173 additions and 414 deletions

View file

@ -328,10 +328,7 @@ iterator walkDirRec*(dir: string,
proc rawRemoveDir(dir: string) {.noWeirdTarget.} =
when defined(windows):
when useWinUnicode:
wrapUnary(res, removeDirectoryW, dir)
else:
var res = removeDirectoryA(dir)
wrapUnary(res, removeDirectoryW, dir)
let lastError = osLastError()
if res == 0'i32 and lastError.int32 != 3'i32 and
lastError.int32 != 18'i32 and lastError.int32 != 2'i32:
@ -396,10 +393,7 @@ proc rawCreateDir(dir: string): bool {.noWeirdTarget.} =
#echo res
raiseOSError(osLastError(), dir)
else:
when useWinUnicode:
wrapUnary(res, createDirectoryW, dir)
else:
let res = createDirectoryA(dir)
wrapUnary(res, createDirectoryW, dir)
if res != 0'i32:
result = true
@ -561,10 +555,7 @@ proc setCurrentDir*(newDir: string) {.inline, tags: [], noWeirdTarget.} =
## * `getTempDir proc`_
## * `getCurrentDir proc`_
when defined(windows):
when useWinUnicode:
if setCurrentDirectoryW(newWideCString(newDir)) == 0'i32:
raiseOSError(osLastError(), newDir)
else:
if setCurrentDirectoryA(newDir) == 0'i32: raiseOSError(osLastError(), newDir)
if setCurrentDirectoryW(newWideCString(newDir)) == 0'i32:
raiseOSError(osLastError(), newDir)
else:
if chdir(newDir) != 0'i32: raiseOSError(osLastError(), newDir)