Fixing warning C4146: unary minus operator applied to unsigned type, result still unsigned

Making compiler happy
My aversion against long is that it is 64-bit on win64 and 32-bit on 64-bit linux and osx. But indeed, as `fseek` takes a long it makes sense here.