summaryrefslogtreecommitdiff
path: root/libbb/xreadlink.c
AgeCommit message (Collapse)Author
2021-10-09libbb: better coreutils compatibility for realpathRon Yorston
Add some tests which coreutils realpath pass but BusyBox realpath fails (bar one). Adjust xmalloc_realpath_coreutils() so the tests pass: - Expand symbolic links before testing whether the last path component exists. - When the link target is a relative path canonicalize it by passing it through xmalloc_realpath_coreutils() as already happens for absolute paths. - Ignore trailing slashes when finding the last path component and correctly handle the case where the only slash is at the start of the path. This requires ignoring superfluous leading slashes. - Undo all changes to the path so error messages from the caller show the original filename. function old new delta xmalloc_realpath_coreutils 214 313 +99 Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-06-25libbb: deal with "declaration of 'link' shadows a global declaration" warningDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-06-13readlink,realpath: fix a case with a symplink, closes 11021Denys Vlasenko
function old new delta xmalloc_realpath_coreutils 125 201 +76 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-05-26whitespace fixDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-05-24realpath,readlink -f: coreutils compat, closes 11021Denys Vlasenko
function old new delta xmalloc_realpath_coreutils - 121 +121 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-05whitespace and comment format fixes, no code changesDenys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-03-16libbb: fix a bad check for uclibc >= 0.9.31Denys Vlasenko
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-12-16do not fail build if MAXSYMLINKS isn't definedMichael Tokarev
This is needed for, eg, hurd, which is known to have no constraints. Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-12readlink: uClibc supports automatic allocation too nowMike Frysinger
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2010-08-16*: make GNU licensing statement forms more regularDenys Vlasenko
This change retains "or later" state! No licensing _changes_ here, only form is adjusted (article, space between "GPL" and "v2" and so on). Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-26Hurd compat fixes. Mostly dealing with absent PATH_MAXJérémie Koenig
Signed-off-by: Jérémie Koenig <jk@jk.fr.eu.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-03-21ls: make readlink error to not disrupt output (try ls -l /proc/self/fd).Denis Vlasenko
libbb: make xmalloc_readlink_or_warn warning more specific. function old new delta xmalloc_readlink_or_warn 33 61 +28 showfiles 1495 1460 -35 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 28/-35) Total: -7 bytes
2008-12-07Fix forgotten license commentsDenis Vlasenko
2008-06-27*: introduce and use FAST_FUNC: regparm on i386, otherwise no-onDenis Vlasenko
text data bss dec hex filename 808035 611 6868 815514 c719a busybox_old 804472 611 6868 811951 c63af busybox_unstripped
2008-06-14dos2unix: do not destroy symlinks and mode of the file being converted.Denis Vlasenko
2007-11-10syslogd: support "symlink to symlink" for /dev/log; reduce stack usageDenis Vlasenko
function old new delta create_socket - 134 +134 syslogd_main 1132 865 -267 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 134/-267) Total: -133 bytes text data bss dec hex filename 775603 974 9420 785997 bfe4d busybox_old 775445 974 9420 785839 bfdaf busybox_unstripped
2007-11-08- commentary fixesBernhard Reutner-Fischer
- use common exit sequence for failure path: text data bss dec hex filename 308 0 0 308 134 libbb/xreadlink.o.pgf 296 0 0 296 128 libbb/xreadlink.o
2007-11-08xmalloc_follow_symlinks() -- fix ELOOP issue with absolute paths,Paul Fox
return full path in cases where path doesn't resolve to a link. change name to better differentiate from xmalloc_readlink().
2007-11-08xreadlink: code shrinkDenis Vlasenko
udhcp: add missing tryagain member to client_config function old new delta xmalloc_readlink_follow 169 154 -15 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-15) Total: -15 bytes
2007-11-08new xmalloc_readlink_follow() routine to fully expand trailing symlinksPaul Fox
to get to a "real" file (or directory).
2007-11-02insmod: code shrink, stop exporting insmod_ng_main.Denis Vlasenko
function old new delta add_ksymoops_symbols - 421 +421 static.section_names 20 40 +20 lsmod_main 425 424 -1 set_tainted 153 150 -3 main_opts 4 - -4 obj_symbol_patch 47 42 -5 obj_string_patch 144 139 -5 already_loaded 144 138 -6 check_dep 348 341 -7 append_option 75 68 -7 obj_allocate_commons 515 501 -14 new_process_module_arguments 1039 1018 -21 arch_new_symbol 31 9 -22 check_module_name_match 85 61 -24 obj_create_alloced_section 164 136 -28 include_conf 930 902 -28 modprobe_main 1643 1535 -108 obj_load 924 777 -147 insmod_ng_main 245 - -245 insmod_main 4122 3794 -328 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 1/16 up/down: 441/-1003) Total: -562 bytes text data bss dec hex filename 776020 974 9420 786414 bffee busybox_old 775384 974 9420 785778 bfd72 busybox_unstripped
2007-09-05busybox --install -s: prevent puzzling "/bin/busybox: Invalid argument" messageDenis Vlasenko
libbb: comment out realpath, add readlink which doesn't warn
2007-02-11syslogd: fix "readpath bug" by using readlink insteadDenis Vlasenko
libbb: rename xgetcwd and xreadlink
2007-01-24accumulated post-1.4.0 fixesDenis Vlasenko
2007-01-04new libbb func: xmalloc_realpath (+ use it where makes sense)Denis Vlasenko
syslogd, logread: add debugging code (disabled) syslogs: drastically smaller bss; fix "-C n" behaviour
2006-07-02Standardize on the vi editing directives being on the first line."Robert P. J. Day"
2006-03-10Patch from Denis Vlasenko turning static const int (which gets emitted intoRob Landley
the busybox binary) into enums (which don't).
2006-03-06Robert P. Day removed 8 gazillion occurrences of "extern" on functionRob Landley
definitions. (That should only be on prototypes.)
2006-01-25just whitespaceTim Riker
2004-08-11Patch from Tito to fix memory leak upon error.Glenn L McGrath
2004-03-15Remove trailing whitespace. Update copyright to include 2004.Eric Andersen
2003-03-19Major coreutils update.Manuel Novoa III
2002-07-19Applied vodz' patches #49 and #50 (with a small correction in runshell.c)Robert Griebl
#49: I found one memory overflow and memory leak in "ln" applet. Last patch reduced also 54 bytes. ;) #50: I found bug in loginutils/Makefile.in. New patch have also new function to libbb and aplied this to applets and other cosmetic changes.
2001-05-07Per some comments from Lars Kellogg-Stedman <lars@larsshack.org>,Eric Andersen
make xreadlink() return NULL on failure, and make sure everyone uses the interface correctly. -Erik
2001-04-30Made new xreadlink function for libbb and changed applets to use it instead ofMark Whitley
readlink(2).