aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/dired.c7
2 files changed, 10 insertions, 2 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 0849e9ee4b7..8efef814555 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12008-05-03 Eli Zaretskii <eliz@gnu.org>
2
3 * dired.c (Ffile_attributes): Don't allow the device number become
4 negative.
5
12008-05-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 62008-05-02 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 7
3 * config.in: Regenerate. 8 * config.in: Regenerate.
diff --git a/src/dired.c b/src/dired.c
index 31b7e19ddae..7936e04a54e 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -1048,8 +1048,11 @@ Elements of the attribute list are:
1048 /* But keep the most common cases as integers. */ 1048 /* But keep the most common cases as integers. */
1049 values[10] = make_number (ino); 1049 values[10] = make_number (ino);
1050 1050
1051 /* Likewise for device. */ 1051 /* Likewise for device, but don't let it become negative. We used
1052 if (FIXNUM_OVERFLOW_P (s.st_dev)) 1052 to use FIXNUM_OVERFLOW_P here, but that won't catch large
1053 positive numbers such as 0xFFEEDDCC. */
1054 if ((EMACS_INT)s.st_dev < 0
1055 || (EMACS_INT)s.st_dev > MOST_POSITIVE_FIXNUM)
1053 values[11] = Fcons (make_number (s.st_dev >> 16), 1056 values[11] = Fcons (make_number (s.st_dev >> 16),
1054 make_number (s.st_dev & 0xffff)); 1057 make_number (s.st_dev & 0xffff));
1055 else 1058 else