X-Git-Url: http://git.jankratochvil.net/?p=reactos.git;a=blobdiff_plain;f=lib%2Fcrtdll%2Fio%2Fchmod.c;fp=lib%2Fcrtdll%2Fio%2Fchmod.c;h=0f548982500b07fbeb6905eaf9ee9e21fbda8bc6;hp=be48dbf32476edbd861aac443c0d5653cd536f5d;hb=e3ed2d773259cc445c7ff8181ebd934931365328;hpb=d378c68f5a9bb25c9e671dacd482d2e25d211df3 diff --git a/lib/crtdll/io/chmod.c b/lib/crtdll/io/chmod.c index be48dbf..0f54898 100644 --- a/lib/crtdll/io/chmod.c +++ b/lib/crtdll/io/chmod.c @@ -1,31 +1,33 @@ #include -#include +#include + +#define NDEBUG +#include + #define mode_t int -int -_chmod(const char *filename, mode_t mode) + +int _chmod(const char* filename, mode_t mode) { - DWORD FileAttributes = 0; - - FileAttributes = GetFileAttributes(filename); - if ( FileAttributes == -1 ) - return -1; - - if ( mode == 0 ) - return -1; - - - if ( (mode & _S_IREAD) == _S_IREAD && (mode & _S_IWRITE) != _S_IWRITE) - FileAttributes &= FILE_ATTRIBUTE_READONLY; - else if ( ((mode & _S_IREAD) != _S_IREAD) && ((mode & _S_IWRITE) == _S_IWRITE) ) - FileAttributes &= FILE_ATTRIBUTE_NORMAL; - else - FileAttributes &= FILE_ATTRIBUTE_NORMAL; - - - - if ( SetFileAttributes(filename,FileAttributes) == FALSE ) - return -1; - - return 1; + DWORD FileAttributes = 0; + DPRINT("_chmod('%s', %x)\n", filename, mode); + + FileAttributes = GetFileAttributesA(filename); + if ( FileAttributes == -1 ) + return -1; + + if ( mode == 0 ) + return -1; + + if ((mode & _S_IREAD) == _S_IREAD && (mode & _S_IWRITE) != _S_IWRITE) + FileAttributes &= FILE_ATTRIBUTE_READONLY; + else if (((mode & _S_IREAD) != _S_IREAD) && ((mode & _S_IWRITE) == _S_IWRITE)) + FileAttributes &= FILE_ATTRIBUTE_NORMAL; + else + FileAttributes &= FILE_ATTRIBUTE_NORMAL; + + if (SetFileAttributesA(filename, FileAttributes) == FALSE) + return -1; + + return 1; }