summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--old/fileutils/ChangeLog6
-rw-r--r--src/cp.c5
-rw-r--r--src/ls.c2
-rw-r--r--src/mv.c3
-rw-r--r--src/rm.c5
5 files changed, 15 insertions, 6 deletions
diff --git a/old/fileutils/ChangeLog b/old/fileutils/ChangeLog
index d1d7c3ca7..387a9e065 100644
--- a/old/fileutils/ChangeLog
+++ b/old/fileutils/ChangeLog
@@ -1,3 +1,9 @@
+Wed Oct 13 10:30:40 1993 Jim Meyering (meyering@comco.com)
+
+ * cp.c (copy), ls.c (get_link_name): Complete Aug 27 change so
+ that we use PATH_MAX + 1 rather than sizeof(char*) as size of
+ buffer in readlink call. This was causing spurious errors.
+
Sun Oct 10 13:38:54 1993 Jim Meyering (meyering@comco.com)
* src/Makefile.in (dist): Depend on $(DISTFILES).
diff --git a/src/cp.c b/src/cp.c
index 5d88f99aa..4fca2c3f9 100644
--- a/src/cp.c
+++ b/src/cp.c
@@ -565,7 +565,8 @@ copy (src_path, dst_path, new_dst, device, ancestors)
if (eaccess_stat (&dst_sb, W_OK) != 0)
fprintf (stderr,
"%s: overwrite `%s', overriding mode %04o? ",
- program_name, dst_path, dst_sb.st_mode & 07777);
+ program_name, dst_path,
+ (unsigned int) (dst_sb.st_mode & 07777));
else
fprintf (stderr, "%s: overwrite `%s'? ",
program_name, dst_path);
@@ -765,7 +766,7 @@ copy (src_path, dst_path, new_dst, device, ancestors)
int link_size;
link_val = (char *) alloca (PATH_MAX + 2);
- link_size = readlink (src_path, link_val, sizeof (link_val) - 1);
+ link_size = readlink (src_path, link_val, PATH_MAX + 1);
if (link_size < 0)
{
error (0, errno, "cannot read symbolic link `%s'", src_path);
diff --git a/src/ls.c b/src/ls.c
index 302c8ad4f..e42d423c2 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -1094,7 +1094,7 @@ get_link_name (filename, f)
linkbuf = (char *) alloca (PATH_MAX + 2);
/* Some automounters give incorrect st_size for mount points.
I can't think of a good workaround for it, though. */
- linksize = readlink (filename, linkbuf, sizeof (linkbuf) - 1);
+ linksize = readlink (filename, linkbuf, PATH_MAX + 1);
if (linksize < 0)
{
error (0, errno, "%s", filename);
diff --git a/src/mv.c b/src/mv.c
index 9b8cd37bc..1e858856b 100644
--- a/src/mv.c
+++ b/src/mv.c
@@ -280,7 +280,8 @@ do_move (source, dest)
&& eaccess_stat (&dest_stats, W_OK))
{
fprintf (stderr, "%s: replace `%s', overriding mode %04o? ",
- program_name, dest, dest_stats.st_mode & 07777);
+ program_name, dest,
+ (unsigned int) (dest_stats.st_mode & 07777));
if (!yesno ())
return 0;
}
diff --git a/src/rm.c b/src/rm.c
index acb0e8259..b7227fad1 100644
--- a/src/rm.c
+++ b/src/rm.c
@@ -238,7 +238,7 @@ remove_file (statp)
program_name,
S_ISDIR (statp->st_mode) ? "directory " : "",
pathname,
- statp->st_mode & 07777);
+ (unsigned int) (statp->st_mode & 07777));
if (!yesno ())
return 1;
}
@@ -284,7 +284,8 @@ remove_dir (statp)
{
fprintf (stderr,
"%s: descend directory `%s', overriding mode %04o? ",
- program_name, pathname, statp->st_mode & 07777);
+ program_name, pathname,
+ (unsigned int) (statp->st_mode & 07777));
if (!yesno ())
return 1;
}