From 722f1c3fe7820aeda17f7a28678bcaa273204242 Mon Sep 17 00:00:00 2001
From: jsalmon3 <>
Date: Sat, 23 Nov 2002 22:13:24 +0000
Subject: [PATCH] SavePud returns an error if open fails

---
 src/include/pud.h     | 2 +-
 src/stratagus/pud.cpp | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/include/pud.h b/src/include/pud.h
index 9f109cc38..6b60169c8 100644
--- a/src/include/pud.h
+++ b/src/include/pud.h
@@ -104,7 +104,7 @@ extern void LoadScm(const char* scm,WorldMap* map);
 extern void LoadChk(const char* chk,WorldMap* map);
 
     /// Save a pud file
-extern void SavePud(const char* pud,const WorldMap* map);
+extern int SavePud(const char* pud,const WorldMap* map);
 
     /// Clean the pud module
 extern void CleanPud(void);
diff --git a/src/stratagus/pud.cpp b/src/stratagus/pud.cpp
index 76028c1ec..da263fe61 100644
--- a/src/stratagus/pud.cpp
+++ b/src/stratagus/pud.cpp
@@ -1528,7 +1528,7 @@ local void PudSaveUnits(gzFile f)
 **	@param pud	File name.
 **	@param map	Map to save.
 */
-global void SavePud(const char* pud,const WorldMap* map)
+global int SavePud(const char* pud,const WorldMap* map)
 {
     gzFile f;
     int i;
@@ -1536,7 +1536,7 @@ global void SavePud(const char* pud,const WorldMap* map)
 
     if( !(f=gzopen(pud,strcasestr(pud,".gz") ? "wb9" : "wb0")) ) {
 	fprintf(stderr,"Can't save pud `%s'\n",pud);
-	return;
+	return -1;
     }
 
     PudWriteHeader(f,"TYPE",16);
@@ -1644,6 +1644,8 @@ global void SavePud(const char* pud,const WorldMap* map)
     PudSaveUnits(f);
 
     gzclose(f);
+
+    return 0;
 }
 
 #else