Fixed bug due to the fact that byte_vector_ref returns a signed char.
This commit is contained in:
parent
82f8195911
commit
5cca147350
|
@ -28,7 +28,7 @@
|
||||||
|
|
||||||
#define SET_LONG(x,n,v) GET_LONG((x),(n))=(u_long)(v);
|
#define SET_LONG(x,n,v) GET_LONG((x),(n))=(u_long)(v);
|
||||||
|
|
||||||
s48_value long2byte_vector (long number)
|
s48_value long2byte_vector (u_long number)
|
||||||
{
|
{
|
||||||
s48_value bv = s48_make_byte_vector (4, 0);
|
s48_value bv = s48_make_byte_vector (4, 0);
|
||||||
S48_BYTE_VECTOR_SET(bv, 0, number & 0xff);
|
S48_BYTE_VECTOR_SET(bv, 0, number & 0xff);
|
||||||
|
@ -38,12 +38,12 @@ s48_value long2byte_vector (long number)
|
||||||
return bv;
|
return bv;
|
||||||
}
|
}
|
||||||
|
|
||||||
long byte_vector2long (s48_value bv)
|
u_long byte_vector2long (s48_value bv)
|
||||||
{
|
{
|
||||||
long number = S48_BYTE_VECTOR_REF (bv, 0);
|
u_long number = (u_char) S48_BYTE_VECTOR_REF (bv, 0);
|
||||||
number |= (S48_BYTE_VECTOR_REF (bv, 1) << 8);
|
number |= (((u_char) S48_BYTE_VECTOR_REF (bv, 1)) << 8);
|
||||||
number |= (S48_BYTE_VECTOR_REF (bv, 2) << 16);
|
number |= (((u_char) S48_BYTE_VECTOR_REF (bv, 2)) << 16);
|
||||||
number |= (S48_BYTE_VECTOR_REF (bv, 3) << 24);
|
number |= (((u_char) S48_BYTE_VECTOR_REF (bv, 3)) << 24);
|
||||||
return number;
|
return number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue