Merge pull request #168 from vibe-d/32bit_compile_fix
32-bit compile fix
This commit is contained in:
commit
edf9eda3ef
3
.github/workflows/ci.yml
vendored
3
.github/workflows/ci.yml
vendored
|
@ -34,6 +34,9 @@ jobs:
|
||||||
- {os: windows-latest, dc: ldc-1.9.0, config: select}
|
- {os: windows-latest, dc: ldc-1.9.0, config: select}
|
||||||
- {os: windows-latest, dc: ldc-1.17.0}
|
- {os: windows-latest, dc: ldc-1.17.0}
|
||||||
- {os: ubuntu-latest, dc: ldc-1.17.0}
|
- {os: ubuntu-latest, dc: ldc-1.17.0}
|
||||||
|
include:
|
||||||
|
- {os: windows-latest, dc: ldc-latest, arch: x86, config: winapi}
|
||||||
|
- {os: windows-latest, dc: dmd-latest, arch: x86_mscoff, config: winapi}
|
||||||
|
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
|
|
16
dub.sdl
16
dub.sdl
|
@ -36,27 +36,15 @@ configuration "kqueue" {
|
||||||
}
|
}
|
||||||
|
|
||||||
configuration "winapi" {
|
configuration "winapi" {
|
||||||
platforms "windows-x86_64" "windows-x86_mscoff" "windows-ldc" "windows-gdc"
|
platforms "windows"
|
||||||
versions "EventcoreWinAPIDriver"
|
versions "EventcoreWinAPIDriver"
|
||||||
}
|
}
|
||||||
|
|
||||||
configuration "select" {
|
configuration "select" {
|
||||||
platforms "posix" "windows-x86_64" "windows-x86_mscoff"
|
platforms "posix" "windows"
|
||||||
versions "EventcoreSelectDriver"
|
versions "EventcoreSelectDriver"
|
||||||
}
|
}
|
||||||
|
|
||||||
configuration "winapi-optlink" {
|
|
||||||
platforms "windows-x86-dmd"
|
|
||||||
versions "EventcoreWinAPIDriver"
|
|
||||||
sourceFiles "lib/ws2_32.lib" "lib/kernel32.lib"
|
|
||||||
}
|
|
||||||
|
|
||||||
configuration "select-optlink" {
|
|
||||||
platforms "windows-x86-dmd"
|
|
||||||
versions "EventcoreSelectDriver"
|
|
||||||
sourceFiles "lib/ws2_32.lib" "lib/kernel32.lib"
|
|
||||||
}
|
|
||||||
|
|
||||||
configuration "libasync" {
|
configuration "libasync" {
|
||||||
dependency "libasync" version="~>0.8.2"
|
dependency "libasync" version="~>0.8.2"
|
||||||
versions "EventcoreLibasyncDriver"
|
versions "EventcoreLibasyncDriver"
|
||||||
|
|
|
@ -225,25 +225,29 @@ final class ThreadedFileEventDriver(Events : EventDriverEvents) : EventDriverFil
|
||||||
}
|
}
|
||||||
on_finish(file, IOStatus.ok, 0);
|
on_finish(file, IOStatus.ok, 0);
|
||||||
} else version (Windows) {
|
} else version (Windows) {
|
||||||
import core.sys.windows.windows : FILE_BEGIN, HANDLE, INVALID_HANDLE_VALUE,
|
version (Win64) {
|
||||||
LARGE_INTEGER, SetFilePointerEx, SetEndOfFile;
|
import core.sys.windows.windows : FILE_BEGIN, HANDLE, INVALID_HANDLE_VALUE,
|
||||||
import core.stdc.stdio : _get_osfhandle;
|
LARGE_INTEGER, SetFilePointerEx, SetEndOfFile;
|
||||||
|
import core.stdc.stdio : _get_osfhandle;
|
||||||
|
|
||||||
auto h = () @trusted { return cast(HANDLE)_get_osfhandle(cast(int)file); } ();
|
auto h = () @trusted { return cast(HANDLE)_get_osfhandle(cast(int)file); } ();
|
||||||
if (h == INVALID_HANDLE_VALUE) {
|
if (h == INVALID_HANDLE_VALUE) {
|
||||||
|
on_finish(file, IOStatus.error, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
LARGE_INTEGER ls = { QuadPart: size };
|
||||||
|
if (!() @trusted { return SetFilePointerEx(h, ls, null, FILE_BEGIN); } ()) {
|
||||||
|
on_finish(file, IOStatus.error, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (!() @trusted { return SetEndOfFile(h); } ()) {
|
||||||
|
on_finish(file, IOStatus.error, 0);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
on_finish(file, IOStatus.ok, 0);
|
||||||
|
} else {
|
||||||
on_finish(file, IOStatus.error, 0);
|
on_finish(file, IOStatus.error, 0);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
LARGE_INTEGER ls = { QuadPart: size };
|
|
||||||
if (!() @trusted { return SetFilePointerEx(h, ls, null, FILE_BEGIN); } ()) {
|
|
||||||
on_finish(file, IOStatus.error, 0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (!() @trusted { return SetEndOfFile(h); } ()) {
|
|
||||||
on_finish(file, IOStatus.error, 0);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
on_finish(file, IOStatus.ok, 0);
|
|
||||||
} else {
|
} else {
|
||||||
on_finish(file, IOStatus.error, 0);
|
on_finish(file, IOStatus.error, 0);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue