fixed minor flaws in the code
This commit is contained in:
parent
307bdee5cc
commit
e46d7fa286
@ -315,7 +315,7 @@ int hcl_inttoooi (hcl_t* hcl, hcl_oop_t x, hcl_ooi_t* i)
|
|||||||
int n;
|
int n;
|
||||||
|
|
||||||
n = hcl_inttooow(hcl, x, &w);
|
n = hcl_inttooow(hcl, x, &w);
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
{
|
{
|
||||||
HCL_ASSERT (hcl, HCL_TYPE_MAX(hcl_ooi_t) + HCL_TYPE_MIN(hcl_ooi_t) == -1); /* assume 2's complement */
|
HCL_ASSERT (hcl, HCL_TYPE_MAX(hcl_ooi_t) + HCL_TYPE_MIN(hcl_ooi_t) == -1); /* assume 2's complement */
|
||||||
if (w > (hcl_oow_t)HCL_TYPE_MAX(hcl_ooi_t) + 1)
|
if (w > (hcl_oow_t)HCL_TYPE_MAX(hcl_ooi_t) + 1)
|
||||||
@ -377,7 +377,7 @@ static HCL_INLINE int bigint_to_uintmax (hcl_t* hcl, hcl_oop_t num, hcl_uintmax_
|
|||||||
|
|
||||||
case 4:
|
case 4:
|
||||||
*w = ((hcl_uintmax_t)HCL_OBJ_GET_HALFWORD_VAL(num, 0) << HCL_LIW_BITS * 3) |
|
*w = ((hcl_uintmax_t)HCL_OBJ_GET_HALFWORD_VAL(num, 0) << HCL_LIW_BITS * 3) |
|
||||||
((hcl_uintmax_t)HCL_OBJ_GET_HALFWORD_VAL(num, 1) << HCL_LIW_BITS * 2) |
|
((hcl_uintmax_t)HCL_OBJ_GET_HALFWORD_VAL(num, 1) << HCL_LIW_BITS * 2) |
|
||||||
((hcl_uintmax_t)HCL_OBJ_GET_HALFWORD_VAL(num, 2) << HCL_LIW_BITS * 1) |
|
((hcl_uintmax_t)HCL_OBJ_GET_HALFWORD_VAL(num, 2) << HCL_LIW_BITS * 1) |
|
||||||
HCL_OBJ_GET_HALFWORD_VAL(num, 3);
|
HCL_OBJ_GET_HALFWORD_VAL(num, 3);
|
||||||
goto done;
|
goto done;
|
||||||
@ -640,6 +640,9 @@ hcl_oop_t hcl_ooitoint (hcl_t* hcl, hcl_ooi_t i)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if (HCL_SIZEOF_UINTMAX_T == HCL_SIZEOF_OOW_T)
|
||||||
|
/* do nothing. required macros are defined in hcl.h */
|
||||||
|
#else
|
||||||
hcl_oop_t hcl_intmaxtoint (hcl_t* hcl, hcl_intmax_t i)
|
hcl_oop_t hcl_intmaxtoint (hcl_t* hcl, hcl_intmax_t i)
|
||||||
{
|
{
|
||||||
if (HCL_IN_SMOOI_RANGE(i))
|
if (HCL_IN_SMOOI_RANGE(i))
|
||||||
@ -663,6 +666,7 @@ hcl_oop_t hcl_uintmaxtoint (hcl_t* hcl, hcl_uintmax_t i)
|
|||||||
return make_bigint_with_uintmax(hcl, i);
|
return make_bigint_with_uintmax(hcl, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static HCL_INLINE hcl_oop_t expand_bigint (hcl_t* hcl, hcl_oop_t oop, hcl_oow_t inc)
|
static HCL_INLINE hcl_oop_t expand_bigint (hcl_t* hcl, hcl_oop_t oop, hcl_oow_t inc)
|
||||||
{
|
{
|
||||||
|
@ -1084,7 +1084,7 @@ static void free_heap (hcl_t* hcl, void* ptr)
|
|||||||
actual_ptr = (hcl_oow_t*)ptr - 1;
|
actual_ptr = (hcl_oow_t*)ptr - 1;
|
||||||
munmap (actual_ptr, *actual_ptr);
|
munmap (actual_ptr, *actual_ptr);
|
||||||
#else
|
#else
|
||||||
return HCL_MMGR_FREE(hcl->_mmgr, ptr);
|
HCL_MMGR_FREE(hcl->_mmgr, ptr);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user