comparison src/dired.c @ 94145:3af508d0bd74

Merge from emacs--rel--22 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1112
author Miles Bader <miles@gnu.org>
date Fri, 18 Apr 2008 02:56:45 +0000
parents 40434d3c3093 71c3cb311bff
children e65203929930
comparison
equal deleted inserted replaced
94144:40901fec25aa 94145:3af508d0bd74
977 values[1] = make_number (s.st_nlink); 977 values[1] = make_number (s.st_nlink);
978 /* When make_fixnum_or_float is called below with types that are 978 /* When make_fixnum_or_float is called below with types that are
979 shorter than an int (e.g., `short'), GCC whines about comparison 979 shorter than an int (e.g., `short'), GCC whines about comparison
980 being always false due to limited range of data type. Fix by 980 being always false due to limited range of data type. Fix by
981 copying s.st_uid and s.st_gid into int variables. */ 981 copying s.st_uid and s.st_gid into int variables. */
982 #ifdef WINDOWSNT
983 /* Windows uses signed short for the uid and gid in the stat structure,
984 but we use an int for getuid (limited to the range 0-60000).
985 So users with uid > 32767 need their uid patched back here. */
986 uid = (unsigned short) s.st_uid;
987 gid = (unsigned short) s.st_gid;
988 #else
982 uid = s.st_uid; 989 uid = s.st_uid;
983 gid = s.st_gid; 990 gid = s.st_gid;
991 #endif
984 if (NILP (id_format) || EQ (id_format, Qinteger)) 992 if (NILP (id_format) || EQ (id_format, Qinteger))
985 { 993 {
986 values[2] = make_fixnum_or_float (uid); 994 values[2] = make_fixnum_or_float (uid);
987 values[3] = make_fixnum_or_float (gid); 995 values[3] = make_fixnum_or_float (gid);
988 } 996 }