| Commit message (Expand) | Author | Age | Files | Lines |
| * | remove spurious inclusion of libc.h for LFS64 ABI aliases•••the LFS64 macro was not self-documenting and barely saved any
characters. simply use weak_alias directly so that it's clear what's
being done, and doesn't depend on a header to provide a strange macro.
| Rich Felker | 2018-09-12 | 1 | -2/+1 |
| * | overhaul internally-public declarations using wrapper headers•••commits leading up to this one have moved the vast majority of
libc-internal interface declarations to appropriate internal headers,
allowing them to be type-checked and setting the stage to limit their
visibility. the ones that have not yet been moved are mostly
namespace-protected aliases for standard/public interfaces, which
exist to facilitate implementing plain C functions in terms of POSIX
functionality, or C or POSIX functionality in terms of extensions that
are not standardized. some don't quite fit this description, but are
"internally public" interfacs between subsystems of libc.
rather than create a number of newly-named headers to declare these
functions, and having to add explicit include directives for them to
every source file where they're needed, I have introduced a method of
wrapping the corresponding public headers.
parallel to the public headers in $(srcdir)/include, we now have
wrappers in $(srcdir)/src/include that come earlier in the include
path order. they include the public header they're wrapping, then add
declarations for namespace-protected versions of the same interfaces
and any "internally public" interfaces for the subsystem they
correspond to.
along these lines, the wrapper for features.h is now responsible for
the definition of the hidden, weak, and weak_alias macros. this means
source files will no longer need to include any special headers to
access these features.
over time, it is my expectation that the scope of what is "internally
public" will expand, reducing the number of source files which need to
include *_impl.h and related headers down to those which are actually
implementing the corresponding subsystems, not just using them.
| Rich Felker | 2018-09-12 | 1 | -2/+0 |
| * | add mkostemp, mkstemps, and mkostemps functions and reorganize temp internals•••based on patch contributed by Anthony G. Basile (blueness)
some issues remain with the filename generation algorithm and other
small bugs, but this patch has been sitting around long enough that I
feel it's best to get it committed and then work out any remaining
issues.
| Rich Felker | 2013-02-20 | 1 | -19/+2 |
| * | make mktemp match the historic behavior, and update functions that use it•••the historic mktemp is supposed to blank the template string on
failure, rather than returning 0. just zero the first character so
that mkstemp and mkdtemp can still retry with O(1) space requirement.
| Rich Felker | 2011-02-19 | 1 | -2/+3 |
| * | fix major bug created from copying mkdtemp logic | Rich Felker | 2011-02-19 | 1 | -1/+1 |
| * | major improvements to temp file name generator•••use current time in nanoseconds and some potentially-random (if aslr
is enabled) pointer values for the initial tempfile name generation,
and step via a cheap linear prng on collisions. limit the number of
retry attempts to prevent denial of service attacks even if an
attacker can guess the filenames.
| Rich Felker | 2011-02-18 | 1 | -2/+3 |
| * | reformat mkstemp like mkdtemp•••this is cleaner and makes it easy to impose a limit on the number of
retries later if it seems desirable to do so.
| Rich Felker | 2011-02-18 | 1 | -7/+5 |
| * | ensure standard functions mk[sd]temp don't depend on removed function mktemp | Rich Felker | 2011-02-14 | 1 | -2/+3 |
| * | begin namespace-cleanup of standard C headers | Rich Felker | 2011-02-14 | 1 | -0/+1 |
| * | initial check-in, version 0.5.0 | Rich Felker | 2011-02-12 | 1 | -0/+26 |