aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii1999-02-16 08:25:51 +0000
committerEli Zaretskii1999-02-16 08:25:51 +0000
commitcb1846b412f7fb26a08de18c094f965ab6f49238 (patch)
treefd7c343047b2ee27f16c5ed30f000e0bbb086e63 /src
parentffd809f2f23746caba888c2ec8a833830631e9e7 (diff)
downloademacs-cb1846b412f7fb26a08de18c094f965ab6f49238.tar.gz
emacs-cb1846b412f7fb26a08de18c094f965ab6f49238.zip
(Ffile_attributes): If the file's size doesn't fit in
an integer, return it as a float. Doc string fixed.
Diffstat (limited to 'src')
-rw-r--r--src/dired.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/dired.c b/src/dired.c
index eb743c58a3b..a11ec5bc8d8 100644
--- a/src/dired.c
+++ b/src/dired.c
@@ -668,10 +668,12 @@ Otherwise, list elements are:\n\
668 First integer has high-order 16 bits of time, second has low 16 bits.\n\ 668 First integer has high-order 16 bits of time, second has low 16 bits.\n\
669 5. Last modification time, likewise.\n\ 669 5. Last modification time, likewise.\n\
670 6. Last status change time, likewise.\n\ 670 6. Last status change time, likewise.\n\
671 7. Size in bytes (-1, if number is out of range).\n\ 671 7. Size in bytes.\n\
672 This is a floating point number if the size is too large for an integer.\n\
672 8. File modes, as a string of ten letters or dashes as in ls -l.\n\ 673 8. File modes, as a string of ten letters or dashes as in ls -l.\n\
673 9. t iff file's gid would change if file were deleted and recreated.\n\ 674 9. t iff file's gid would change if file were deleted and recreated.\n\
67410. inode number.\n\ 67510. inode number. If inode number is larger than the Emacs integer,\n\
676 this is a list of two integers: first the high, then the low 16 bits.\n\
67511. Device number.\n\ 67711. Device number.\n\
676\n\ 678\n\
677If file does not exist, returns nil.") 679If file does not exist, returns nil.")
@@ -717,9 +719,9 @@ If file does not exist, returns nil.")
717 values[5] = make_time (s.st_mtime); 719 values[5] = make_time (s.st_mtime);
718 values[6] = make_time (s.st_ctime); 720 values[6] = make_time (s.st_ctime);
719 values[7] = make_number ((int) s.st_size); 721 values[7] = make_number ((int) s.st_size);
720 /* If the size is out of range, give back -1. */ 722 /* If the size is out of range for an integer, return a float. */
721 if (XINT (values[7]) != s.st_size) 723 if (XINT (values[7]) != s.st_size)
722 XSETINT (values[7], -1); 724 values[7] = make_float ((double)s.st_size);
723 filemodestring (&s, modes); 725 filemodestring (&s, modes);
724 values[8] = make_string (modes, 10); 726 values[8] = make_string (modes, 10);
725#ifdef BSD4_3 /* Gross kludge to avoid lack of "#if defined(...)" in VMS */ 727#ifdef BSD4_3 /* Gross kludge to avoid lack of "#if defined(...)" in VMS */