The manpage of `au_io.3` shows the incorrect success return value of `au_read_rec()` as 0, since it returns the number of bytes read from a file stream.
Correct implementation done here: [bsmtrace/bsm.c](https://github.com/openbsm/bsmtrace/blob/master/bsm.c#L564)
``` C
while ((reclen = au_read_rec(fp, &bsm_rec)) != -1) {
....
bd.br_raw_len = reclen;
....
}
```
Here, on success, the function returns no. of bytes which is stored in `reclen`.
Pull Request: https://github.com/openbsm/openbsm/pull/25