* mingwex/fopen64.c: Move.
* mingwex/fseeko64.c: Move. * mingwex/ftello64.c: Move. * mingwex/lseek64.c: Move. * mingwex/stdio/fopen64.c: To here. * mingwex/stdio/fseeko64.c: To here. * mingwex/stdio/ftello64.c: To here. * mingwex/stdio/lseek64.c: To here. White space cleanup in ChangeLog
This commit is contained in:
27
winsup/mingw/mingwex/stdio/fseeko64.c
Executable file
27
winsup/mingw/mingwex/stdio/fseeko64.c
Executable file
@@ -0,0 +1,27 @@
|
||||
#include <stdio.h>
|
||||
#include <io.h>
|
||||
#include <errno.h>
|
||||
|
||||
int __cdecl
|
||||
fseeko64 (FILE* stream, off64_t offset, int whence)
|
||||
{
|
||||
fpos_t pos;
|
||||
if (whence == SEEK_CUR)
|
||||
{
|
||||
/* If stream is invalid, fgetpos sets errno. */
|
||||
if (fgetpos (stream, &pos))
|
||||
return (-1);
|
||||
pos += (fpos_t) offset;
|
||||
}
|
||||
else if (whence == SEEK_END)
|
||||
pos = (fpos_t) (_filelengthi64 (_fileno (stream)) + offset);
|
||||
else if (whence == SEEK_SET)
|
||||
pos = (fpos_t) offset;
|
||||
else
|
||||
{
|
||||
errno = EINVAL;
|
||||
return (-1);
|
||||
}
|
||||
return fsetpos (stream, &pos);
|
||||
}
|
||||
|
Reference in New Issue
Block a user