diff options
Diffstat (limited to 'libc/stdlib')
| -rw-r--r-- | libc/stdlib/arc4random.c | 34 | 
1 files changed, 14 insertions, 20 deletions
diff --git a/libc/stdlib/arc4random.c b/libc/stdlib/arc4random.c index c7aed66b6..e074a22b9 100644 --- a/libc/stdlib/arc4random.c +++ b/libc/stdlib/arc4random.c @@ -47,12 +47,6 @@ struct arc4_stream {  static int    rs_initialized;  static struct arc4_stream rs; -static __inline__ void arc4_init(struct arc4_stream *); -static __inline__ void arc4_addrandom(struct arc4_stream *, u_char *, int); -static void arc4_stir(struct arc4_stream *); -static __inline__ uint8_t arc4_getbyte(struct arc4_stream *); -static __inline__ uint32_t arc4_getword(struct arc4_stream *); -  static __inline__ void  arc4_init(struct arc4_stream *as)  { @@ -64,6 +58,20 @@ arc4_init(struct arc4_stream *as)  	as->j = 0;  } +static __inline__ uint8_t +arc4_getbyte(struct arc4_stream *as) +{ +	uint8_t si, sj; + +	as->i = (as->i + 1); +	si = as->s[as->i]; +	as->j = (as->j + si); +	sj = as->s[as->j]; +	as->s[as->i] = sj; +	as->s[as->j] = si; +	return (as->s[(si + sj) & 0xff]); +} +  static __inline__ void  arc4_addrandom(struct arc4_stream *as, u_char *dat, int datlen)  { @@ -131,20 +139,6 @@ arc4_stir(struct arc4_stream *as)  		arc4_getbyte(as);  } -static __inline__ uint8_t -arc4_getbyte(struct arc4_stream *as) -{ -	uint8_t si, sj; - -	as->i = (as->i + 1); -	si = as->s[as->i]; -	as->j = (as->j + si); -	sj = as->s[as->j]; -	as->s[as->i] = sj; -	as->s[as->j] = si; -	return (as->s[(si + sj) & 0xff]); -} -  static __inline__ uint32_t  arc4_getword(struct arc4_stream *as)  {  | 
