From 8a633268ef478a31bd649d582ce07e9c26a4a03a Mon Sep 17 00:00:00 2001 From: Mark Whitley Date: Mon, 30 Apr 2001 18:17:00 +0000 Subject: Made new xreadlink function for libbb and changed applets to use it instead of readlink(2). --- libbb/copy_file.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) (limited to 'libbb/copy_file.c') diff --git a/libbb/copy_file.c b/libbb/copy_file.c index 2d18b6087..22684be74 100644 --- a/libbb/copy_file.c +++ b/libbb/copy_file.c @@ -196,19 +196,12 @@ int copy_file(const char *source, const char *dest, int flags) return -1; } } else if (S_ISLNK(source_stat.st_mode)) { - int size; - char buf[BUFSIZ + 1]; - - if ((size = readlink(source, buf, BUFSIZ)) < 0) { - perror_msg("cannot read `%s'", source); - return -1; - } - buf[size] = '\0'; - - if (symlink(buf, dest) < 0) { + char *lpath = xreadlink(source); + if (symlink(lpath, dest) < 0) { perror_msg("cannot create symlink `%s'", dest); return -1; } + free(lpath); #if (__GLIBC__ >= 2) && (__GLIBC_MINOR__ >= 1) if (flags & FILEUTILS_PRESERVE_STATUS) -- cgit v1.2.3-55-g6feb