amiga-ixemul/wchar/ungetwc.c

23 lines
295 B
C

#include "stdio.h"
#include <stdlib.h>
#include <wchar.h>
#include <errno.h>
wint_t ungetwc(wint_t c, FILE *f)
{
char buf[MB_CUR_MAX];
size_t n = wctomb(buf, c);
if (n == (size_t)-1)
return WEOF;
do
{
if (ungetc(buf[--n], f) == EOF)
return WEOF;
}
while (n != 0);
return c;
}