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
Andrew Kelley
34d2778239
std.fs.File.Reader.sendFile: fix 32-bit freebsd
2025-07-22 09:39:24 -07:00
Andrew Kelley
76fe518d49
std.fs.File.Reader.sendFile: fix EndOfStream detection
2025-07-21 23:33:19 -07:00
Andrew Kelley
96cbdd145d
std.fs.File.Reader: fix sendFile logic
...
it wasn't accounting for both writer and reader buffering
2025-07-21 20:00:45 -07:00
Andrew Kelley
b35c55e237
std.fs.File.Reader: fix seek position logic
2025-07-21 18:14:21 -07:00
Andrew Kelley
fe10c66d66
std.fs.File.Reader: only fcopyfile if size available
2025-07-21 12:32:37 -07:00
Andrew Kelley
f1576ef14c
objcopy: delete most of it
...
this code is not up to zig project standards
tracked by #24522
oh, and fix not adjusting buffer seek position in std.fs.File.Reader
2025-07-21 12:32:37 -07:00
Andrew Kelley
f2a3ac7c05
std.fs.File: delete writeFileAll and friends
...
please use File.Writer for these use cases
also breaking API changes to std.fs.AtomicFile
2025-07-21 12:32:37 -07:00
Andrew Kelley
9abc3232a8
std.fs.File.Reader: fix missed advance writer positions
2025-07-21 13:08:43 +02:00
Andrew Kelley
b510482525
std.fs.File.Reader.seekTo: add missing int cast
2025-07-14 00:21:20 -07:00
Atlas Yu
2cda4cfb39
std.posix.send: should expect ConnectionRefused
...
Closes : #20219
2025-07-11 13:06:13 +02:00
Andrew Kelley
55bced9563
std.fs.File.Writer: fix splat alias bug
...
same deal as previous commit
2025-07-09 20:01:15 -07:00
Andrew Kelley
5955ba4f53
std.fs.File.Writer: implement positional writing for Windows
2025-07-07 23:09:14 -07:00
Andrew Kelley
f2ad3bcc1c
fix 32-bit compilation
2025-07-07 22:43:53 -07:00
Andrew Kelley
fd7feed04b
std.fs.File.Writer: implement positional writing
2025-07-07 22:43:53 -07:00
Andrew Kelley
4ccc6f2b57
compiler: fix remaining build failures
2025-07-07 22:43:53 -07:00
Andrew Kelley
6489907662
std.zip: work around deprecated API
2025-07-07 22:43:53 -07:00
Andrew Kelley
cce32bd1d5
fix build runner
2025-07-07 22:43:52 -07:00
Andrew Kelley
f71d97e4cb
update compiler source to new APIs
2025-07-07 22:43:52 -07:00
Andrew Kelley
4bca5faca6
std.Build.Cache: write manifest without heap allocating
...
Now that the buffered writing interface is not generic.
2025-07-07 22:43:52 -07:00
Andrew Kelley
435ccf706d
std.fs.File.Writer: fix drain implementation
...
it didn't account for data.len can no longer be zero
2025-07-07 22:43:51 -07:00
Andrew Kelley
0e37ff0d59
std.fmt: breaking API changes
...
added adapter to AnyWriter and GenericWriter to help bridge the gap
between old and new API
make std.testing.expectFmt work at compile-time
std.fmt no longer has a dependency on std.unicode. Formatted printing
was never properly unicode-aware. Now it no longer pretends to be.
Breakage/deprecations:
* std.fs.File.reader -> std.fs.File.deprecatedReader
* std.fs.File.writer -> std.fs.File.deprecatedWriter
* std.io.GenericReader -> std.io.Reader
* std.io.GenericWriter -> std.io.Writer
* std.io.AnyReader -> std.io.Reader
* std.io.AnyWriter -> std.io.Writer
* std.fmt.format -> std.fmt.deprecatedFormat
* std.fmt.fmtSliceEscapeLower -> std.ascii.hexEscape
* std.fmt.fmtSliceEscapeUpper -> std.ascii.hexEscape
* std.fmt.fmtSliceHexLower -> {x}
* std.fmt.fmtSliceHexUpper -> {X}
* std.fmt.fmtIntSizeDec -> {B}
* std.fmt.fmtIntSizeBin -> {Bi}
* std.fmt.fmtDuration -> {D}
* std.fmt.fmtDurationSigned -> {D}
* {} -> {f} when there is a format method
* format method signature
- anytype -> *std.io.Writer
- inferred error set -> error{WriteFailed}
- options -> (deleted)
* std.fmt.Formatted
- now takes context type explicitly
- no fmt string
2025-07-07 22:43:51 -07:00
Andrew Kelley
9f27d770a1
std.io: deprecated Reader/Writer; introduce new API
2025-07-07 22:43:51 -07:00
Chris Boesch
206bd1ced8
Merge pull request #23268 from chrboesch/i19875
...
std.posix: Added 'error.ProcessNotFound' where necessary
2025-04-14 22:20:44 +02:00
Andrew Kelley
f32a5d349d
std: eradicate u29 and embrace std.mem.Alignment
2025-04-13 02:20:32 -04:00
Rui He
c0d85cda53
std.fs.File: limit initial_cap according to max_bytes in readToEndAllocOptions
2025-01-30 16:42:15 +01:00
Justin Braben
d16a9b0acb
std.os.windows: Map PIPE_NOT_AVAILABLE from OpenFile() to error.NoDevice ( #21938 )
2024-11-27 22:33:29 +01:00
Archit Gupta
a916bc7fdd
std.fs.File: Fix metadata error check on Linux
...
On Linux, File.metadata calls the statx syscall directly. As such, the
return value is the error code. Previously, it handled the error with
`posix.errno`, which when libc is linked, treats the return value as a
value set to -1 if there is an error with the error code in errno. If
libc wasn't linked, it would be handled correctly.
In the Linux with libc linked case, this would cause the error result to
always be treated as success (err val != -1), even when an error
occurred.
2024-10-31 14:02:42 +01:00
Alex Rønne Petersen
13945548fc
std.fs: Rework to always use statx() instead of fstat()/fstatat() on Linux.
...
statx() is strictly superior to stat() and friends. We can do this because the
standard library declares Linux 4.19 to be the minimum version supported in
std.Target. This is also necessary on riscv32 where there is only statx().
While here, I improved std.fs.File.metadata() to gather as much information as
possible when calling statx() since that is the expectation from this particular
API.
2024-07-29 09:50:41 +02:00