Adrià Arrufat
02c5f05e2f
std: replace usages of std.mem.indexOf with std.mem.find
2025-12-05 14:31:27 +01:00
Jacob Young
8647e4d311
aarch64: cleanup register lock
2025-11-11 01:47:27 -05:00
Andrew Kelley
46f7e3ea9f
std.Io.Threaded: add ioBasic which disables networking
2025-10-29 06:20:51 -07:00
Andrew Kelley
5c527a1854
std.Io.Threaded: implement fileStat for Windows
2025-10-29 06:20:51 -07:00
Andrew Kelley
2f26025690
std: fix build failure on wasm32-freestanding
2025-10-29 06:20:51 -07:00
Andrew Kelley
10b1eef2d3
std: fix compilation errors on Windows
2025-10-29 06:20:50 -07:00
Andrew Kelley
f8ea00bd6d
std.Io: add dirAccess
2025-10-29 06:20:50 -07:00
Andrew Kelley
c2d1a339da
std.fs.File: begrudgingly add back deprecated APIs
...
I'm not ready to rework MachO linker file access at the moment.
2025-10-29 06:20:49 -07:00
Andrew Kelley
8a1e6c8c39
std.Io: implement dirStatPath
2025-10-29 06:20:49 -07:00
Andrew Kelley
ebcc6f166c
std.Io: bring back Timestamp but also keep Clock.Timestamp
...
this feels better
2025-10-29 06:20:49 -07:00
Andrew Kelley
89412fda77
std.Io: implement fileStat
2025-10-29 06:20:48 -07:00
Andrew Kelley
47aa5a70a5
std: updating to std.Io interface
...
got the build runner compiling
2025-10-29 06:20:48 -07:00
Andrew Kelley
00f26cb0a4
WIP land the std.Io interface
...
fix std lib compilation errors caused by introducing std.Io
2025-10-29 06:20:48 -07:00
Andrew Kelley
0e9280ef1a
std.Io: extract Dir to separate file
2025-10-29 06:20:48 -07:00
Andrew Kelley
e7729a7b89
std: start moving fs.File to Io
2025-10-29 06:20:48 -07:00
Alex Rønne Petersen
dba1bf9353
remove all Oracle Solaris support
...
There is no straightforward way for the Zig team to access the Solaris system
headers; to do this, one has to create an Oracle account, accept their EULA to
download the installer ISO, and finally install it on a machine or VM. We do not
have to jump through hoops like this for any other OS that we support, and no
one on the team has expressed willingness to do it.
As a result, we cannot audit any Solaris contributions to std.c or other
similarly sensitive parts of the standard library. The best we would be able to
do is assume that Solaris and illumos are 100% compatible with no way to verify
that assumption. But at that point, the solaris and illumos OS tags would be
functionally identical anyway.
For Solaris especially, any contributions that involve APIs introduced after the
OS was made closed-source would also be inherently more risky than equivalent
contributions for other proprietary OSs due to the case of Google LLC v. Oracle
America, Inc., wherein Oracle clearly demonstrated its willingness to pursue
legal action against entities that merely copy API declarations.
Finally, Oracle laid off most of the Solaris team in 2017; the OS has been in
maintenance mode since, presumably to be retired completely sometime in the 2030s.
For these reasons, this commit removes all Oracle Solaris support.
Anyone who still wishes to use Zig on Solaris can try their luck by simply using
illumos instead of solaris in target triples - chances are it'll work. But there
will be no effort from the Zig team to support this use case; we recommend that
people move to illumos instead.
2025-10-27 07:35:38 -07:00
usebeforefree
62e3d46287
replaced https://simonsapin.github.io/wtf-8/ with https://wtf-8.codeberg.page/
2025-10-10 23:53:00 +02:00
Andrew Kelley
df712d0833
std.fs.File.Reader.seekTo: fix one more logical position bug
2025-10-09 11:59:53 -07:00
Maciej 'vesim' Kuliński
e5a55f6144
std: std.fs.File fix sendFile with buffered data
...
fixes #25196
Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2025-10-08 17:14:03 -07:00
Andrew Kelley
889942a8b7
std: fix sendFileReading not accounting for buffer
...
Related to 1d764c1fdf
Test case provided by:
Co-authored-by: Kendall Condon <goon.pri.low@gmail.com>
2025-10-08 16:45:38 -07:00
Andrew Kelley
4c27eeff8e
std: fix File.Writer sendfile with buffered contents
...
* File.Writer.seekBy passed wrong offset to setPosAdjustingBuffer.
* File.Writer.sendFile incorrectly used non-logical position.
Related to 1d764c1fdf
Test case provided by:
Co-authored-by: Kendall Condon <goon.pri.low@gmail.com>
2025-10-08 16:43:42 -07:00
rpkak
bc512648db
use copy_file_range syscall on linux
2025-09-24 03:08:12 +02:00
Andrew Kelley
1d764c1fdf
Revert "Merge pull request #24905 from gooncreeper/file-reader-buffered"
...
This reverts commit ac42eaaadd , reversing
changes made to 9fa2394f8c .
I would like a chance to review this, please. I already spotted some
issues.
2025-09-05 11:26:38 -07:00
Isaac Freund
ac42eaaadd
Merge pull request #24905 from gooncreeper/file-reader-buffered
...
Fix Io.Writer sendFile bugs with buffered reader contents
2025-09-05 16:28:08 +02:00
Andrew Kelley
f78f70dbd8
std.fs.File.Writer: break up seekTo
...
- introduce seekToUnbuffered which asserts no buffered data and does not
have WriteFailed in the error set
- remove WriteFailed from SeekError
- make seekTo based on calling flush and then seekToUnbuffered
- revert the change to reset seek_err since the error sets are
compatible again
2025-09-04 16:05:55 -07:00
Kendall Condon
58dda3b10b
fix sendFile implementations bypassing interface buffer
...
Also removes `File.Reader.read` since it is otherwise unused and is a
footgun.
2025-09-04 17:26:49 -04:00
Kendall Condon
7687b916fd
File.Writer.sendFile: properly update reader pos
...
seekBy affects the reader's physical position, not its logical
position.
2025-09-04 16:38:50 -04:00
Josh GM Walker
b1189ab038
fix: std.fs.File.Writer.seekTo does not flush ( #25135 )
...
* add failing test case
* perform flush and allow error
* dont over constrain flush error
* reset seek error during conversion
2025-09-03 21:43:47 -07:00
Andrew Kelley
79f267f6b9
std.Io: delete GenericReader
...
and delete deprecated alias std.io
2025-08-29 17:14:26 -07:00
Andrew Kelley
57dbc9e74a
std.Io: delete GenericWriter
2025-08-28 18:30:57 -07:00
Carl Åstholm
172e97154d
Use readStreaming, not readPositional, for streaming file readVec on Windows
2025-08-20 21:49:07 +02:00
Carl Åstholm
9e9cb3ad6d
Fix bugs in Windows readVec implementations
2025-08-19 16:18:02 -07:00
Andrew Kelley
ef14c73245
Compilation: remove last instance of deprecatedReader
...
This also makes initStreaming preemptively disable file size checking.
2025-08-16 14:46:20 -07:00
Andrew Kelley
e395c24c6d
std.fs.File.Reader: fix freestanding build failures
...
This should be enough to unblock people for now. We'll revisit the way
these things are organized with the upcoming std.Io interface.
fixes #24685
2025-08-14 23:10:29 -07:00
Andrew Kelley
6bcdcf85c7
std.fs.File.Writer.sendFile: handle sendfile errors
...
fixes #24842
2025-08-13 22:16:08 -07:00
Andrew Kelley
5e986fef1f
std.fs.File.Reader: fix seekBy
...
Tested locally:
stage3/bin/zig build test -Dskip-release -Dskip-non-native
closes #24495
closes #24498
closes #24713
2025-08-13 12:24:14 -07:00
Andrew Kelley
749f10af49
std.ArrayList: make unmanaged the default
2025-08-11 15:52:49 -07:00
Andrew Kelley
282c3575b1
std.fs.File: prefer getSize over getEndPos
...
The former detects when it is appropriate to switch to streaming mode.
closes #24798
2025-08-11 12:27:52 -07:00
Andrew Kelley
b9a6dae2ae
std.fs.File.Reader.getSize: check file kind on stat
...
closes #24794
2025-08-10 17:51:22 -07:00
Andrew Kelley
e667884f9b
std.net.Stream.Reader: init size_err
...
This code knows in advance that stat() should never be called.
closes #24754
2025-08-10 17:38:46 -07:00
Andrew Kelley
5998a8cebe
Merge pull request #24698 from ziglang/http
...
std: rework HTTP and TLS for new I/O API
2025-08-07 19:54:25 -07:00
TibboddiT
2cf15bee03
Fix some libc version checks for Bionic
2025-08-08 01:26:00 +00:00
Andrew Kelley
172d31b0e2
std.fs.File.Reader: fix readVec fill
...
respect the case when there is existing buffer
2025-08-07 10:04:52 -07:00
Andrew Kelley
04fe1bfe3c
std.Io.Reader: use readVec for fill functions
...
readVec has two updated responsibilities:
1. it must respect any existing already buffered data.
2. it must write to the buffer if data is empty
2025-08-06 21:23:06 -07:00
Andrew Kelley
111305678c
std: match readVec fn prototype exactly
...
this is not necessary according to zig language, but works around a flaw
in the C backend
2025-07-31 22:10:11 -07:00
Andrew Kelley
f3a38e30fa
std.Io: delete SeekableStream
...
Alternative is to use File.Reader and File.Writer directly.
2025-07-31 22:10:11 -07:00
Andrew Kelley
cf7a28febb
std.Io.Reader: introduce readVec back into the VTable
...
simplifies and fixes things
addresses a subset of #24608
2025-07-30 09:26:34 -07:00
Andrew Kelley
733b208256
std.posix.ftruncate: handle NonResizable properly
2025-07-25 14:15:33 -07:00
Andrew Kelley
da51e94d50
std.fs.File.end: account for streaming mode
2025-07-25 14:15:33 -07:00
Jacob Young
5060ab99c9
aarch64: add new from scratch self-hosted backend
2025-07-22 19:43:47 -07:00