mirror of
https://github.com/fluencelabs/musl
synced 2025-05-05 12:02:13 +00:00
for conformance, two functions should not have the same address. a conforming program could use the addresses of getc and fgetc in ways that assume they are distinct. normally i would just use a wrapper, but these functions are so small and performance-critical that an extra layer of function call could make the one that's a wrapper nearly twice as slow, so I'm just duplicating the code instead.
13 lines
204 B
C
13 lines
204 B
C
#include "stdio_impl.h"
|
|
|
|
int putc(int c, FILE *f)
|
|
{
|
|
if (f->lock < 0 || !__lockfile(f))
|
|
return putc_unlocked(c, f);
|
|
c = putc_unlocked(c, f);
|
|
__unlockfile(f);
|
|
return c;
|
|
}
|
|
|
|
weak_alias(putc, _IO_putc);
|