Use standardised signed version of word type from base.h

This commit is contained in:
2023-10-31 21:24:26 +00:00
parent 095e62b86f
commit 7817b5acc9
2 changed files with 3 additions and 5 deletions

View File

@@ -79,9 +79,7 @@ perr_t parse_word(token_t token, word *ret)
if (is_negative)
{
char *end = NULL;
// TODO: Make a standardised type of the same size as word in
// base.h
int64_t i = strtoll(token.str, &end, 0);
s_word i = strtoll(token.str, &end, 0);
if (!(end && end[0] == '\0'))
return PERR_NOT_A_NUMBER;
else if (errno == ERANGE)

View File

@@ -197,7 +197,7 @@ err_t vm_execute(vm_t *vm)
printf("0x%x", datum.as_byte);
break;
case TYPE_INT: {
int32_t i = 0;
s_hword i = 0;
memcpy(&i, &datum.as_hword, HWORD_SIZE);
printf("%" PRId32, i);
break;
@@ -206,7 +206,7 @@ err_t vm_execute(vm_t *vm)
printf("%" PRIu32, datum.as_hword);
break;
case TYPE_LONG: {
int64_t i = 0;
s_word i = 0;
memcpy(&i, &datum.as_word, WORD_SIZE);
printf("%" PRId64, i);
break;