diff --git a/scsh/network1.c b/scsh/network1.c index c55930b..02cf7ac 100644 --- a/scsh/network1.c +++ b/scsh/network1.c @@ -28,7 +28,7 @@ #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_BYTE_VECTOR_SET(bv, 0, number & 0xff); @@ -38,12 +38,12 @@ s48_value long2byte_vector (long number) return bv; } -long byte_vector2long (s48_value bv) +u_long byte_vector2long (s48_value bv) { - long number = S48_BYTE_VECTOR_REF (bv, 0); - number |= (S48_BYTE_VECTOR_REF (bv, 1) << 8); - number |= (S48_BYTE_VECTOR_REF (bv, 2) << 16); - number |= (S48_BYTE_VECTOR_REF (bv, 3) << 24); + u_long number = (u_char) S48_BYTE_VECTOR_REF (bv, 0); + number |= (((u_char) S48_BYTE_VECTOR_REF (bv, 1)) << 8); + number |= (((u_char) S48_BYTE_VECTOR_REF (bv, 2)) << 16); + number |= (((u_char) S48_BYTE_VECTOR_REF (bv, 3)) << 24); return number; }