Fix index for negative GVARs
This commit is contained in:
@@ -40,7 +40,7 @@ bool in_write_weight(const YamlNode* node, uint32_t val, yaml_writer_func wf,
|
||||
int32_t gvar = (node->size > 8 ? GV1_LARGE : GV1_SMALL);
|
||||
|
||||
if (sval >= gvar - 10 && sval <= gvar) {
|
||||
char n = gvar - sval + '0';
|
||||
char n = gvar - sval + '1';
|
||||
return wf(opaque, "-GV", 3) && wf(opaque, &n, 1);
|
||||
} else if (sval <= -gvar + 10 && sval >= -gvar) {
|
||||
char n = val - gvar + '1';
|
||||
|
||||
@@ -155,7 +155,7 @@ static uint32_t in_read_weight(const YamlNode* node, const char* val, uint8_t va
|
||||
&& (val[3] <= '9')) {
|
||||
|
||||
TRACE("%.*s -> %i\n", val_len, val, gvar - (val[3] - '0'));
|
||||
return gvar - (val[3] - '0'); // -GVx => 128 - x
|
||||
return gvar - (val[3] - '1'); // -GVx => 128 - x
|
||||
}
|
||||
|
||||
if ((val_len == 3)
|
||||
|
||||
Reference in New Issue
Block a user