/*
 * fseek.c
 */

#include "stdioint.h"

__extern int fseek(FILE *file, off_t where, int whence)
{
	struct _IO_file_pvt *f = stdio_pvt(file);
	off_t rv;

	if (f->obytes)
		if (__fflush(f))
			return -1;

	if (whence == SEEK_CUR) {
		where += f->pub._io_filepos;
		whence = SEEK_SET;
	}

	rv = lseek(f->pub._io_fileno, where, whence);
	if (__likely(rv != (off_t)-1)) {
		f->pub._io_filepos = rv;
		f->pub._io_eof = false;
		f->ibytes = 0;
		f->obytes = 0;
		return 0;
	} else {
		f->pub._io_error = true;
		return -1;
	}
}
