BUGFIX: Wrog data returned becuase read(buff,n) was not using  offset in buffer

BUGFIX: read(buff,n) was not using offset in buffer, hence interleaving read() with read(buf,n) calls would return the wrong data!