Part of warnings

master
Marko Semet 2020-06-14 22:44:10 +02:00
parent 38417fa286
commit 67587c663d
1 changed files with 6 additions and 0 deletions

View File

@ -74,21 +74,25 @@ private
size_t current_pos = 0; size_t current_pos = 0;
// Read endian // Read endian
bool endian_explicit = false;
Endian endian_found = std.system.endian; Endian endian_found = std.system.endian;
switch(data[0]) switch(data[0])
{ {
case '=': case '=':
endian_found = std.system.endian; endian_found = std.system.endian;
current_pos++; current_pos++;
endian_explicit = true;
break; break;
case '<': case '<':
endian_found = Endian.littleEndian; endian_found = Endian.littleEndian;
current_pos++; current_pos++;
endian_explicit = true;
break; break;
case '!': case '!':
case '>': case '>':
endian_found = Endian.bigEndian; endian_found = Endian.bigEndian;
current_pos++; current_pos++;
endian_explicit = true;
break; break;
default: default:
} }
@ -153,6 +157,8 @@ private
assert(false, "Unknown format string: '" ~ data[current_pos..$] ~ "'"); assert(false, "Unknown format string: '" ~ data[current_pos..$] ~ "'");
} }
// TODO: Warn if endian isn't set explicit
// Return new struct // Return new struct
assert(current_pos == data.length); assert(current_pos == data.length);
Element result = {endian: endian_found, is_array: set_size, array_size: size, format_type: format_type_found}; Element result = {endian: endian_found, is_array: set_size, array_size: size, format_type: format_type_found};