Files
retrobsd/src/libc/stdio/ungetc.c
2014-04-09 14:27:18 +01:00

23 lines
335 B
C

#include <stdio.h>
int
ungetc(c, iop)
register FILE *iop;
{
if (c == EOF || (iop->_flag & (_IOREAD|_IORW)) == 0 ||
iop->_ptr == NULL || iop->_base == NULL)
return (EOF);
if (iop->_ptr == iop->_base) {
if (iop->_cnt == 0)
iop->_ptr++;
else
return (EOF);
}
iop->_cnt++;
*--iop->_ptr = c;
return (c);
}