diff --git a/main.c b/main.c index c6665f0..69a4147 100644 --- a/main.c +++ b/main.c @@ -114,11 +114,11 @@ bool read_hex_byte(char *buf, char *val) { bool read_hex_i32(char *buf, int32_t *val) { char byte; *val = 0; - for (int i = 0; i < 8; i += 2) { - if (!read_hex_byte(buf + i, &byte)) { + for (int i = 0; i < 4; ++i) { + if (!read_hex_byte(buf + (i * 2), &byte)) { return false; } - *val |= ((int32_t) (uint8_t) byte) << i; + *val |= ((int32_t) (uint8_t) byte) << (i * 8); } return true; }