buffer_getn(3) read binary data from buffer


#include <buffer.h>

ssize_t buffer_getn(buffer* b,char* x,size_t len);


buffer_getn copies data to x[0], x[1], ..., x[len-1] from the buffer, calling buffer_feed as needed, and returns len.

If a read error occurs, buffer_getn returns -1 and sets errno appropriately. It may then have put any number between 0 and len in the buffer, you can't tell. That makes this function only useful if you don't care when an error occurs. Use buffer_get otherwise.

If the read operation signals end-of-file before len bytes were read, buffer_getn returns the number of bytes read from the buffer before end-of-file.