comparison src/dired.c @ 5118:e0db3c197671 ben-lisp-object

merge up to latest default branch, doesn't compile yet
author Ben Wing <ben@xemacs.org>
date Sat, 26 Dec 2009 21:18:49 -0600
parents 5998e37dc35e
children 53071486ff7a
comparison
equal deleted inserted replaced
5117:3742ea8250b5 5118:e0db3c197671
822 3. File gid. 822 3. File gid.
823 4. Last access time, as a list of two integers. 823 4. Last access time, as a list of two integers.
824 First integer has high-order 16 bits of time, second has low 16 bits. 824 First integer has high-order 16 bits of time, second has low 16 bits.
825 5. Last modification time, likewise. 825 5. Last modification time, likewise.
826 6. Last status change time, likewise. 826 6. Last status change time, likewise.
827 7. Size in bytes. (-1, if number is out of range). 827 7. Size in bytes. (-1, if number out of range and no bignum support.)
828 8. File modes, as a string of ten letters or dashes as in ls -l. 828 8. File modes, as a string of ten letters or dashes as in ls -l.
829 9. t iff file's gid would change if file were deleted and recreated. 829 9. t iff file's gid would change if file were deleted and recreated.
830 10. inode number. 830 10. inode number.
831 11. Device number. 831 11. Device number.
832 832
898 values[2] = make_int (s.st_uid); 898 values[2] = make_int (s.st_uid);
899 values[3] = make_int (s.st_gid); 899 values[3] = make_int (s.st_gid);
900 values[4] = make_time (s.st_atime); 900 values[4] = make_time (s.st_atime);
901 values[5] = make_time (s.st_mtime); 901 values[5] = make_time (s.st_mtime);
902 values[6] = make_time (s.st_ctime); 902 values[6] = make_time (s.st_ctime);
903 values[7] = make_int ((EMACS_INT) s.st_size); 903
904 /* If the size is out of range, give back -1. */ 904 #ifndef HAVE_BIGNUM
905 /* #### Fix when Emacs gets bignums! */ 905 values[7] = make_integer (NUMBER_FITS_IN_AN_EMACS_INT (s.st_size) ?
906 if (XINT (values[7]) != s.st_size) 906 (EMACS_INT)s.st_size : -1);
907 values[7] = make_int (-1); 907 #else
908 values[7] = make_integer (s.st_size);
909 #endif
910
908 filemodestring (&s, modes); 911 filemodestring (&s, modes);
909 values[8] = make_string ((Ibyte *) modes, 10); 912 values[8] = make_string ((Ibyte *) modes, 10);
910 #if defined (BSD4_2) || defined (BSD4_3) /* file gid will be dir gid */ 913 #if defined (BSD4_2) || defined (BSD4_3) /* file gid will be dir gid */
911 { 914 {
912 struct stat sdir; 915 struct stat sdir;