Commit Graph

62 Commits

Author SHA1 Message Date
gingerBill 7642e0a0e0 Require @(init) and @(fini) to be proc "contextless" () 2025-08-08 12:10:01 +01:00
gingerBill eae43f1225 Merge branch 'master' into bill/utf16-strings 2025-08-05 15:07:06 +01:00
Jared Cone b1cda52fd6 Fixed delete-after-free in file_windows.odin 2025-08-04 19:42:23 -07:00
gingerBill 5aec40e3e0 Remove unneeded uses of intrinsics.constant_utf16_cstring 2025-08-02 12:55:05 +01:00
gingerBill c631a8eff5 os2 internals -> (c)string16 2025-08-02 12:47:03 +01:00
gingerBill bb4bc316a4 for in string16; Support string16 across core 2025-08-02 12:20:35 +01:00
Jeroen van Rijn d7a83a7a1f Revert "os2: Don't try to translate Windows file attributes to Unix mode flags"
This reverts commit 95923c2059.
It'll be updated later.
2025-05-12 23:34:12 +02:00
Lucas Perlind 9f2d008a8a Remove TEMP_ALLOCATOR_GUARD wrapper 2025-05-08 17:41:03 +10:00
Lucas Perlind b9db1dd3e0 os2: Resolve temp allocator collisions 2025-05-08 17:41:01 +10:00
Jeroen van Rijn 32cef4c11b Fix change_times on Windows and simplify time handling in stat 2025-05-04 22:55:27 +02:00
Jeroen van Rijn 95923c2059 os2: Don't try to translate Windows file attributes to Unix mode flags
Also, fix `chmod`. It passed the wrong struct size to `SetFileInformationByHandle`.
2025-05-04 20:03:07 +02:00
Rohan Jadav f50698b901 updated file_windows.odin to follow coding conventions 2025-05-01 00:56:31 +05:30
Rohan Jadav 80a6f8928a fix: Pipe size on windows. 2025-04-27 01:58:37 +05:30
Laytan Laats 0e4140a602 os/os2: recursive directory walker, expose errors in read_directory, file clone
Adds a directory walker, a method of exposing and retrieving errors from
the existing read directory iterator, allows reusing of the existing
read directory iterator, and adds a file clone procedure
2025-02-24 20:40:44 +01:00
gingerBill 1bf33fe373 Use static global memory for std handles instead of allocating. 2025-01-05 12:53:20 +00:00
gingerBill aa36ae01cf Fix #4406 os2 to not close the std file handles but rather just free the memory for the ^File data. 2024-11-04 11:55:29 +00:00
Karl Zylinski 19f0127e55 Moved all packages in core, base, vendor, tests and examples to use new #+ file tag syntax. 2024-09-14 18:27:49 +02:00
Laytan Laats 0f2ad95014 Fix EOF detection is os2 window read 2024-08-28 19:53:20 +02:00
Feoramund f453054aff Return 0, nil in all io cases where an empty slice is provided 2024-08-28 19:53:20 +02:00
Feoramund ef99373c31 Fix pread and pwrite on os2 Windows
The previous code was jumping ahead by the specified offset, instead of
getting the current offset.
2024-08-28 19:53:20 +02:00
Feoramund 56f232e5fc Report invalid whence & offset on os2 Windows 2024-08-28 19:53:20 +02:00
Feoramund de1432b315 Fix Windows infinite recursion with os2._flush 2024-08-28 19:53:20 +02:00
Feoramund 981a2e1a00 Add missing io.Stream_Mode responses 2024-08-28 19:53:19 +02:00
gingerBill 60bc7f53d2 Comment out open_buffered 2024-08-04 17:41:48 +01:00
gingerBill 046f72befd Mock out open_buffered 2024-08-04 17:31:39 +01:00
gingerBill f03c2b7783 General clean up of os2.read_directory for Windows 2024-07-24 21:45:35 +01:00
gingerBill 9d8953538b Add missing attribute 2024-07-24 14:25:42 +01:00
gingerBill 2ddaae45f3 Better handling of allocators 2024-07-24 13:47:22 +01:00
gingerBill efa8c92bab Implement init_long_path_support 2024-07-23 17:46:22 +01:00
gingerBill 65fec9134e Use SHFileOperationW for remove_all on Windows 2024-07-23 17:30:42 +01:00
gingerBill 8037ace873 Begin work on os2/dir.odin 2024-07-23 16:47:49 +01:00
gingerBill 24f9e2bbeb Begin mocking out the linux stuff on os2 2024-07-23 16:06:14 +01:00
gingerBill 2f8399fe20 Merge pull request #3940 from flysand7/os2-handle-inheritance
[os2] Make all handles non-inheritable by default
2024-07-19 11:38:03 +01:00
flysand7 7b501b22bb [os2]: Split file type from mode bits 2024-07-18 23:09:27 +11:00
flysand7 4dcb75af6d Make all handles non-inheritable by default
The sockets are left as non-inheritable because they
never should be inherited.
2024-07-18 22:50:47 +11:00
gingerBill 5de6016e7f Clean up os2.File.impl usage 2024-07-14 15:26:59 +01:00
gingerBill 4f73b35da5 Make os2.File a more generic interface 2024-07-14 15:09:33 +01:00
gingerBill 3d38f14202 Use fstat on os2.File directly 2024-07-14 14:51:22 +01:00
flysand7 b686b072d5 [os2/file]: Fixes related to handle inheritance
All file handles created on Windows used to be made
non-inheritable, by forcing the .Close_On_Exec flag
in _open() function. In addition, there was an
issue with security descriptor being freed before
use, which has been fixed.
2024-07-14 15:06:28 +11:00
gingerBill 453fc5182b Remove all uses of context stuff in os2 2024-05-14 18:34:05 +01:00
gingerBill 91b7cdaad2 Mock out temp_file.odin stuff 2024-05-14 18:11:50 +01:00
gingerBill 361be301fa Use internal temp_allocator() 2024-05-14 17:24:37 +01:00
gingerBill ecd7846ec3 Clean up allocator stuff into allocators.odin 2024-05-14 17:10:53 +01:00
flysand7 0f944bc0a1 [core/os2]: Reading from unsized files 2024-03-24 10:52:48 +11:00
gingerBill 271f84ab5b Expect stream as a field directly on os2.File 2024-03-13 16:30:22 +00:00
gingerBill fa1875a8f1 Minor changes to os2 2024-02-17 13:41:54 +00:00
gingerBill 3e7e779abf Replace core:* to base:* where appropriate 2024-01-28 22:18:51 +00:00
flysand7 d5b0ec712b os/os2: Remove file attribute casting from core:os2 2024-01-26 09:07:12 +11:00
gingerBill a78d6fe0b3 Use i64 instead of int for internal procedures 2023-06-14 12:31:57 +01:00
gingerBill 08e466938f Merge branch 'master' into new-io 2023-06-14 12:07:04 +01:00