8932834d49645ee4f30223381d8e7975b9822c27
7 int _chmod(const char *filename
, mode_t mode
)
9 DWORD FileAttributes
= 0;
11 FileAttributes
= GetFileAttributesA(filename
);
12 if ( FileAttributes
== -1 )
18 if ((mode
& _S_IREAD
) == _S_IREAD
&& (mode
& _S_IWRITE
) != _S_IWRITE
)
19 FileAttributes
&= FILE_ATTRIBUTE_READONLY
;
20 else if (((mode
& _S_IREAD
) != _S_IREAD
) && ((mode
& _S_IWRITE
) == _S_IWRITE
))
21 FileAttributes
&= FILE_ATTRIBUTE_NORMAL
;
23 FileAttributes
&= FILE_ATTRIBUTE_NORMAL
;
25 if (SetFileAttributesA(filename
, FileAttributes
) == FALSE
)
31 int _wchmod(const wchar_t *filename
, mode_t mode
)
33 DWORD FileAttributes
= 0;
35 FileAttributes
= GetFileAttributesW(filename
);
36 if ( FileAttributes
== -1 )
42 if ((mode
& _S_IREAD
) == _S_IREAD
&& (mode
& _S_IWRITE
) != _S_IWRITE
)
43 FileAttributes
&= FILE_ATTRIBUTE_READONLY
;
44 else if (((mode
& _S_IREAD
) != _S_IREAD
) && ((mode
& _S_IWRITE
) == _S_IWRITE
))
45 FileAttributes
&= FILE_ATTRIBUTE_NORMAL
;
47 FileAttributes
&= FILE_ATTRIBUTE_NORMAL
;
49 if (SetFileAttributesW(filename
, FileAttributes
) == FALSE
)