From 759976e08778c797e536bf5f4445799f178db266 Mon Sep 17 00:00:00 2001 From: emimvi Date: Sat, 2 Sep 2023 09:39:53 +0200 Subject: [PATCH] Consistently use size_t for all byteOffset's --- tiny_gltf.h | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/tiny_gltf.h b/tiny_gltf.h index a0d9c81..c4a8435 100644 --- a/tiny_gltf.h +++ b/tiny_gltf.h @@ -837,7 +837,7 @@ struct Accessor { int count; bool isSparse; struct { - int byteOffset; + size_t byteOffset; int bufferView; int componentType; // a TINYGLTF_COMPONENT_TYPE_ value Value extras; @@ -847,7 +847,7 @@ struct Accessor { } indices; struct { int bufferView; - int byteOffset; + size_t byteOffset; Value extras; ExtensionMap extensions; std::string extras_json_string; @@ -4648,24 +4648,26 @@ static bool ParseSparseAccessor( const detail::json &indices_obj = detail::GetValue(indices_iterator); const detail::json &values_obj = detail::GetValue(values_iterator); - int indices_buffer_view = 0, indices_byte_offset = 0, component_type = 0; + int indices_buffer_view = 0, component_type = 0; + size_t indices_byte_offset = 0; if (!ParseIntegerProperty(&indices_buffer_view, err, indices_obj, "bufferView", true, "SparseAccessor")) { return false; } - ParseIntegerProperty(&indices_byte_offset, err, indices_obj, "byteOffset", + ParseUnsignedProperty(&indices_byte_offset, err, indices_obj, "byteOffset", false); if (!ParseIntegerProperty(&component_type, err, indices_obj, "componentType", true, "SparseAccessor")) { return false; } - int values_buffer_view = 0, values_byte_offset = 0; + int values_buffer_view = 0; + size_t values_byte_offset = 0; if (!ParseIntegerProperty(&values_buffer_view, err, values_obj, "bufferView", true, "SparseAccessor")) { return false; } - ParseIntegerProperty(&values_byte_offset, err, values_obj, "byteOffset", + ParseUnsignedProperty(&values_byte_offset, err, values_obj, "byteOffset", false); sparse->count = count; @@ -7195,7 +7197,7 @@ static void SerializeGltfAccessor(const Accessor &accessor, detail::json &o) { detail::json indices; SerializeNumberProperty("bufferView", accessor.sparse.indices.bufferView, indices); - SerializeNumberProperty("byteOffset", + SerializeNumberProperty("byteOffset", accessor.sparse.indices.byteOffset, indices); SerializeNumberProperty( "componentType", accessor.sparse.indices.componentType, indices); @@ -7206,7 +7208,7 @@ static void SerializeGltfAccessor(const Accessor &accessor, detail::json &o) { detail::json values; SerializeNumberProperty("bufferView", accessor.sparse.values.bufferView, values); - SerializeNumberProperty("byteOffset", + SerializeNumberProperty("byteOffset", accessor.sparse.values.byteOffset, values); SerializeExtrasAndExtensions(accessor.sparse.values, values); detail::JsonAddMember(sparse, "values", std::move(values));