1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-27 11:55:06 +00:00
freebsd/include
Andrey A. Chernov 476d9314d6 1) POSIX requires rand(3) return values to be in the [0, RAND_MAX] range,
but ACM formula we use have internal state (and return value) in the
[1, 0x7ffffffe] range, so our RAND_MAX (0x7fffffff) is never reached
because it is off by one, zero is not reached too.

Correct both RAND_MAX and rand(3) return value, shifting last one
to the 0 by 1 subtracted, resulting POSIXed [0, 0x7ffffffd(=new RAND_MAX)]
range.

2) Add a checks for not overflowing on too big seeds. It may happens on
the machines, where sizeof(unsigned int) > 32 bits.

Reviewed by:    bde [1]
MFC after:      2 weeks
2013-07-03 21:21:54 +00:00
..
arpa Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
gssapi Fix gssapi/gssapi_krb5.h after Heimdal 1.5.1 import. 2013-06-30 07:46:22 +00:00
protocols Add proper prerequisites for even two more headers. 2013-05-21 21:50:11 +00:00
rpc rpc: convert all uid and gid variables to u_int. 2012-10-04 04:15:18 +00:00
rpcsvc - Correct mispellings of the word necessary 2013-04-17 11:42:40 +00:00
xlocale Add <uchar.h>. 2013-05-21 19:59:37 +00:00
_ctype.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
a.out.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
ar.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
assert.h Don't define static_assert for C++. 2011-12-29 14:41:17 +00:00
bitstring.h
complex.h I'm happy to finally commit stephen@'s implementations of cacos, 2013-05-30 04:49:26 +00:00
cpio.h
ctype.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
db.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
dirent.h Hide DIR definition by making it an opaque struct typedef. 2012-05-19 12:44:27 +00:00
dlfcn.h Implement fdlopen(3), an rtld interface to load shared object by file 2012-01-07 10:33:01 +00:00
elf-hints.h
elf.h
err.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fmtmsg.h Fix a small typo. Fireware -> firmware. 2012-06-05 19:42:57 +00:00
fnmatch.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fstab.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
fts.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
ftw.h
getopt.h
glob.h - Add restrict keyword to glob(3) 2011-12-20 22:56:13 +00:00
grp.h Replace our version of the pwcache(3) API with NetBSD's implementation. 2012-10-19 12:44:22 +00:00
gssapi.h
hesiod.h
iconv.h Replace the #define for "iconv" so it is for the function name instead of 2013-07-03 07:03:19 +00:00
ieeefp.h People porting FreeBSD to new architectures ought not have to 2011-10-21 06:41:46 +00:00
ifaddrs.h Allow certain headers to be included more easily. 2013-05-21 21:20:10 +00:00
inttypes.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
iso646.h Avoid accidental conflicts with C++ operator keywords. 2011-09-27 16:33:17 +00:00
kenv.h
langinfo.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
libgen.h
limits.h POSIX.1-2008 moved some constants from the XSI option to the Base. 2011-03-04 19:28:27 +00:00
link.h
locale.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00
Makefile - Trim an unused and bogus Makefile for mount_smbfs. 2013-06-28 21:00:08 +00:00
malloc_np.h Make the malloc(3) family of functions weak and make their non-weak 2013-05-25 18:59:11 +00:00
malloc.h
memory.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
monetary.h Correctly expose xlocale functions if people include the headers in the wrong 2012-03-28 12:11:54 +00:00
mpool.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
mqueue.h POSIX requires sigevent to be visible after mqueue.h is included. 2012-09-10 05:12:45 +00:00
ndbm.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
netconfig.h
netdb.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
nl_types.h
nlist.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
nss.h
nsswitch.h Add capability to use a db version of services. It is enabled by 2010-04-04 08:31:03 +00:00
paths.h - Add vnode-backed swap space specification support. This is enabled when 2013-06-27 18:28:45 +00:00
printf.h The register_printf_render_std() function expects regular string. 2012-07-04 17:35:07 +00:00
proc_service.h
pthread_np.h Introduce a non-portable function pthread_getthreadid_np(3) to retrieve 2011-02-07 21:26:46 +00:00
pthread.h Remove leftover for r214093. 2011-01-06 03:30:16 +00:00
pwd.h Replace our version of the pwcache(3) API with NetBSD's implementation. 2012-10-19 12:44:22 +00:00
ranlib.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
readpassphrase.h Sync with OpenBSD, primarily better signal and terminal handling. 2010-11-13 10:38:06 +00:00
regex.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
res_update.h
resolv.h Spelling fixes for include/ 2012-01-07 16:10:15 +00:00
runetype.h After r232498, programs built with -ansi or -std=c89 including <ctype.h> 2012-03-06 20:15:23 +00:00
search.h
semaphore.h
setjmp.h Add a convenience macro for the returns_twice attribute, and apply it to 2012-04-29 11:04:31 +00:00
signal.h Replace __const by const in all non-contributed source code. 2011-12-13 13:32:56 +00:00
spawn.h
stab.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
stdalign.h Add <stdalign.h> and <stdnoreturn.h>. 2011-12-25 20:51:40 +00:00
stdbool.h Remove unneeded guard. 2011-12-25 20:15:41 +00:00
stddef.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
stdio.h Add an implementation of open_memstream() and open_wmemstream(). These 2013-02-27 19:50:46 +00:00
stdlib.h 1) POSIX requires rand(3) return values to be in the [0, RAND_MAX] range, 2013-07-03 21:21:54 +00:00
stdnoreturn.h Simply disallow <stdnoreturn.h> to be used in combination with C++. 2012-01-03 23:05:23 +00:00
string.h FreeBSD uses #if __BSD_VISIBLE to hide non-standard functions, fix this. 2013-02-14 19:26:58 +00:00
stringlist.h - sl_find does not modify 'name' 2013-04-23 13:03:03 +00:00
strings.h
sysexits.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
tar.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
termios.h Add a new libc function: cfmakesane(3). 2010-11-02 17:00:56 +00:00
tgmath.h Enable improved <tgmath.h> for Clang even when not using C11. 2013-04-27 21:18:34 +00:00
time.h Add CLOCK_PROCESS_CPUTIME_ID to <time.h>, to synchronize the CLOCK_* 2013-01-14 18:01:19 +00:00
timeconv.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
timers.h
ttyent.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
uchar.h Fix <uchar.h> in for C++11. 2013-05-25 16:58:12 +00:00
ulimit.h
unistd.h Add pipe2() system call. 2013-05-01 22:42:42 +00:00
unwind.h Also the stop function should accept 64-bit exception class. 2010-09-30 03:16:35 +00:00
utime.h Remove the Berkeley clause 3's. 2010-02-16 19:39:50 +00:00
utmpx.h
uuid.h
varargs.h
wchar.h Add an implementation of open_memstream() and open_wmemstream(). These 2013-02-27 19:50:46 +00:00
wctype.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00
wordexp.h
xlocale.h Reapply 227753 (xlocale cleanup), plus some fixes so that it passes build 2012-03-04 15:31:13 +00:00