replace fpos_t with long since old versions of clang and gcc seem claim
that fpos_t and long are not convertible