scc

A fork of https://git.simple-cc.org/scc/ for Qute

git clone https://git.8pit.net/scc.git

 1#include <stdio.h>
 2
 3#include "../syscall.h"
 4#include "../libc.h"
 5
 6#undef fseek
 7
 8int
 9fseek(FILE *fp, long off, int whence)
10{
11	if (fp->flags & _IOERR)
12		return EOF;
13
14	if ((fp->flags & _IOWRITE) && _flsbuf(fp))
15		return -1;
16	else if (whence == SEEK_CUR && (fp->flags & _IOREAD))
17		off -= fp->wp - fp->rp;
18
19	if (_lseek(fp->fd, off, whence) < 0)
20		return EOF;
21
22	if (fp->flags & _IORW)
23		fp->flags &= ~(_IOREAD | _IOWRITE);
24	fp->flags &= ~_IOEOF;
25
26	return 0;
27}