Fix a bug: uncompressed and compressed zip64 EF data was written
in incorrect order.

Reported by Dmytro Rybachenko.
diff --git a/THANKS b/THANKS
index cf73aa8..14472cf 100644
--- a/THANKS
+++ b/THANKS
@@ -13,6 +13,7 @@
 Coverity <info@coverity.com>
 Dane Springmeyer <dane.springmeyer@gmail.com>
 Del Merritt <del@alum.mit.edu>
+Dmytro Rybachenko
 François Simon <AT.GFI.Francois.SIMON@sesam-vitale.fr>
 Heiko Hund <heiko@ist.eigentlich.net>
 Jan Weiß <jan@geheimwerk.de>
diff --git a/lib/zip_dirent.c b/lib/zip_dirent.c
index 6568517..db051b5 100644
--- a/lib/zip_dirent.c
+++ b/lib/zip_dirent.c
@@ -666,10 +666,10 @@
     }
     else {
 	if ((flags & ZIP_FL_FORCE_ZIP64) || de->comp_size > ZIP_UINT32_MAX || de->uncomp_size > ZIP_UINT32_MAX || de->offset > ZIP_UINT32_MAX) {
-	    if (de->comp_size >= ZIP_UINT32_MAX)
-		_zip_poke8(de->comp_size, &ef_zip64_p);
 	    if (de->uncomp_size >= ZIP_UINT32_MAX)
 		_zip_poke8(de->uncomp_size, &ef_zip64_p);
+	    if (de->comp_size >= ZIP_UINT32_MAX)
+		_zip_poke8(de->comp_size, &ef_zip64_p);
 	    if (de->offset >= ZIP_UINT32_MAX)
 		_zip_poke8(de->offset, &ef_zip64_p);
 	}