Only fail zip_source_read if a previous error occured during read.

Fixes case where clonefile() fails (e.g. on HFS+).
diff --git a/lib/zip_source_open.c b/lib/zip_source_open.c
index a5712b2..e4cb0b3 100644
--- a/lib/zip_source_open.c
+++ b/lib/zip_source_open.c
@@ -68,6 +68,7 @@
     }
 
     src->eof = false;
+    src->had_read_error = false;
     _zip_error_clear(&src->error);
     src->open_count++;