* times.cc (utimes): Use FILE_WRITE_ATTRIBUTES even on 9x/Me when
opening file for writing timestamp. * wincap.cc: Remove flag has_specific_access_rights. * wincap.h: Ditto.
This commit is contained in:
parent
6935231fde
commit
35a89cbe95
|
@ -1,3 +1,10 @@
|
|||
2002-05-17 Corinna Vinschen <corinna@vinschen.de>
|
||||
|
||||
* times.cc (utimes): Use FILE_WRITE_ATTRIBUTES even on 9x/Me when
|
||||
opening file for writing timestamp.
|
||||
* wincap.cc: Remove flag has_specific_access_rights.
|
||||
* wincap.h: Ditto.
|
||||
|
||||
2002-05-13 Pierre Humblet <pierre.humblet@ieee.org>
|
||||
|
||||
* syscalls.cc (seteuid): Set default dacl in process token.
|
||||
|
|
|
@ -440,12 +440,11 @@ utimes (const char *path, struct timeval *tvp)
|
|||
}
|
||||
|
||||
/* MSDN suggests using FILE_FLAG_BACKUP_SEMANTICS for accessing
|
||||
the times of directories. FIXME: what about Win95??? */
|
||||
the times of directories. */
|
||||
/* Note: It's not documented in MSDN that FILE_WRITE_ATTRIBUTES is
|
||||
sufficient to change the timestamps... */
|
||||
HANDLE h = CreateFileA (win32.get_win32 (),
|
||||
wincap.has_specific_access_rights () ?
|
||||
FILE_WRITE_ATTRIBUTES : GENERIC_WRITE,
|
||||
FILE_WRITE_ATTRIBUTES,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
&sec_none_nih,
|
||||
OPEN_EXISTING,
|
||||
|
|
|
@ -22,7 +22,6 @@ static NO_COPY wincaps wincap_unknown = {
|
|||
has_security:false,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:false,
|
||||
has_specific_access_rights:false,
|
||||
has_lseek_bug:false,
|
||||
has_lock_file_ex:false,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -60,7 +59,6 @@ static NO_COPY wincaps wincap_95 = {
|
|||
has_security:false,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:false,
|
||||
has_specific_access_rights:false,
|
||||
has_lseek_bug:true,
|
||||
has_lock_file_ex:false,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -98,7 +96,6 @@ static NO_COPY wincaps wincap_95osr2 = {
|
|||
has_security:false,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:false,
|
||||
has_specific_access_rights:false,
|
||||
has_lseek_bug:true,
|
||||
has_lock_file_ex:false,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -136,7 +133,6 @@ static NO_COPY wincaps wincap_98 = {
|
|||
has_security:false,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:false,
|
||||
has_specific_access_rights:false,
|
||||
has_lseek_bug:true,
|
||||
has_lock_file_ex:false,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -174,7 +170,6 @@ static NO_COPY wincaps wincap_98se = {
|
|||
has_security:false,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:false,
|
||||
has_specific_access_rights:false,
|
||||
has_lseek_bug:true,
|
||||
has_lock_file_ex:false,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -212,7 +207,6 @@ static NO_COPY wincaps wincap_me = {
|
|||
has_security:false,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:false,
|
||||
has_specific_access_rights:false,
|
||||
has_lseek_bug:true,
|
||||
has_lock_file_ex:false,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -250,7 +244,6 @@ static NO_COPY wincaps wincap_nt3 = {
|
|||
has_security:true,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:true,
|
||||
has_specific_access_rights:true,
|
||||
has_lseek_bug:false,
|
||||
has_lock_file_ex:true,
|
||||
has_signal_object_and_wait:false,
|
||||
|
@ -288,7 +281,6 @@ static NO_COPY wincaps wincap_nt4 = {
|
|||
has_security:true,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:true,
|
||||
has_specific_access_rights:true,
|
||||
has_lseek_bug:false,
|
||||
has_lock_file_ex:true,
|
||||
has_signal_object_and_wait:true,
|
||||
|
@ -326,7 +318,6 @@ static NO_COPY wincaps wincap_nt4sp4 = {
|
|||
has_security:true,
|
||||
has_security_descriptor_control:false,
|
||||
has_get_process_times:true,
|
||||
has_specific_access_rights:true,
|
||||
has_lseek_bug:false,
|
||||
has_lock_file_ex:true,
|
||||
has_signal_object_and_wait:true,
|
||||
|
@ -364,7 +355,6 @@ static NO_COPY wincaps wincap_2000 = {
|
|||
has_security:true,
|
||||
has_security_descriptor_control:true,
|
||||
has_get_process_times:true,
|
||||
has_specific_access_rights:true,
|
||||
has_lseek_bug:false,
|
||||
has_lock_file_ex:true,
|
||||
has_signal_object_and_wait:true,
|
||||
|
@ -402,7 +392,6 @@ static NO_COPY wincaps wincap_xp = {
|
|||
has_security:true,
|
||||
has_security_descriptor_control:true,
|
||||
has_get_process_times:true,
|
||||
has_specific_access_rights:true,
|
||||
has_lseek_bug:false,
|
||||
has_lock_file_ex:true,
|
||||
has_signal_object_and_wait:true,
|
||||
|
|
|
@ -23,7 +23,6 @@ struct wincaps
|
|||
unsigned has_security : 1;
|
||||
unsigned has_security_descriptor_control : 1;
|
||||
unsigned has_get_process_times : 1;
|
||||
unsigned has_specific_access_rights : 1;
|
||||
unsigned has_lseek_bug : 1;
|
||||
unsigned has_lock_file_ex : 1;
|
||||
unsigned has_signal_object_and_wait : 1;
|
||||
|
@ -76,7 +75,6 @@ public:
|
|||
bool IMPLEMENT (has_security)
|
||||
bool IMPLEMENT (has_security_descriptor_control)
|
||||
bool IMPLEMENT (has_get_process_times)
|
||||
bool IMPLEMENT (has_specific_access_rights)
|
||||
bool IMPLEMENT (has_lseek_bug)
|
||||
bool IMPLEMENT (has_lock_file_ex)
|
||||
bool IMPLEMENT (has_signal_object_and_wait)
|
||||
|
|
Loading…
Reference in New Issue