* lib/zip_error.c (_zip_error_get): set system error to 0 for ZIP_ET_NONE.

--HG--
branch : HEAD
diff --git a/ChangeLog b/ChangeLog
index 39324c7..77a4741 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2005-01-11  Dieter Baron  <dillo@danbala.tuwien.ac.at>
 
+	* lib/zip_error.c (_zip_error_get): set system error to 0 for
+	ZIP_ET_NONE.
+
 	* lib/zip_open.c (_zip_memdup): make static, use size_t for size
 	argument, add error argument for passing error code back to
 	caller.
diff --git a/lib/zip_error.c b/lib/zip_error.c
index 2fc6097..9147f7f 100644
--- a/lib/zip_error.c
+++ b/lib/zip_error.c
@@ -1,5 +1,5 @@
 /*
-  $NiH: zip_error.c,v 1.4 2004/04/14 14:01:23 dillo Exp $
+  $NiH: zip_error.c,v 1.5 2004/04/16 09:40:27 dillo Exp $
 
   zip_error.c -- struct zip_error helper functions
   Copyright (C) 1999, 2003, 2004 Dieter Baron and Thomas Klausner
@@ -65,9 +65,12 @@
 {
     if (zep)
 	*zep = err->zip_err;
-    /* XXX: only if valid? */
-    if (sep)
-	*sep = err->sys_err;
+    if (sep) {
+	if (zip_error_get_sys_type(err->zip_err) != ZIP_ET_NONE)
+	    *sep = err->sys_err;
+	else
+	    *sep = 0;
+    }
 }