most of the 'off' arguments to Lseek() (the internal lseek() wrapper) are unsigned longs. we need them to be sign extended, though, so change Lseek() to take a 'long' rather than an 'off_t', and let the compiler do the dirty work via implicit casts.