Commit f6536dac authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Use scalbn(3) rather than exp2(3), it should be faster and more portable.

Fixes	#1046
parent 76ca3a10
...@@ -91,7 +91,7 @@ vdi_random_sha(const char *input, ssize_t len) ...@@ -91,7 +91,7 @@ vdi_random_sha(const char *input, ssize_t len)
SHA256_Init(&ctx); SHA256_Init(&ctx);
SHA256_Update(&ctx, input, len); SHA256_Update(&ctx, input, len);
SHA256_Final(sign, &ctx); SHA256_Final(sign, &ctx);
return (vle32dec(sign) / exp2(32)); return (scalbn(vle32dec(sign), -32));
} }
/* /*
...@@ -113,11 +113,11 @@ vdi_random_init_seed(const struct vdi_random *vs, const struct sess *sp) ...@@ -113,11 +113,11 @@ vdi_random_init_seed(const struct vdi_random *vs, const struct sess *sp)
break; break;
case c_hash: case c_hash:
AN(sp->digest); AN(sp->digest);
retval = vle32dec(sp->digest) / exp2(32); retval = scalbn(vle32dec(sp->digest), -32);
break; break;
case c_random: case c_random:
default: default:
retval = random() / exp2(31); retval = scalbn(random(), -31);
break; break;
} }
return (retval); return (retval);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment