+ u_int hasnohigh = 0;
+
+ if (BN_is_zero(value)) {
+ buffer_put_int(buffer, 0);
+ return;
+ }
+ if (value->neg)
+ fatal("buffer_put_bignum2: negative numbers not supported");
+ bytes = BN_num_bytes(value) + 1; /* extra padding byte */
+ if (bytes < 2)
+ fatal("buffer_put_bignum2: BN too small");
+ buf = xmalloc(bytes);