Sign in
cobalt
/
cobalt
/
97b64f26fb12c9eab352139c26f0b01d1cb6d0b9
/
.
/
third_party
/
musl
/
src
/
stdio
/
ungetc.c
blob: 180673a47663ad57b11d3e6525c35cc23858939a [
file
] [
log
] [
blame
]
#include
"stdio_impl.h"
int
ungetc
(
int
c
,
FILE
*
f
)
{
if
(
c
==
EOF
)
return
c
;
FLOCK
(
f
);
if
(!
f
->
rpos
)
__toread
(
f
);
if
(!
f
->
rpos
||
f
->
rpos
<=
f
->
buf
-
UNGET
)
{
FUNLOCK
(
f
);
return
EOF
;
}
*--
f
->
rpos
=
c
;
f
->
flags
&=
~
F_EOF
;
FUNLOCK
(
f
);
return
c
;
}