Veikka Tuominen
fd77f2cfed
std: update usage of std.testing
2021-05-08 15:15:30 +03:00
Andrew Kelley
4307436b99
move behavior tests from test/stage1/ to test/
...
And fix test cases to make them pass. This is in preparation for
starting to pass behavior tests with self-hosted.
2021-04-29 15:54:04 -07:00
Andrew Kelley
429cd2b5dd
std: change @import("builtin") to std.builtin
2021-04-15 19:06:39 -07:00
daurnimator
1f17221bc4
std: add sendmsg
2021-02-28 21:57:43 +02:00
Tadeo Kondrak
5dfe0e7e8f
Convert inline fn to callconv(.Inline) everywhere
2021-02-10 20:06:12 -07:00
Timon Kruiper
9238d12537
windows: make sure to handle PATH_NOT_FOUND when deleting files
...
Fixes #7879
2021-01-25 10:33:08 -08:00
Bill Nagel
1e2be14b6b
define nfds_t for windows
2021-01-12 16:37:58 -08:00
Rohlem
c96272f618
std.os.windows.GetFinalPathNameByHandle: remove intermediate buffers
...
... and mem.copy operations. Requires slightly larger input buffers than result length. Add helper functions std.mem.alignInBytes and std.mem.alignInSlice.
2021-01-11 17:48:19 -07:00
Rohlem
f301a8467c
std.os.windows.GetFinalPathNameByHandle: remove QueryInformationFile code path
2021-01-11 17:48:18 -07:00
Rohlem
cb20503990
std.os.windows.GetFinalPathNameByHandle: address non-structural review comments
2021-01-11 17:48:18 -07:00
Rohlem
64c5f4979e
std.os.windows.GetFinalPathNameByHandle: replace kernel32 by ntdll call
...
Removes the call to kernel32.GetFinalPathNameByHandleW in favor of NtQueryObject, which means we can reuse the other codepath's logic for DOS naming.
2021-01-11 17:48:18 -07:00
Rohlem
964bbcd0b1
introduce std.os.windows.QueryObjectName
2021-01-11 17:48:18 -07:00
Rohlem
09dc651476
std.os.windows.GetFinalPathNameByHandle: add test
2021-01-11 17:48:18 -07:00
Rohlem
450e467201
std.os.windows.GetFinalPathNameByHandle: reintroduce kernel32 for compatibility
...
The NtQueryInformationFile with .FileNormalizedNameInformation is only available in Windows 10 1803 (rs4) and later, however there is probably still another route we can go via ntdll.
2021-01-11 17:48:18 -07:00
Andrew Kelley
73b17474d7
Merge pull request #7134 from alexnask/fix_std_fs_watch
...
The std.fs.Watch rewrite PR
2021-01-11 12:45:36 -08:00
LemonBoy
dd973fb365
std: Use {s} instead of {} when printing strings
2021-01-02 17:12:57 -07:00
Frank Denis
6c2e0c2046
Year++
2020-12-31 15:45:24 -08:00
Alexandros Naskos
85cc3f24a0
Only check for evented mode in windows.OpenFile when in async mode
2020-12-17 11:08:21 +02:00
Alexandros Naskos
da007f318b
Implement std.fs.Watch on Windows
...
Use unmanaged containers in std.fs.Watch
2020-12-14 21:03:50 +02:00
Andrew Kelley
6e636064e6
MoveFileEx can return ACCESS_DENIED
...
I observed this on Windows 10, trying to use MoveFileEx with
MOVEFILE_REPLACE_EXISTING | MOVEFILE_WRITE_THROUGH
to overwrite a running executable.
2020-12-09 15:03:17 -07:00
Vexu
7e30e83900
small fixes and zig fmt
2020-12-09 13:54:26 +02:00
Lee Cannon
64feae3ac3
Move utf8->utf16 up one level into os.zig
2020-11-18 15:37:44 +01:00
Lee Cannon
32c998e03c
Switch to RtlSetCurrentDirectory_U
2020-11-18 15:37:44 +01:00
Lee Cannon
80b1e82b1b
Implement chdir and chdirZ for Windows
2020-11-18 15:37:44 +01:00
LemonBoy
36c869dc14
std: Make windows.ReadFile allow short reads
...
Make it behave like the read() wrapper for unix systems.
Reading the whole buffer breaks some use-cases like buffered readers
over sockets.
Closes #7121
2020-11-16 13:35:06 -08:00
Andrew Kelley
569f7ce49e
Merge branch 'improve-windows-networking'
...
of https://github.com/BarabasGitHub/zig into
BarabasGitHub-improve-windows-networking
Conflicts:
lib/std/os.zig
This commit resolves conflicts with the changes to std.os which removed
the EAGAIN error handling interactions with the event loop. The solution
to the conflict was to apply EAGAIN => return error.WouldBlock into the
improved windows networking branch.
2020-10-22 16:59:15 -07:00
Andrew Kelley
fe117d9961
Merge pull request #6250 from ziglang/stage2-zig-cc
...
move `zig cc`, `zig translate-c`, `zig libc`, main(), and linking from stage1 to stage2
2020-09-30 04:28:19 -04:00
Ryan Liptak
254ee89def
Windows: Handle ACCESS_DENIED in DeviceIoControl
...
This was causing the Dir.readLink test to fail for me locally with error.Unexpected NTSTATUS=0xc0000022. Not sure if PRIVILEGE_NOT_HELD is actually possible or not.
2020-09-29 20:54:45 -04:00
Andrew Kelley
af64fd2f42
Merge remote-tracking branch 'origin/master' into stage2-zig-cc
...
This merges in the revert that fixes the broken Windows build of master
branch.
2020-09-29 17:26:09 -07:00
Jakub Konka
bb636cb3bf
Revert "Fix for Windows: std.os.windows.DeleteFile()"
2020-09-29 19:35:44 -04:00
Andrew Kelley
750b00c642
Merge remote-tracking branch 'origin/master' into stage2-zig-cc
2020-09-29 00:27:48 -07:00
Suirad
43cd9eb110
Add clarification comment
2020-09-25 18:11:31 -05:00
Suirad
f78652484a
Stdlib fix for os.windows.deleteFile to fail with
...
a proper error when attempting to delete a directory that isnt empty
2020-09-25 18:09:05 -05:00
Andrew Kelley
0c70bb4fce
Merge remote-tracking branch 'origin/master' into stage2-zig-cc
2020-09-21 21:16:46 -07:00
Ryan Liptak
5e3fa0e94f
Add rename to std.fs API
...
- Moves fs.rename functions to fs.renameAbsolute to match other functions outside of fs.Dir
- Adds fs.Dir.rename that takes two paths relative to the given Dir
- Adds fs.rename that takes two separate Dir's that the given paths are relative to (for renaming across directories without having to make the second path relative to a single directory)
- Fixes FileNotFound error return in std.os.windows.MoveFileExW
- Returns error.RenameAcrossMountPoints from renameatW
+ Matches the RenameAcrossMountPoints error return in renameatWasi/renameatZ
2020-09-17 17:22:26 -04:00
Andrew Kelley
f82b1831f7
std: handle sharing violation when deleting a file on windows
2020-09-15 15:24:13 -07:00
Bas van den Berg
127fa80090
implement poll for windows with WSAPoll (only available on vista and higher)
2020-09-10 20:20:27 +02:00
Bas van den Berg
44f877d18b
change socklen_t to u32 and add appropriate casts when calling WSA
2020-09-08 12:24:39 +02:00
Bas van den Berg
0a40a61548
os.send(to) and os.recv(from) functions made to work on windows.
2020-09-03 13:23:48 +02:00
Bas van den Berg
d80554cedf
Made some changes and additions to the networking to make it work on windows.
2020-09-02 23:53:29 +02:00
Sahnvour
ac85befbb4
handle lack of privilege to create symbolic links on windows
2020-08-30 06:52:53 +02:00
Andrew Kelley
4a69b11e74
add license header to all std lib files
...
add SPDX license identifier
copyright ownership is zig contributors
2020-08-20 16:07:04 -04:00
Andrew Kelley
23c427b5fb
windows: match the same error code for EBADF
2020-08-19 20:51:06 -07:00
StrangeBug
59711becc7
Add handler for INVALID_HANDLE to prevent infinite loop when stderr is not available.
2020-08-19 20:49:25 -07:00
Jakub Konka
901bf0a2e2
Convert prefix from u8 to u16 programmatically
2020-08-10 20:44:22 +02:00
Jakub Konka
73b9f65746
Validate DOS path before returning
...
And some other minor refactors which address more review comments.
2020-08-10 16:39:02 +02:00
Jakub Konka
cd8e6b66d0
Address some review comments
2020-08-09 10:47:52 +02:00
Jakub Konka
310aa87198
Fix alignment issue
2020-08-07 23:21:06 +02:00
Jakub Konka
bdda8fa7a8
Redo GetFinalPathNameByHandle using DeviceIoControl
...
This commit reimagines `std.os.windows.GetFinalPathNameByHandle`
using `DeviceIoControl` to query the OS mount manager for the DOS
(symlink) paths for the given NT volume name. In particular,
it uses `IOCTL_MOUNTMGR_QUERY_POINTS` ioctl opcode to query the
manager for the available moount points.
2020-08-07 11:33:05 +02:00
Jakub Konka
e8abfef2aa
Add docs
2020-08-06 23:56:37 +02:00