distinguish error versus short read from read_in_full()