The position variable which fgetpos() sets is entirely unspecified,
so shouldn't be used in portable code.

diff --git a/lib/HTS_misc.c.old b/lib/HTS_misc.c
index 72306cb..45c51cd 100644
--- a/lib/HTS_misc.c.old
+++ b/lib/HTS_misc.c
@@ -243,13 +243,7 @@ size_t HTS_ftell(HTS_File * fp)
    if (fp == NULL) {
       return 0;
    } else if (fp->type == HTS_FILE) {
-      fpos_t pos;
-      fgetpos((FILE *) fp->pointer, &pos);
-#if defined(_WIN32) || defined(__CYGWIN__) || defined(__APPLE__) || defined(__ANDROID__)
-      return (size_t) pos;
-#else
-      return (size_t) pos.__pos;
-#endif                          /* _WIN32 || __CYGWIN__ || __APPLE__ || __ANDROID__ */
+      return (size_t)ftell((FILE *) fp->pointer);
    } else if (fp->type == HTS_DATA) {
       HTS_Data *d = (HTS_Data *) fp->pointer;
       return d->index;
