X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Ftempname.c;h=5ead95ea3cc087634ab5b6907e1372de02ee61a6;hb=e6d6498c6caf7642510024fefbf64e9d477b19cf;hp=d008c982fd8f1899d54bed08605f862e8fd163bd;hpb=0fdb952b01eff6a77e6726b854a2d02854026f0a;p=gnulib.git diff --git a/lib/tempname.c b/lib/tempname.c index d008c982f..5ead95ea3 100644 --- a/lib/tempname.c +++ b/lib/tempname.c @@ -107,6 +107,15 @@ # define __secure_getenv getenv #endif +/* Use the widest available unsigned type if uint64_t is not + available. The algorithm below extracts a number less than 62**6 + (approximately 2**35.725) from uint64_t, so ancient hosts where + uintmax_t is only 32 bits lose about 3.725 bits of randomness, + which is better than not having mkstemp at all. */ +#if !defined UINT64_MAX && !defined uint64_t +# define uint64_t uintmax_t +#endif + /* Return nonzero if DIR is an existent directory. */ static int direxists (const char *dir)