[PATCH] random: range is not portably RAND_MAX [BZ #7003]

Carlos O'Donell carlos@redhat.com
Tue Jun 30 18:20:46 GMT 2020


On 6/26/20 8:29 AM, John Marshall wrote:
> On other platforms, RAND_MAX (which is the range of rand(3))
> may differ from 2^31-1 (which is the range of random(3)).

Agreed. This is the same change for bug 7003, but in the header.

I've pushed your change. Thanks!

Reviewed-by: Carlos O'Donell <carlos@redhat.com>

> ---
> Second ping as per [1] for this trivial comment fix that completes
> the fix for BZ #7003 [2] made in 2013. This version of the patch
> keeps the "between ... inclusive" wording; see the previous version
> if avoiding writing "2^31-1" is preferred.
> 
> I am not FSF copyright assigned, but I believe this change is trivial
> enough not to need it.
> 
> [1] https://sourceware.org/glibc/wiki/Contribution%20checklist
> [2] https://sourceware.org/bugzilla/show_bug.cgi?id=7003
> 
>  stdlib/stdlib.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
> index f971df4247..3aa27a9d25 100644
> --- a/stdlib/stdlib.h
> +++ b/stdlib/stdlib.h
> @@ -397,7 +397,7 @@ extern long int a64l (const char *__s)
>     `initstate' and `setstate' functions are those from BSD Unices.
>     The `rand' and `srand' functions are required by the ANSI standard.
>     We provide both interfaces to the same random number generator.  */
> -/* Return a random long integer between 0 and RAND_MAX inclusive.  */
> +/* Return a random long integer between 0 and 2^31-1 inclusive.  */
>  extern long int random (void) __THROW;
>  
>  /* Seed the random number generator with the given number.  */
> 


-- 
Cheers,
Carlos.



More information about the Libc-alpha mailing list