summaryrefslogtreecommitdiff
path: root/coreutils
diff options
context:
space:
mode:
authorDenis Vlasenko2007-02-11 16:19:28 +0000
committerDenis Vlasenko2007-02-11 16:19:28 +0000
commit6ca0444420223c224162674902d4f6e4e093962d (patch)
treec13da1537be3327e041fac86d9fdce68de70298a /coreutils
parent136f42f503cb3e9588e62332d043e92b7475ec4e (diff)
downloadbusybox-6ca0444420223c224162674902d4f6e4e093962d.zip
busybox-6ca0444420223c224162674902d4f6e4e093962d.tar.gz
syslogd: fix "readpath bug" by using readlink instead
libbb: rename xgetcwd and xreadlink
Diffstat (limited to 'coreutils')
-rw-r--r--coreutils/ls.c2
-rw-r--r--coreutils/pwd.c3
-rw-r--r--coreutils/stat.c4
3 files changed, 5 insertions, 4 deletions
diff --git a/coreutils/ls.c b/coreutils/ls.c
index 798bc82..34fae50 100644
--- a/coreutils/ls.c
+++ b/coreutils/ls.c
@@ -664,7 +664,7 @@ static int list_single(struct dnode *dn)
break;
case LIST_SYMLINK:
if (S_ISLNK(dn->dstat.st_mode)) {
- char *lpath = xreadlink(dn->fullname);
+ char *lpath = xmalloc_readlink_or_warn(dn->fullname);
if (!lpath) break;
printf(" -> ");
#if ENABLE_FEATURE_LS_FILETYPES || ENABLE_FEATURE_LS_COLOR
diff --git a/coreutils/pwd.c b/coreutils/pwd.c
index b4599b4..d96f6a8 100644
--- a/coreutils/pwd.c
+++ b/coreutils/pwd.c
@@ -16,7 +16,8 @@ int pwd_main(int argc, char **argv)
{
char *buf;
- if ((buf = xgetcwd(NULL)) != NULL) {
+ buf = xrealloc_getcwd_or_warn(NULL);
+ if (buf != NULL) {
puts(buf);
fflush_stdout_and_exit(EXIT_SUCCESS);
}
diff --git a/coreutils/stat.c b/coreutils/stat.c
index ff14a15..20ade94 100644
--- a/coreutils/stat.c
+++ b/coreutils/stat.c
@@ -188,7 +188,7 @@ static void print_stat(char *pformat, size_t buf_len, char m,
case 'N':
strncat(pformat, "s", buf_len);
if (S_ISLNK(statbuf->st_mode)) {
- char *linkname = xreadlink(filename);
+ char *linkname = xmalloc_readlink_or_warn(filename);
if (linkname == NULL) {
bb_perror_msg("cannot read symbolic link '%s'", filename);
return;
@@ -477,7 +477,7 @@ static int do_stat(char const *filename, char const *format)
pw_ent = getpwuid(statbuf.st_uid);
if (S_ISLNK(statbuf.st_mode))
- linkname = xreadlink(filename);
+ linkname = xmalloc_readlink_or_warn(filename);
if (linkname)
printf(" File: \"%s\" -> \"%s\"\n", filename, linkname);
else