diff options
| -rw-r--r-- | source3/lib/util_uuid.c | 54 | 
1 files changed, 9 insertions, 45 deletions
diff --git a/source3/lib/util_uuid.c b/source3/lib/util_uuid.c index b70db8de5b..63e2504982 100644 --- a/source3/lib/util_uuid.c +++ b/source3/lib/util_uuid.c @@ -38,60 +38,24 @@ struct uuid {  static void uuid_pack(const struct uuid *uu, GUID *ptr)  { -	uint32 tmp;  	uint8 *out = ptr->info; -	tmp = uu->time_low; -	out[3] = (uint8) tmp; -	tmp >>= 8; -	out[2] = (uint8) tmp; -	tmp >>= 8; -	out[1] = (uint8) tmp; -	tmp >>= 8; -	out[0] = (uint8) tmp; -	 -	tmp = uu->time_mid; -	out[5] = (uint8) tmp; -	tmp >>= 8; -	out[4] = (uint8) tmp; - -	tmp = uu->time_hi_and_version; -	out[7] = (uint8) tmp; -	tmp >>= 8; -	out[6] = (uint8) tmp; - -	tmp = uu->clock_seq; -	out[9] = (uint8) tmp; -	tmp >>= 8; -	out[8] = (uint8) tmp; - +	SIVAL(out, 0, uu->time_low); +	SSVAL(out, 4, uu->time_mid); +	SSVAL(out, 6, uu->time_hi_and_version); +	SSVAL(out, 8, uu->clock_seq);  	memcpy(out+10, uu->node, 6);  }  static void uuid_unpack(const GUID in, struct uuid *uu)  {  	const uint8 *ptr = in.info; -	uint32 tmp; - -	tmp = *ptr++; -	tmp = (tmp << 8) | *ptr++; -	tmp = (tmp << 8) | *ptr++; -	tmp = (tmp << 8) | *ptr++; -	uu->time_low = tmp; - -	tmp = *ptr++; -	tmp = (tmp << 8) | *ptr++; -	uu->time_mid = tmp; -	 -	tmp = *ptr++; -	tmp = (tmp << 8) | *ptr++; -	uu->time_hi_and_version = tmp; - -	tmp = *ptr++; -	tmp = (tmp << 8) | *ptr++; -	uu->clock_seq = tmp; -	memcpy(uu->node, ptr, 6); +	uu->time_low = IVAL(ptr, 0); +	uu->time_mid = SVAL(ptr, 4); +	uu->time_hi_and_version = SVAL(ptr, 6); +	uu->clock_seq = SVAL(ptr, 8); +	memcpy(uu->node, ptr+10, 6);  }  void uuid_generate_random(GUID *out)  | 
