byte_zero the allocated io_batch in iob_new
This commit is contained in:
parent
e9e8886089
commit
1205a3d38f
@ -1,9 +1,11 @@
|
||||
#include <stdlib.h>
|
||||
#include "byte.h"
|
||||
#include "iob_internal.h"
|
||||
|
||||
io_batch* iob_new(int hint_entries) {
|
||||
io_batch* b=(io_batch*)malloc(sizeof(io_batch));
|
||||
if (!b) return 0;
|
||||
byte_zero(b,sizeof(io_batch));
|
||||
if (hint_entries) {
|
||||
if (!array_allocate(&b->b,sizeof(iob_entry),hint_entries)) {
|
||||
free(b);
|
||||
@ -11,7 +13,5 @@ io_batch* iob_new(int hint_entries) {
|
||||
}
|
||||
array_trunc(&b->b);
|
||||
}
|
||||
b->next=b->bufs=b->files=0;
|
||||
b->bytesleft=0;
|
||||
return b;
|
||||
}
|
||||
|
8
t.c
8
t.c
@ -37,11 +37,11 @@ int64 writecb(int64 fd,const void* buf,uint64 n) {
|
||||
}
|
||||
|
||||
int main(int argc,char* argv[]) {
|
||||
static io_batch b;
|
||||
io_batch* b=iob_new(1234);
|
||||
int64 fd=open("t.c",0);
|
||||
iob_addbuf(&b,"fnord",5);
|
||||
iob_addfile_close(&b,fd,0,7365);
|
||||
iob_write(1,&b,writecb);
|
||||
iob_addbuf(b,"fnord",5);
|
||||
iob_addfile_close(b,fd,0,7365);
|
||||
iob_write(1,b,writecb);
|
||||
#if 0
|
||||
char dest[1024];
|
||||
unsigned long len;
|
||||
|
Loading…
x
Reference in New Issue
Block a user