summaryrefslogtreecommitdiff
path: root/nbt/compressed.go
diff options
context:
space:
mode:
authorKevin Chabowski <kevin@kch42.de>2013-08-07 14:29:58 +0200
committerKevin Chabowski <kevin@kch42.de>2013-08-07 14:29:58 +0200
commitb990c3d2db0280f0c4b3dccc2520caf5f2b6b6e6 (patch)
tree721c052cabe115edeb45f7ad02962c12cdb21df6 /nbt/compressed.go
parent5a12f9e05c7cc608ba9685e50eabab21f7fc1f51 (diff)
downloadgonbt-b990c3d2db0280f0c4b3dccc2520caf5f2b6b6e6.tar.gz
gonbt-b990c3d2db0280f0c4b3dccc2520caf5f2b6b6e6.tar.bz2
gonbt-b990c3d2db0280f0c4b3dccc2520caf5f2b6b6e6.zip
Added functions to create NBT data + tests.
Diffstat (limited to 'nbt/compressed.go')
-rw-r--r--nbt/compressed.go19
1 files changed, 16 insertions, 3 deletions
diff --git a/nbt/compressed.go b/nbt/compressed.go
index a16308f..406c299 100644
--- a/nbt/compressed.go
+++ b/nbt/compressed.go
@@ -19,9 +19,16 @@ func ReadGzipdNamedTag(r io.Reader) (Tag, string, error) {
}
// WriteGzipdNamedTag writes a gzip compressed named tag. See WriteNamedTag for more info.
-func WriteGzipdNamedTag(w io.Writer, name string, tag Tag) error {
+func WriteGzipdNamedTag(w io.Writer, name string, tag Tag) (outerr error) {
comp := gzip.NewWriter(w)
- return WriteNamedTag(comp, name, tag)
+ defer func(){
+ err := comp.Close()
+ if outerr != nil {
+ outerr = err
+ }
+ }()
+ outerr = WriteNamedTag(comp, name, tag)
+ return
}
// ReadZlibdNamedTag reads a zlib compressed named tag. See ReadNamedTags for more info.
@@ -35,7 +42,13 @@ func ReadZlibdNamedTag(r io.Reader) (Tag, string, error) {
}
// WriteZlibdNamedTag writes a zlib compressed named tag. See WriteNamedTag for more info.
-func WriteZlibdNamedTag(w io.Writer, name string, tag Tag) error {
+func WriteZlibdNamedTag(w io.Writer, name string, tag Tag) (outerr error) {
comp := zlib.NewWriter(w)
+ defer func(){
+ err := comp.Close()
+ if outerr != nil {
+ outerr = err
+ }
+ }()
return WriteNamedTag(comp, name, tag)
}