diff options
Diffstat (limited to 'src/dired.c')
| -rw-r--r-- | src/dired.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/dired.c b/src/dired.c index e11c37ca5b7..d3a6e7b7cec 100644 --- a/src/dired.c +++ b/src/dired.c | |||
| @@ -1048,8 +1048,11 @@ Elements of the attribute list are: | |||
| 1048 | make_number (low_ino & 0xffff))); | 1048 | make_number (low_ino & 0xffff))); |
| 1049 | } | 1049 | } |
| 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 |