add a few buffer_init*_forread variants to pretend we have type safety make sure buffer_init_staticcontents handles flushing attempts
20 lines
356 B
C
20 lines
356 B
C
#include <errno.h>
|
|
#include "array.h"
|
|
#include "buffer.h"
|
|
|
|
static ssize_t fail(int fd,void* buf,size_t l) {
|
|
(void)fd;
|
|
(void)buf;
|
|
(void)l;
|
|
errno=EINVAL;
|
|
return -1;
|
|
}
|
|
|
|
void buffer_fromarray(buffer* b,array* a) {
|
|
if (array_failed(a)) {
|
|
memset(b,0,sizeof *b);
|
|
b->op.rop=fail;
|
|
} else
|
|
buffer_frombuf(b,array_start(a),a->initialized);
|
|
}
|