| ... | ... | @@ -1330,18 +1330,15 @@ const VecPut = struct { |
| 1330 | 1330 | |
| 1331 | 1331 | /// Limit iovecs to a specific byte size. |
| 1332 | 1332 | fn limitVecs(iovecs: []std.os.iovec, len: usize) []std.os.iovec { |
| 1333 | | var vec_i: usize = 0; |
| 1334 | 1333 | var bytes_left: usize = len; |
| 1335 | | while (true) { |
| 1336 | | if (bytes_left >= iovecs[vec_i].iov_len) { |
| 1337 | | bytes_left -= iovecs[vec_i].iov_len; |
| 1338 | | vec_i += 1; |
| 1339 | | if (vec_i == iovecs.len or bytes_left == 0) return iovecs[0..vec_i]; |
| 1340 | | continue; |
| 1334 | for (iovecs, 0..) |*iovec, vec_i| { |
| 1335 | if (bytes_left <= iovec.iov_len) { |
| 1336 | iovec.iov_len = bytes_left; |
| 1337 | return iovecs[0 .. vec_i + 1]; |
| 1341 | 1338 | } |
| 1342 | | iovecs[vec_i].iov_len = bytes_left; |
| 1343 | | return iovecs[0..vec_i]; |
| 1339 | bytes_left -= iovec.iov_len; |
| 1344 | 1340 | } |
| 1341 | return iovecs; |
| 1345 | 1342 | } |
| 1346 | 1343 | |
| 1347 | 1344 | /// The priority order here is chosen based on what crypto algorithms Zig has |