#include <stdio_impl.h>

int __toread(FILE *f)
{
	f->mode |= f->mode-1;
	if (f->wpos > f->wbase) f->write(f, 0, 0);
	f->wpos = f->wbase = f->wend = 0;
	if (f->flags & F_NORD) {
		f->flags |= F_ERR;
		return EOF;
	}
	f->rpos = f->rend = f->buf + f->buf_size;
	return (f->flags & F_EOF) ? EOF : 0;
}

// This function is unused, and leaks __stdio_exit_needed.
#ifndef STARBOARD
void __stdio_exit_needed(void);

void __toread_needs_stdio_exit()
{
	__stdio_exit_needed();
}
#endif  // STARBOARD
