summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--bootstrap.conf5
-rw-r--r--lib/.cvsignore5
-rw-r--r--lib/.gitignore5
-rw-r--r--src/copy.c8
-rw-r--r--src/ls.c4
-rw-r--r--src/readlink.c6
-rw-r--r--src/stat.c4
8 files changed, 27 insertions, 19 deletions
diff --git a/ChangeLog b/ChangeLog
index c0f0adb71..ddeedf615 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2007-06-18 Jim Meyering <jim@meyering.net>
+ Use mreadlink_with_size (doesn't exit), not xreadlink_with_size.
+ * bootstrap.conf (gnulib_modules): Add readlink-with-size.
+ Remove xreadlink and xreadlink-with-size.
+ * src/copy.c (copy_internal): Use mreadlink_with_size,
+ not xreadlink_with_size.
+ * src/ls.c (get_link_name): Likewise.
+ * src/readlink.c (main): Likewise.
+ * src/stat.c (print_stat): Likewise.
+
* README-hacking: Don't mention Gzip 1.2.4, now that 1.3.12 is out.
2007-06-16 Jim Meyering <jim@meyering.net>
diff --git a/bootstrap.conf b/bootstrap.conf
index 11d429bd6..9d2d67b53 100644
--- a/bootstrap.conf
+++ b/bootstrap.conf
@@ -62,7 +62,8 @@ gnulib_modules="
long-options lstat malloc mbswidth memcasecmp mempcpy
memrchr mkancesdirs mkdir mkdir-p mkstemp mktime modechange
mountlist mpsort obstack pathmax perl physmem posixtm posixver putenv
- quote quotearg raise readlink readtokens readtokens0 readutmp
+ quote quotearg raise readlink mreadlink-with-size readtokens
+ readtokens0 readutmp
realloc regex rename-dest-slash rmdir rmdir-errno
root-dev-ino
rpmatch
@@ -76,7 +77,7 @@ gnulib_modules="
uptime userspec utimecmp utimens vasprintf verify version-etc-fsf
wcwidth winsz-ioctl winsz-termios write-any-file
xalloc xgetcwd xgethostname
- xmemcoll xnanosleep xreadlink xreadlink-with-size xstrtod xstrtoimax
+ xmemcoll xnanosleep xstrtod xstrtoimax
xstrtol xstrtold xstrtoumax yesno
"
diff --git a/lib/.cvsignore b/lib/.cvsignore
index 0a52cbb6a..ea040c3b9 100644
--- a/lib/.cvsignore
+++ b/lib/.cvsignore
@@ -234,6 +234,8 @@ mountlist.c
mountlist.h
mpsort.c
mpsort.h
+mreadlink-with-size.c
+mreadlink.h
nanosleep.c
netinet_in.h
netinet_in_.h
@@ -424,9 +426,6 @@ xmemcoll.c
xmemcoll.h
xnanosleep.c
xnanosleep.h
-xreadlink-with-size.c
-xreadlink.c
-xreadlink.h
xsize.h
xstrndup.c
xstrndup.h
diff --git a/lib/.gitignore b/lib/.gitignore
index 2d4209f32..ae7ef06e8 100644
--- a/lib/.gitignore
+++ b/lib/.gitignore
@@ -228,6 +228,8 @@ mountlist.c
mountlist.h
mpsort.c
mpsort.h
+mreadlink-with-size.c
+mreadlink.h
nanosleep.c
netinet_in.h
netinet_in_.h
@@ -415,9 +417,6 @@ xmemcoll.c
xmemcoll.h
xnanosleep.c
xnanosleep.h
-xreadlink-with-size.c
-xreadlink.c
-xreadlink.h
xsize.h
xstrndup.c
xstrndup.h
diff --git a/src/copy.c b/src/copy.c
index 0e9f2d791..fd0519096 100644
--- a/src/copy.c
+++ b/src/copy.c
@@ -54,7 +54,7 @@
#include "utimecmp.h"
#include "utimens.h"
#include "write-any-file.h"
-#include "xreadlink.h"
+#include "mreadlink.h"
#include "yesno.h"
#ifndef HAVE_FCHOWN
@@ -1863,7 +1863,7 @@ copy_internal (char const *src_name, char const *dst_name,
}
else if (S_ISLNK (src_mode))
{
- char *src_link_val = xreadlink_with_size (src_name, src_sb.st_size);
+ char *src_link_val = mreadlink_with_size (src_name, src_sb.st_size);
if (src_link_val == NULL)
{
error (0, errno, _("cannot read symbolic link %s"), quote (src_name));
@@ -1884,8 +1884,8 @@ copy_internal (char const *src_name, char const *dst_name,
in some cases, e.g., if the destination symlink has the
wrong ownership, permissions, or time stamps. */
char *dest_link_val =
- xreadlink_with_size (dst_name, dst_sb.st_size);
- if (STREQ (dest_link_val, src_link_val))
+ mreadlink_with_size (dst_name, dst_sb.st_size);
+ if (dest_link_val && 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 c0e332b3b..c4cca845f 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -104,7 +104,7 @@
#include "strverscmp.h"
#include "wcwidth.h"
#include "xstrtol.h"
-#include "xreadlink.h"
+#include "mreadlink.h"
#define PROGRAM_NAME (ls_mode == LS_LS ? "ls" \
: (ls_mode == LS_MULTI_COL \
@@ -2837,7 +2837,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_with_size (filename, f->stat.st_size);
+ f->linkname = mreadlink_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 0961d235c..4a410bb00 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, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2002-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
@@ -25,7 +25,7 @@
#include "system.h"
#include "canonicalize.h"
#include "error.h"
-#include "xreadlink.h"
+#include "mreadlink.h"
#include "quote.h"
/* The official name of this program (e.g., no `g' prefix). */
@@ -159,7 +159,7 @@ main (int argc, char **argv)
value = (can_mode != -1
? canonicalize_filename_mode (fname, can_mode)
- : xreadlink (fname));
+ : mreadlink_with_size (fname, 63));
if (value)
{
printf ("%s%s", value, (no_newline ? "" : "\n"));
diff --git a/src/stat.c b/src/stat.c
index b8cbbf58f..57439a472 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -68,7 +68,7 @@
#include "quotearg.h"
#include "stat-time.h"
#include "strftime.h"
-#include "xreadlink.h"
+#include "mreadlink.h"
#define alignof(type) offsetof (struct { char c; type x; }, x)
@@ -524,7 +524,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_with_size (filename, statbuf->st_size);
+ char *linkname = mreadlink_with_size (filename, statbuf->st_size);
if (linkname == NULL)
{
error (0, errno, _("cannot read symbolic link %s"),