Let struct.calcsize tell us how many bytes to read

This is obviously only a very minor tweak - up to you if you think it's worth making or not... (i.e. I don't mind if you reject this)