joyent/libuv — pull request #1402 by Hinidu (2014-08-07 07:13:32+00:00)
Title: Use OpenBSD implementation for uv_fs_mkdtemp on Windows

As [stated](https://github.com/joyent/libuv/pull/1368/files#r15906993) by @sam-github libuv can't use glibc's modified code because glibc licensed under LGPL, but libuv under MIT. I apologize again, it was my fault because of ignorance.
So in this PR I ported [OpenBSD version](http://openbsd.cs.toronto.edu/cgi-bin/cvsweb/src/lib/libc/stdio/mktemp.c?rev=1.33&content-type=text/x-cvsweb-markup).
Main differences with original:
- `tries = TMP_MAX` instead of `tries = INT_MAX`. Though I'm not sure what is the best value.
- Used `rand` instead of `arc4random`. Though I found [portable arc4random.c](https://github.com/libevent/libevent/blob/master/arc4random.c) licensed under 3-clause BSD license. So it is possible to use it if appropriate.