[ CTF_TYPE_STRING ] = ctf_string_read,
[ CTF_TYPE_STRUCT ] = ctf_struct_rw,
[ CTF_TYPE_VARIANT ] = ctf_variant_rw,
- [ CTF_TYPE_ARRAY ] = ctf_array_rw,
- [ CTF_TYPE_SEQUENCE ] = ctf_sequence_rw,
+ [ CTF_TYPE_ARRAY ] = ctf_array_read,
+ [ CTF_TYPE_SEQUENCE ] = ctf_sequence_read,
};
static
[ CTF_TYPE_STRING ] = ctf_string_write,
[ CTF_TYPE_STRUCT ] = ctf_struct_rw,
[ CTF_TYPE_VARIANT ] = ctf_variant_rw,
- [ CTF_TYPE_ARRAY ] = ctf_array_rw,
- [ CTF_TYPE_SEQUENCE ] = ctf_sequence_rw,
+ [ CTF_TYPE_ARRAY ] = ctf_array_write,
+ [ CTF_TYPE_SEQUENCE ] = ctf_sequence_write,
};
static
char buf[4096];
int ret = 0;
- readlen = fread(&header, sizeof(header), 1, in);
+ readlen = fread(&header, header_sizeof(header), 1, in);
if (readlen < 1)
return -EINVAL;
}
toread -= readlen;
if (!toread) {
- ret = -EOF;
- break;
- }
- if (feof(in)) {
- ret = -EINVAL;
+ ret = 0; /* continue reading next packet */
break;
}
}
for (;;) {
ret = ctf_open_trace_metadata_packet_read(td, in, out);
- if (ret == -EOF) {
- ret = 0;
+ if (ret) {
break;
- } else if (ret) {
+ }
+ if (feof(in)) {
+ ret = 0;
break;
}
}