From 246654a15a60c091c99847ed6c2652ca01fee369 Mon Sep 17 00:00:00 2001 From: Syoyo Fujita Date: Wed, 21 Mar 2018 20:32:22 +0900 Subject: [PATCH] Code clean-up. Reviewed by @Squareeyes. --- tiny_gltf.h | 60 ++++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 31 deletions(-) diff --git a/tiny_gltf.h b/tiny_gltf.h index 93a0773..f84dc7b 100644 --- a/tiny_gltf.h +++ b/tiny_gltf.h @@ -1671,7 +1671,7 @@ static bool ParseImage(Image *image, std::string *err, const json &o, if (hasBufferView && hasURI) { // Should not both defined. if (err) { - (*err) += "One of `bufferView` or `uri` should be defined, but both are defined for Image.\n"; + (*err) += "Only one of `bufferView` or `uri` should be defined, but both are defined for Image.\n"; } return false; } @@ -1685,8 +1685,8 @@ static bool ParseImage(Image *image, std::string *err, const json &o, ParseStringProperty(&image->name, err, o, "name", false); - double bufferView = -1; if (hasBufferView) { + double bufferView = -1; if (!ParseNumberProperty(&bufferView, err, o, "bufferView", true)) { if (err) { (*err) += "Failed to parse `bufferView` for Image.\n"; @@ -1713,48 +1713,46 @@ static bool ParseImage(Image *image, std::string *err, const json &o, return true; } + // Parse URI & Load image data. + std::string uri; std::string tmp_err; - if (hasURI) { - if (!ParseStringProperty(&uri, &tmp_err, o, "uri", true)) { - if (err) { - (*err) += "Failed to parse `uri` for Image.\n"; - } - return false; + if (!ParseStringProperty(&uri, &tmp_err, o, "uri", true)) { + if (err) { + (*err) += "Failed to parse `uri` for Image.\n"; } + return false; } std::vector img; - if (hasURI) { - if (IsDataURI(uri)) { - if (!DecodeDataURI(&img, uri, 0, false)) { - if (err) { - (*err) += "Failed to decode 'uri' for image parameter.\n"; - } - return false; + if (IsDataURI(uri)) { + if (!DecodeDataURI(&img, uri, 0, false)) { + if (err) { + (*err) += "Failed to decode 'uri' for image parameter.\n"; } - } else { - // Assume external file - // Keep texture path (for textures that cannot be decoded) - image->uri = uri; + return false; + } + } else { + // Assume external file + // Keep texture path (for textures that cannot be decoded) + image->uri = uri; #ifdef TINYGLTF_NO_EXTERNAL_IMAGE - return true; + return true; #endif - if (!LoadExternalFile(&img, err, uri, basedir, 0, false)) { - if (err) { - (*err) += "Failed to load external 'uri' for image parameter\n"; - } - // If the image cannot be loaded, keep uri as image->uri. - return true; + if (!LoadExternalFile(&img, err, uri, basedir, 0, false)) { + if (err) { + (*err) += "Failed to load external 'uri' for image parameter\n"; } + // If the image cannot be loaded, keep uri as image->uri. + return true; + } - if (img.empty()) { - if (err) { - (*err) += "Image is empty.\n"; - } - return false; + if (img.empty()) { + if (err) { + (*err) += "Image is empty.\n"; } + return false; } }