• Show log

    Commit

  • Hash : 78f55d53
    Author : Paul Eggert
    Date : 2020-05-31T20:15:25

    tempname: merge from glibc and coreutils
    
    Also, merge in Gnulib’s more-recent methods of making it easier
    to share between Gnulib and glibc, and fix a few randomness
    glitches.
    * lib/tempname.c: Include libc-config.h, not config.h, if !_LIBC.
    (__set_errno): Remove; libc-config.h does that for us.
    Do not include <sys/time.h>.
    (__secure_getenv) [_LIBC]: New macro.
    (__try_tempname, __getpid, __gettimeofday) [!_LIBC]: Remove macros.
    (RANDOM_BITS): Rewrite.
    (RANDOM_VALUE_MAX, BASE_62_DIGITS, BASE_62_POWER): New macros.
    (random_value): New typedef.
    (try_file, try_dir, try_nocreate): Move up.
    (gen_tempname_len, try_tempname_len): New functions.
    (gen_tempname_len): Use a constant array rather than a switch.
    (try_tempname_len): Don’t assume string length fits in int.
    Generalize use of RANDOM_BITS.  If _LIBC, don’t assume RANDOM_BITS
    has enough entropy (it’s a bit short).
    (__gen_tempname): Rewrite in terms of gen_tempname_len.
    (__try_tempname): Rewrite in terms of try_tempname_len.
    * lib/tempname.h (gen_tempname_len, try_tempname_len): New decls.
    * modules/tempname (Depends-on): Remove gettimeofday, sys_time.
    Add getentropy, libc-config.
    

  • README

  • The files in this directory are used in many GNU packages,
    including coreutils, diffutils, and tar.
    The autoconf tests required for these files are in ../m4.