Mercurial > emacs
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 } |