#
594c827a |
|
24-May-2014 |
Rich Felker <dalias@aerifal.cx> |
support kernels with no SYS_open syscall, only SYS_openat open is handled specially because it is used from so many places, in so many variants (2 or 3 arguments, setting errno or not, and cancellable or not). trying to do it as a function would not only increase bloat, but would also risk subtle breakage. this is the first step towards supporting "new" archs where linux lacks "old" syscalls.
|
#
35e8621a |
|
31-Aug-2013 |
Rich Felker <dalias@aerifal.cx> |
remove incorrect cancellation points from realpath
|
#
dfddd432 |
|
31-Aug-2013 |
Rich Felker <dalias@aerifal.cx> |
debloat realpath's allocation strategy rather than allocating a PATH_MAX-sized buffer when the caller does not provide an output buffer, work first with a PATH_MAX-sized temp buffer with automatic storage, and either copy it to the caller's buffer or strdup it on success. this not only avoids massive memory waste, but also avoids pulling in free (and thus the full malloc implementation) unnecessarily in static programs.
|
#
27b4923b |
|
31-Aug-2013 |
Rich Felker <dalias@aerifal.cx> |
make realpath use O_PATH when opening the file this avoids failure if the file is not readable and avoids odd behavior for device nodes, etc. on old kernels that lack O_PATH, the old behavior (O_RDONLY) will naturally happen as the fallback.
|
#
c8c0844f |
|
01-Aug-2013 |
Rich Felker <dalias@aerifal.cx> |
debloat code that depends on /proc/self/fd/%d with shared function I intend to add more Linux workarounds that depend on using these pathnames, and some of them will be in "syscall" functions that, from an anti-bloat standpoint, should not depend on the whole snprintf framework.
|
#
f2d08cf7 |
|
29-Sep-2012 |
Rich Felker <dalias@aerifal.cx> |
fix some more O_CLOEXEC/SOCK_CLOEXEC issues
|
#
400c5e5c |
|
06-Sep-2012 |
Rich Felker <dalias@aerifal.cx> |
use restrict everywhere it's required by c99 and/or posix 2008 to deal with the fact that the public headers may be used with pre-c99 compilers, __restrict is used in place of restrict, and defined appropriately for any supported compiler. we also avoid the form [restrict] since older versions of gcc rejected it due to a bug in the original c99 standard, and instead use the form *restrict.
|
#
d43ff110 |
|
18-Jun-2011 |
Rich Felker <dalias@aerifal.cx> |
fix memory leak on failure in realpath
|
#
e98bdca9 |
|
17-Apr-2011 |
Rich Felker <dalias@aerifal.cx> |
minimal realpath implementation using /proc clean and simple, but fails when the caller does not have permissions to open the file for reading or when /proc is not available. i may replace this with a full implementation later, possibly leaving this version as an optimization to use when it works.
|
#
0b44a031 |
|
11-Feb-2011 |
Rich Felker <dalias@aerifal.cx> |
initial check-in, version 0.5.0
|