summaryrefslogtreecommitdiffstats
path: root/src/WorldStorage
diff options
context:
space:
mode:
authorTycho <work.tycho+git@gmail.com>2014-03-08 16:13:45 +0100
committerTycho <work.tycho+git@gmail.com>2014-03-08 16:13:45 +0100
commitc3758112cc25b3f491abeb88c3f1d10b8985362a (patch)
treed22a0004d00a303d7c063f105929b21735a2ef3b /src/WorldStorage
parentWarnings (diff)
parentMerge pull request #770 from xdot/master (diff)
downloadcuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.tar
cuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.tar.gz
cuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.tar.bz2
cuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.tar.lz
cuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.tar.xz
cuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.tar.zst
cuberite-c3758112cc25b3f491abeb88c3f1d10b8985362a.zip
Diffstat (limited to 'src/WorldStorage')
-rw-r--r--src/WorldStorage/SchematicFileSerializer.cpp7
-rw-r--r--src/WorldStorage/SchematicFileSerializer.h4
2 files changed, 5 insertions, 6 deletions
diff --git a/src/WorldStorage/SchematicFileSerializer.cpp b/src/WorldStorage/SchematicFileSerializer.cpp
index a6ae8d8e0..b021aeb0c 100644
--- a/src/WorldStorage/SchematicFileSerializer.cpp
+++ b/src/WorldStorage/SchematicFileSerializer.cpp
@@ -103,7 +103,7 @@ bool cSchematicFileSerializer::SaveToSchematicFile(const cBlockArea & a_BlockAre
-AString cSchematicFileSerializer::SaveToSchematicString(const cBlockArea & a_BlockArea)
+bool cSchematicFileSerializer::SaveToSchematicString(const cBlockArea & a_BlockArea, AString & a_Out)
{
// Serialize into NBT data:
AString NBT = SaveToSchematicNBT(a_BlockArea);
@@ -114,14 +114,13 @@ AString cSchematicFileSerializer::SaveToSchematicString(const cBlockArea & a_Blo
}
// Gzip the data:
- AString Compressed;
- int res = CompressStringGZIP(NBT.data(), NBT.size(), Compressed);
+ int res = CompressStringGZIP(NBT.data(), NBT.size(), a_Out);
if (res != Z_OK)
{
LOG("%s: Cannot Gzip the area data NBT representation: %d", __FUNCTION__, res);
return false;
}
- return Compressed;
+ return true;
}
diff --git a/src/WorldStorage/SchematicFileSerializer.h b/src/WorldStorage/SchematicFileSerializer.h
index f6ce1c16c..05b6c74f4 100644
--- a/src/WorldStorage/SchematicFileSerializer.h
+++ b/src/WorldStorage/SchematicFileSerializer.h
@@ -36,8 +36,8 @@ public:
static bool SaveToSchematicFile(const cBlockArea & a_BlockArea, const AString & a_FileName);
/** Saves the area into a string containing the .schematic file data.
- Returns the data, or empty string if failed. */
- static AString SaveToSchematicString(const cBlockArea & a_BlockArea);
+ Returns true if successful, false on failure. The data is stored into a_Out. */
+ static bool SaveToSchematicString(const cBlockArea & a_BlockArea, AString & a_Out);
private:
/** Loads the area from a schematic file uncompressed and parsed into a NBT tree.