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

@ -5,7 +5,6 @@
* Copyright (C) 1995-2017 Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
#include "libc/assert.h"
#include "libc/intrin/weaken.h"
#include "libc/log/log.h"
#include "libc/mem/mem.h"
@ -319,8 +318,11 @@ voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
unsigned size;
{
(void)opaque;
_npassert(_weaken(malloc));
return _weaken(malloc)(items * size);
if (_weaken(malloc)) {
return _weaken(malloc)(items * size);
} else {
return 0;
}
}
void ZLIB_INTERNAL zcfree (opaque, ptr)
@ -328,8 +330,9 @@ void ZLIB_INTERNAL zcfree (opaque, ptr)
voidpf ptr;
{
(void)opaque;
_npassert(_weaken(free));
_weaken(free)(ptr);
if (_weaken(free)) {
_weaken(free)(ptr);
}
}
#endif /* MY_ZCALLOC */