Yu Watanabe
32729ae92f
iovec-wrapper: introduce iovec_split() and iovw_merge()
...
In many network protocols, the length-prefixed data format is often
used. Let's add a simple parser and builder for the format.
2026-05-12 15:33:21 +09:00
Yu Watanabe
fe6fed5d97
iovec-wrapper: introduce iovw_put_full() and friends to make them accept zero length entry
...
These will be used later. Preparation for later commits.
2026-05-12 15:33:21 +09:00
Yu Watanabe
58863bdaec
iovec-wrapper: make iovw_size() take NULL again
...
This partially reverts 267b16f33c .
We usually make xyz_size() take NULL, e.g. hashmap_size().
2026-05-12 15:33:21 +09:00
Yu Watanabe
036ea5b14f
tree-wide: use iovec_equal()
2026-04-19 07:31:07 +09:00
Yu Watanabe
f71dcac4dc
iovec-wrapper: introduce several more helper functions
2026-04-19 06:15:54 +09:00
Yu Watanabe
6d14614f4d
iovec-wrapper: rename iovw_append() to iovw_extend()
...
The naming is consistent with strv_extend().
This also
- introduces tiny iovw_extend_iov() wrapper,
- refuse when the source and target points to the same object,
- check the final count before extending in iovw_extend_iovw().
2026-04-19 06:02:48 +09:00
Yu Watanabe
d49c509d9b
iovec-wrapper: introduce iovw_concat()
...
This is similar to iovw_to_cstring(), but allows embedded NUL, as this
just concat multiple iovec, the result may not be a string.
Now, iovw_to_cstring() internally uses iovw_concat().
2026-04-19 05:51:05 +09:00
Yu Watanabe
a4e0f04157
iovec-wrapper: introduce iovw_compare() and iovw_equal()
2026-04-19 05:51:01 +09:00
Yu Watanabe
ce81c7dd74
iovec-wrapper: fix memleak in iovw_consume() when len == 0
...
This makes even when len == 0, the input buffer is freed.
The behavior is consistent with strv_consume() and friends.
2026-04-19 03:45:08 +09:00
Zbigniew Jędrzejewski-Szmek
5adccf5034
test: add test-iovec-wrapper
...
Tests the old code in iovec-wrapper and the two new functions.
Co-developed-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-16 21:07:43 +02:00