2003-09-08 20:29:39 +00:00
|
|
|
#include <stdlib.h>
|
2003-09-24 23:31:35 +00:00
|
|
|
#include "byte.h"
|
2003-09-08 20:29:39 +00:00
|
|
|
#include "iob_internal.h"
|
|
|
|
|
|
|
|
void iob_reset(io_batch* b) {
|
2003-10-31 23:42:04 +00:00
|
|
|
unsigned long i,l;
|
|
|
|
iob_entry* x=array_start(&b->b);
|
|
|
|
l=array_length(&b->b,sizeof(iob_entry));
|
|
|
|
for (i=0; i<l; ++i) {
|
|
|
|
if (x[i].type==FROMBUF_FREE)
|
|
|
|
free((char*)x[i].buf);
|
2004-02-25 02:22:54 +00:00
|
|
|
if (x[i].type==FROMFILE_CLOSE)
|
|
|
|
io_close(x[i].fd);
|
2003-10-31 23:42:04 +00:00
|
|
|
}
|
2003-09-08 20:29:39 +00:00
|
|
|
array_reset(&b->b);
|
2003-09-24 23:32:42 +00:00
|
|
|
byte_zero(b,sizeof(*b));
|
2003-09-08 20:29:39 +00:00
|
|
|
}
|