diff options
author | Peter S. Mazinger <ps.m@gmx.net> | 2011-03-18 18:38:14 +0100 |
---|---|---|
committer | Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 2012-06-15 14:00:27 +0200 |
commit | f17de52212da8f551f41b7cb132e86f686de2c40 (patch) | |
tree | 2f9d59f0a065bad82730558f55873482eca4ebee | |
parent | 0aa00ea102edfe12978e3f1c8eb28e63ea9171b6 (diff) |
stdlib.h, arc4random.c: fix arc4random return type to u_int32_t
Change uint32_t to u_int32_t and uint8_t to u_int8_t, removing
completely the dependency on stdint.h.
Based on patch by Timo Teraes <timo.teras@iki.fi>. His comment:
This also fixes a major bug that stdlib.h includes stdint.h. Things
might go very wrong because stdint.h has conditional defines and
if stdlib.h is included before #define's for stdint.h we end up
missing things and breaking builds (e.g. openjdk).
Signed-off-by: Timo Teraes <timo.teras@iki.fi>
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r-- | include/stdlib.h | 4 | ||||
-rw-r--r-- | libc/stdlib/arc4random.c | 18 |
2 files changed, 11 insertions, 11 deletions
diff --git a/include/stdlib.h b/include/stdlib.h index fdefe4aa4..f0a21697f 100644 --- a/include/stdlib.h +++ b/include/stdlib.h @@ -910,8 +910,8 @@ extern int getloadavg (double __loadavg[], int __nelem) #endif #ifdef __UCLIBC_HAS_ARC4RANDOM__ -#include <stdint.h> -extern uint32_t arc4random(void); +# include <sys/types.h> +extern u_int32_t arc4random(void); extern void arc4random_stir(void); extern void arc4random_addrandom(unsigned char *, int); #endif diff --git a/libc/stdlib/arc4random.c b/libc/stdlib/arc4random.c index 7a8359ab0..55ea7e218 100644 --- a/libc/stdlib/arc4random.c +++ b/libc/stdlib/arc4random.c @@ -39,9 +39,9 @@ struct arc4_stream { - uint8_t i; - uint8_t j; - uint8_t s[256]; + u_int8_t i; + u_int8_t j; + u_int8_t s[256]; }; static smallint rs_initialized; @@ -58,10 +58,10 @@ arc4_init(struct arc4_stream *as) as->j = 0; } -static __inline__ uint8_t +static __inline__ u_int8_t arc4_getbyte(struct arc4_stream *as) { - uint8_t si, sj; + u_int8_t si, sj; as->i = (as->i + 1); si = as->s[as->i]; @@ -76,7 +76,7 @@ static __inline__ void arc4_addrandom(struct arc4_stream *as, u_char *dat, int datlen) { int n; - uint8_t si; + u_int8_t si; as->i--; for (n = 0; n < 256; n++) { @@ -139,10 +139,10 @@ arc4_stir(struct arc4_stream *as) arc4_getbyte(as); } -static __inline__ uint32_t +static __inline__ u_int32_t arc4_getword(struct arc4_stream *as) { - uint32_t val; + u_int32_t val; val = arc4_getbyte(as) << 24; val |= arc4_getbyte(as) << 16; val |= arc4_getbyte(as) << 8; @@ -169,7 +169,7 @@ arc4random_addrandom(u_char *dat, int datlen) arc4_addrandom(&rs, dat, datlen); } -uint32_t +u_int32_t arc4random(void) { if (!rs_initialized) |