From 742897519d7ae85af3d956451fa16d66ba9a5fc5 Mon Sep 17 00:00:00 2001 From: Lucas CHOLLET Date: Tue, 11 Jul 2023 11:44:58 -0400 Subject: [PATCH] LibGfx/DDS: Move the code to read the header in its own function --- Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp b/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp index 9905fae768..7f70079ebf 100644 --- a/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp +++ b/Userland/Libraries/LibGfx/ImageFormats/DDSLoader.cpp @@ -410,7 +410,7 @@ static ErrorOr decode_bitmap(Stream& stream, DDSLoadingContext& context, u return {}; } -static ErrorOr decode_dds(DDSLoadingContext& context) +static ErrorOr decode_header(DDSLoadingContext& context) { // All valid DDS files are at least 128 bytes long. if (TRY(context.stream.size()) < 128) { @@ -465,6 +465,13 @@ static ErrorOr decode_dds(DDSLoadingContext& context) return Error::from_string_literal("Format type is not supported at the moment"); } + return {}; +} + +static ErrorOr decode_dds(DDSLoadingContext& context) +{ + TRY(decode_header(context)); + // We support parsing mipmaps, but we only care about the largest one :^) (At least for now) if (size_t mipmap_level = 0; mipmap_level < max(context.header.mip_map_count, 1u)) { u64 width = get_width(context.header, mipmap_level);