Fix bugs and make code tinier

- Fixed bug where stdio eof wasn't being sticky
- Fixed bug where fseeko() wasn't clearing eof state
- Removed assert() usage from libc favoring _unassert() / _npassert()
This commit is contained in:
Justine Tunney 2022-10-09 22:38:28 -07:00
parent 9b7c8db846
commit d5910e2673
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
115 changed files with 510 additions and 290 deletions

View file

@ -47,6 +47,7 @@ int fseeko_unlocked(FILE *f, int64_t offset, int whence) {
if (lseek(f->fd, offset, whence) != -1) {
f->beg = 0;
f->end = 0;
f->state = 0;
res = 0;
} else {
f->state = errno == ESPIPE ? EBADF : errno;
@ -69,6 +70,7 @@ int fseeko_unlocked(FILE *f, int64_t offset, int whence) {
}
if (0 <= pos && pos <= f->end) {
f->beg = pos;
f->state = 0;
res = 0;
} else {
f->state = errno = EINVAL;