aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2025-03-23 13:13:36 +0000
committerLaurent Bercot <ska@appnovation.com>2025-03-23 13:13:36 +0000
commit28c7923300e4fd3fd96b2abce36be663406e8366 (patch)
treef8edc1d82ccba4b88b8b66e4482e3d0be2b09005
parentbab82183d71e476a3420fbf518ab10cd16264dd7 (diff)
downloadtipidee-28c7923300e4fd3fd96b2abce36be663406e8366.tar.gz
After testing, this should be the good version of stream.c
Signed-off-by: Laurent Bercot <ska@appnovation.com>
-rw-r--r--src/tipideed/stream.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/tipideed/stream.c b/src/tipideed/stream.c
index b28dbd0..04faf21 100644
--- a/src/tipideed/stream.c
+++ b/src/tipideed/stream.c
@@ -81,6 +81,7 @@ void stream_infinite (int fd, char const *fn)
#include <skalibs/allreadwrite.h>
#include <skalibs/buffer.h>
#include <skalibs/strerr.h>
+#include <skalibs/siovec.h>
#include <skalibs/tai.h>
#include <skalibs/unix-timed.h>
@@ -93,13 +94,13 @@ void stream_fixed (int fd, size_t n, char const *fn)
size_t r ;
while (n)
{
- buffer_rpeek(buffer_1, v) ;
+ buffer_wpeek(buffer_1, v) ;
siovec_trunc(v, 2, n) ;
tain_add_g(&deadline, &g.cgitto) ;
r = timed_readv_g(fd, v, 2, &deadline) ;
if (r == -1) strerr_diefu2sys(111, "read from resource ", fn) ;
if (!r) strerr_dief3x(111, "resource ", fn, " provided less content than advertised in Content-Length") ;
- buffer_rseek(buffer_1, r) ;
+ buffer_wseek(buffer_1, r) ;
n -= r ;
tain_add_g(&deadline, &g.writetto) ;
if (!buffer_timed_flush_g(buffer_1, &deadline))
@@ -114,12 +115,12 @@ void stream_infinite (int fd, char const *fn)
size_t r ;
for (;;)
{
- buffer_rpeek(buffer_1, v) ;
+ buffer_wpeek(buffer_1, v) ;
tain_add_g(&deadline, &g.cgitto) ;
r = timed_readv_g(fd, v, 2, &deadline) ;
if (r == -1) strerr_diefu2sys(111, "read from resource ", fn) ;
if (!r) break ;
- buffer_rseek(buffer_1, r) ;
+ buffer_wseek(buffer_1, r) ;
tain_add_g(&deadline, &g.writetto) ;
if (!buffer_timed_flush_g(buffer_1, &deadline))
strerr_diefu1sys(111, "write to stdout") ;