1 /* Copyright (C) 1996 DJ Delorie, see COPYING.DJ for details */
2 /* Copyright (C) 1994 DJ Delorie, see COPYING.DJ for details */
3 #include <msvcrt/stdio.h>
4 #include <msvcrt/wchar.h>
5 #include <msvcrt/errno.h>
6 #include <msvcrt/internal/file.h>
8 int ungetc(int c, FILE *f)
10 if (!__validfp (f) || !OPEN4READING(f))
19 if (f->_ptr == NULL || f->_base == NULL)
22 if (f->_ptr == f->_base)
34 f->_flag |= _IOUNGETC;
42 ungetwc(wchar_t c, FILE *f)
44 if (!__validfp (f) || !OPEN4READING(f))
50 if (c == (wchar_t)EOF)
53 if (f->_ptr == NULL || f->_base == NULL)
56 if (f->_ptr == f->_base)
59 f->_ptr+=sizeof(wchar_t);
64 f->_cnt+=sizeof(wchar_t);
65 f->_ptr-=sizeof(wchar_t);
67 f->_flag |= _IOUNGETC;
68 *((wchar_t *)(f->_ptr)) = c;