diff options
| author | Tom Lane | 2020-02-21 17:49:42 +0000 |
|---|---|---|
| committer | Tom Lane | 2020-02-21 19:30:47 +0000 |
| commit | 799d22461a932aace890d61a82186e0d64de0ee8 (patch) | |
| tree | 76c7b261ed71f78c40b944f4b1ea7e480532b670 /src/port | |
| parent | 3f9c1697dca0b4964f1f5ba624d361d4e0e53051 (diff) | |
Assume that we have functional, 64-bit fseeko()/ftello().
Windows has this, and so do all other live platforms according to the
buildfarm, so remove the configure probe and src/port/ substitution.
Keep the probe that detects whether _LARGEFILE_SOURCE has to be
defined to get that, though ... that seems to be still relevant in
some places.
This is part of a series of commits to get rid of no-longer-relevant
configure checks and dead src/port/ code. I'm committing them separately
to make it easier to back out individual changes if they prove less
portable than I expect.
Discussion: https://postgr.es/m/15379.1582221614@sss.pgh.pa.us
Diffstat (limited to 'src/port')
| -rw-r--r-- | src/port/fseeko.c | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/port/fseeko.c b/src/port/fseeko.c deleted file mode 100644 index 02c1bcd2514..00000000000 --- a/src/port/fseeko.c +++ /dev/null @@ -1,84 +0,0 @@ -/*------------------------------------------------------------------------- - * - * fseeko.c - * 64-bit versions of fseeko/ftello() - * - * Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group - * Portions Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * src/port/fseeko.c - * - *------------------------------------------------------------------------- - */ - -/* - * We have to use the native defines here because configure hasn't - * completed yet. - */ -#ifdef __NetBSD__ - -#include "c.h" - -#include <sys/stat.h> - - -/* - * On NetBSD, off_t and fpos_t are the same. Standards - * say off_t is an arithmetic type, but not necessarily integral, - * while fpos_t might be neither. - */ - -int -fseeko(FILE *stream, off_t offset, int whence) -{ - off_t floc; - struct stat filestat; - - switch (whence) - { - case SEEK_CUR: - if (fgetpos(stream, &floc) != 0) - goto failure; - floc += offset; - if (fsetpos(stream, &floc) != 0) - goto failure; - return 0; - break; - case SEEK_SET: - if (fsetpos(stream, &offset) != 0) - return -1; - return 0; - break; - case SEEK_END: - fflush(stream); /* force writes to fd for stat() */ - if (fstat(fileno(stream), &filestat) != 0) - goto failure; - floc = filestat.st_size; - floc += offset; - if (fsetpos(stream, &floc) != 0) - goto failure; - return 0; - break; - default: - errno = EINVAL; - return -1; - } - -failure: - return -1; -} - - -off_t -ftello(FILE *stream) -{ - off_t floc; - - if (fgetpos(stream, &floc) != 0) - return -1; - return floc; -} - -#endif |
