1
0
Fork 0

Codechange: use wrappers to get Var[Mem|File]Type, instead of GB()

pull/9342/head
Patric Stout 2021-06-04 10:33:38 +02:00 committed by Patric Stout
parent fba86f711f
commit a2147d437e
1 changed files with 8 additions and 7 deletions

View File

@ -587,17 +587,17 @@ static inline uint SlGetArrayLength(size_t length)
static inline uint SlCalcConvMemLen(VarType conv)
{
static const byte conv_mem_size[] = {1, 1, 1, 2, 2, 4, 4, 8, 8, 0};
byte length = GB(conv, 4, 4);
switch (length << 4) {
switch (GetVarMemType(conv)) {
case SLE_VAR_STRB:
case SLE_VAR_STR:
case SLE_VAR_STRQ:
return SlReadArrayLength();
default:
assert(length < lengthof(conv_mem_size));
return conv_mem_size[length];
uint8 type = GetVarMemType(conv) >> 4;
assert(type < lengthof(conv_mem_size));
return conv_mem_size[type];
}
}
@ -610,9 +610,10 @@ static inline uint SlCalcConvMemLen(VarType conv)
static inline byte SlCalcConvFileLen(VarType conv)
{
static const byte conv_file_size[] = {1, 1, 2, 2, 4, 4, 8, 8, 2};
byte length = GB(conv, 0, 4);
assert(length < lengthof(conv_file_size));
return conv_file_size[length];
uint8 type = GetVarFileType(conv);
assert(type < lengthof(conv_file_size));
return conv_file_size[type];
}
/** Return the size in bytes of a reference (pointer) */