Fix bug reading hex values
This commit is contained in:
parent
42396701e0
commit
e320dc59f4
6
main.c
6
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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue