From f6f2846bd8aba934fd823e71d1de66f0d2806756 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 1 Mar 2007 08:06:24 +0100 Subject: * bootstrap.conf (gnulib_modules): Replace xreadlink with xreadlink-with-size. Add xreadlink. * src/copy.c (copy_internal): Update. * src/ls.c (is_directory): Update. * src/stat.c (print_stat): Update. * src/readlink.c (main): Use the one-argument xreadlink function. --- src/copy.c | 5 +++-- src/ls.c | 2 +- src/readlink.c | 4 ++-- src/stat.c | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/copy.c b/src/copy.c index 99e2ca40c..000c248eb 100644 --- a/src/copy.c +++ b/src/copy.c @@ -1720,7 +1720,7 @@ copy_internal (char const *src_name, char const *dst_name, } else if (S_ISLNK (src_mode)) { - char *src_link_val = xreadlink (src_name, src_sb.st_size); + char *src_link_val = xreadlink_with_size (src_name, src_sb.st_size); if (src_link_val == NULL) { error (0, errno, _("cannot read symbolic link %s"), quote (src_name)); @@ -1740,7 +1740,8 @@ copy_internal (char const *src_name, char const *dst_name, FIXME: This behavior isn't documented, and seems wrong in some cases, e.g., if the destination symlink has the wrong ownership, permissions, or time stamps. */ - char *dest_link_val = xreadlink (dst_name, dst_sb.st_size); + char *dest_link_val = + xreadlink_with_size (dst_name, dst_sb.st_size); if (STREQ (dest_link_val, src_link_val)) same_link = true; free (dest_link_val); diff --git a/src/ls.c b/src/ls.c index 364ea9140..3d4890080 100644 --- a/src/ls.c +++ b/src/ls.c @@ -2798,7 +2798,7 @@ is_directory (const struct fileinfo *f) static void get_link_name (char const *filename, struct fileinfo *f, bool command_line_arg) { - f->linkname = xreadlink (filename, f->stat.st_size); + f->linkname = xreadlink_with_size (filename, f->stat.st_size); if (f->linkname == NULL) file_failure (command_line_arg, _("cannot read symbolic link %s"), filename); diff --git a/src/readlink.c b/src/readlink.c index 800d235b4..121c7ffcf 100644 --- a/src/readlink.c +++ b/src/readlink.c @@ -1,5 +1,5 @@ /* readlink -- display value of a symbolic link. - Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -159,7 +159,7 @@ main (int argc, char **argv) value = (can_mode != -1 ? canonicalize_filename_mode (fname, can_mode) - : xreadlink (fname, 1024)); + : xreadlink (fname)); if (value) { printf ("%s%s", value, (no_newline ? "" : "\n")); diff --git a/src/stat.c b/src/stat.c index 315fe0c65..ca8423677 100644 --- a/src/stat.c +++ b/src/stat.c @@ -1,5 +1,5 @@ /* stat.c -- display file or file system status - Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation. + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 Free Software Foundation. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -497,7 +497,7 @@ print_stat (char *pformat, size_t prefix_len, char m, out_string (pformat, prefix_len, quote (filename)); if (S_ISLNK (statbuf->st_mode)) { - char *linkname = xreadlink (filename, statbuf->st_size); + char *linkname = xreadlink_with_size (filename, statbuf->st_size); if (linkname == NULL) { error (0, errno, _("cannot read symbolic link %s"), -- cgit v1.2.3-54-g00ecf