From 67587c663d7b5c3871fb04a9577eeb47b152edf0 Mon Sep 17 00:00:00 2001 From: Marko Semet Date: Sun, 14 Jun 2020 22:44:10 +0200 Subject: [PATCH] Part of warnings --- source/structs/package.d | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/structs/package.d b/source/structs/package.d index cf6e3ce..4d12cf0 100644 --- a/source/structs/package.d +++ b/source/structs/package.d @@ -74,21 +74,25 @@ private size_t current_pos = 0; // Read endian + bool endian_explicit = false; Endian endian_found = std.system.endian; switch(data[0]) { case '=': endian_found = std.system.endian; current_pos++; + endian_explicit = true; break; case '<': endian_found = Endian.littleEndian; current_pos++; + endian_explicit = true; break; case '!': case '>': endian_found = Endian.bigEndian; current_pos++; + endian_explicit = true; break; default: } @@ -153,6 +157,8 @@ private assert(false, "Unknown format string: '" ~ data[current_pos..$] ~ "'"); } + // TODO: Warn if endian isn't set explicit + // Return new struct assert(current_pos == data.length); Element result = {endian: endian_found, is_array: set_size, array_size: size, format_type: format_type_found};