]> git.ipfire.org Git - pakfire.git/commitdiff
log stream: Return the number of bytes written
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 24 Mar 2025 18:39:07 +0000 (18:39 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 24 Mar 2025 18:39:07 +0000 (18:39 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/pakfire/buffer.c
src/pakfire/log_stream.c

index 3c11e8d9a9935003782dd4e35fe44e76369ed609..caeb24cd4cdabb8b78bc9dcc70f9c4b7d5010eaa 100644 (file)
@@ -132,7 +132,7 @@ int pakfire_buffer_push(struct pakfire_buffer* self, const char* data, size_t le
        memcpy(self->data + self->used, data, length);
        self->used += length;
 
-       return 0;
+       return length;
 }
 
 int pakfire_buffer_pop(struct pakfire_buffer* self, size_t length) {
index 01858bc20a12231a5221aff670f7c6dc6889bad6..d6abc24d08b567d60a4684ad367f9b94af415a43 100644 (file)
@@ -390,12 +390,13 @@ int pakfire_log_stream_close(struct pakfire_log_stream* stream) {
 
 static ssize_t __pakfire_log_stream_write(void* cookie, const char* buffer, size_t length) {
        struct pakfire_log_stream* self = cookie;
+       ssize_t bytes_written;
        int r;
 
        // Push the data into the buffer
-       r = pakfire_buffer_push(&self->buffer, buffer, length);
-       if (r < 0)
-               return r;
+       bytes_written = pakfire_buffer_push(&self->buffer, buffer, length);
+       if (bytes_written < 0)
+               return bytes_written;
 
        // Drain the buffer
        r = pakfire_log_stream_drain_buffer(self);
@@ -403,7 +404,7 @@ static ssize_t __pakfire_log_stream_write(void* cookie, const char* buffer, size
                return r;
 
        // Return how many bytes we have consumed
-       return length;
+       return bytes_written;
 }
 
 static int __pakfire_log_stream_close(void* cookie) {