gcc 15 and C23 force some union trickery on buffer.h :-(
add a few buffer_init*_forread variants to pretend we have type safety make sure buffer_init_staticcontents handles flushing attempts
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
#include <libowfat/buffer.h>
|
||||
|
||||
void buffer_init(buffer* b,ssize_t (*op)(),int fd,
|
||||
void buffer_init(buffer* b,ssize_t (*op)(int fd,const void* buf,size_t l),int fd,
|
||||
char* y,size_t ylen) {
|
||||
b->op=op;
|
||||
b->op.wop=op;
|
||||
b->fd=fd;
|
||||
b->x=y;
|
||||
b->a=ylen;
|
||||
@@ -11,3 +11,8 @@ void buffer_init(buffer* b,ssize_t (*op)(),int fd,
|
||||
b->cookie=0;
|
||||
b->deinit=0;
|
||||
}
|
||||
|
||||
void buffer_init_forread(buffer* b,ssize_t (*op)(int fd,void* buf,size_t l),int fd,
|
||||
char* y,size_t ylen) {
|
||||
buffer_init(b,(void*)op,fd,y,ylen);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user