6c32a8add4
Also tried to clean up the logic a little, and ensure that read errors or invalid archives resulted in error returns. This could use a lot more work... Volunteers?