Exemple #1
0
void clearerr
    (
    FILE * fp		/* stream to clear EOF and ERROR flags for */
    )
    {
    __sclearerr(fp);
    }
Exemple #2
0
void
clearerr(FILE *fp)
{
	FLOCKFILE(fp);
	__sclearerr(fp);
	FUNLOCKFILE(fp);
}
Exemple #3
0
wint_t
__ungetwc(wint_t wc, FILE *fp, locale_t locale)
{
	struct wchar_io_data *wcio;
	char buf[MB_LEN_MAX];
	size_t len;
	struct xlocale_ctype *l = XLOCALE_CTYPE(locale);

	if (wc == WEOF)
		return (WEOF);

	_SET_ORIENTATION(fp, 1);

	wcio = WCIO_GET(fp);
	if (wcio == 0) {
		errno = ENOMEM; /* XXX */
		return (WEOF);
	}

	len = l->__wcrtomb(buf, wc, &wcio->wcio_mbstate_in);
	if (len == (size_t)-1)
		return (WEOF);
	while (len--) {
		if (__ungetc(buf[len], fp) == EOF)
			return (WEOF);
	}
	__sclearerr(fp);
	return wc;
}
Exemple #4
0
void
rewind(FILE *fp)
{

	_DIAGASSERT(fp != NULL);

	FLOCKFILE(fp);
	(void) fseek(fp, 0L, SEEK_SET);
	__sclearerr(fp);
	FUNLOCKFILE(fp);
}
Exemple #5
0
wint_t
ungetwc(wint_t wc, FILE *fp)
{
  struct wchar_io_data *wcio;

  _DIAGASSERT(fp);

  if (wc == WEOF)
    return WEOF;

  FLOCKFILE(fp);
  _SET_ORIENTATION(fp, 1);
  /*
   * XXX since we have no way to transform a wchar string to
   * a char string in reverse order, we can't use ungetc.
   */
  /* XXX should we flush ungetc buffer? */

  wcio = WCIO_GET(fp);
  if (wcio == 0) {
    FUNLOCKFILE(fp);
    errno = ENOMEM; /* XXX */
    return WEOF;
  }

  if (wcio->wcio_ungetwc_inbuf >= WCIO_UNGETWC_BUFSIZE) {
    FUNLOCKFILE(fp);
    return WEOF;
  }

  wcio->wcio_ungetwc_buf[wcio->wcio_ungetwc_inbuf++] = (wchar_t)wc;
  __sclearerr(fp);
  FUNLOCKFILE(fp);

  return wc;
}
void clearerr_unlocked(FILE* fp) {
  return __sclearerr(fp);
}
void
pd_clearerr_unlocked_p(FILEpd *fp)
{

	__sclearerr(fp);
}