From: Bruno Haible Date: Thu, 1 Mar 2007 07:06:24 +0000 (+0100) Subject: * bootstrap.conf (gnulib_modules): Replace xreadlink with X-Git-Tag: COREUTILS-6_9~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f6f2846bd8aba934fd823e71d1de66f0d2806756;p=platform%2Fupstream%2Fcoreutils.git * 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. --- diff --git a/ChangeLog b/ChangeLog index 217ce28..70d0d40 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-02-28 Bruno Haible + + * 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. + 2007-02-28 Paul Eggert * doc/coreutils.texi (Common options): --si outputs "M", not "MB". diff --git a/bootstrap.conf b/bootstrap.conf index c54b035..6709afd 100644 --- a/bootstrap.conf +++ b/bootstrap.conf @@ -66,8 +66,8 @@ gnulib_modules=" unicodeio unistd-safer unlink-busy unlinkdir unlocked-io uptime userspec utimecmp utimens vasprintf verify version-etc-fsf wcwidth winsz-ioctl winsz-termios xalloc xgetcwd xgethostname - xmemcoll xnanosleep xreadlink xstrtod xstrtoimax xstrtol - xstrtold xstrtoumax yesno + xmemcoll xnanosleep xreadlink xreadlink-with-size xstrtod xstrtoimax + xstrtol xstrtold xstrtoumax yesno " # Other locale categories that need message catalogs. diff --git a/src/copy.c b/src/copy.c index 99e2ca4..000c248 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 364ea91..3d48900 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 800d235..121c7ff 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 315fe0c..ca84236 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"),