int fgetpos(FILE *f, fpos_t *pos) { off_t off = __ftello(f); if (off < 0) return -1; *(off_t *)pos = off; return 0; }
long ftell(FILE *f) { off_t pos = __ftello(f); if (pos > LONG_MAX) { errno = EOVERFLOW; return -1; } return pos; }
#include "stdio_impl.h" int fgetpos(FILE* restrict f, fpos_t* restrict pos) { off_t off = __ftello(f); if (off < 0) return -1; *(off_t*)pos = off; return 0; }