Many spurious VC warnings not quieted though.
We choose a semantic for the file offset during truncate operations which is to leave the offset as is unless it is off the end of the file in which case we pull it back in to the end. We update fd and stdio handling to match the {,e}mem behaviour.