Merge pull request #408 from marco-langer/feature/ostream_error_handling

Added error checking to ostream writing
This commit is contained in:
Syoyo Fujita 2023-03-13 21:18:02 +09:00 committed by GitHub
commit 967c98dd90
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View File

@ -504,7 +504,8 @@ TEST_CASE("serialize-empty-material", "[issue-294]") {
std::stringstream os;
tinygltf::TinyGLTF ctx;
ctx.WriteGltfSceneToStream(&m, os, false, false);
bool ret = ctx.WriteGltfSceneToStream(&m, os, false, false);
REQUIRE(true == ret);
// use nlohmann json
nlohmann::json j = nlohmann::json::parse(os.str());
@ -532,7 +533,8 @@ TEST_CASE("empty-skeleton-id", "[issue-321]") {
std::stringstream os;
ctx.WriteGltfSceneToStream(&model, os, false, false);
ret = ctx.WriteGltfSceneToStream(&model, os, false, false);
REQUIRE(true == ret);
// use nlohmann json
nlohmann::json j = nlohmann::json::parse(os.str());
@ -634,8 +636,9 @@ TEST_CASE("serialize-const-image", "[issue-394]") {
std::stringstream os;
tinygltf::TinyGLTF ctx;
ctx.WriteGltfSceneToStream(const_cast<const tinygltf::Model *>(&m), os, false,
bool ret = ctx.WriteGltfSceneToStream(const_cast<const tinygltf::Model *>(&m), os, false,
false);
REQUIRE(true == ret);
REQUIRE(m.images[0].uri == i.uri);
// use nlohmann json

View File

@ -7780,7 +7780,7 @@ static void SerializeGltfModel(const Model *model, detail::json &o) {
static bool WriteGltfStream(std::ostream &stream, const std::string &content) {
stream << content << std::endl;
return true;
return stream.good();
}
static bool WriteGltfFile(const std::string &output,
@ -7863,8 +7863,8 @@ static bool WriteBinaryGltfStream(std::ostream &stream,
}
}
// TODO: Check error on stream.write
return true;
stream.flush();
return stream.good();
}
static bool WriteBinaryGltfFile(const std::string &output,