@@ -29,50 +29,55 @@ { return [[self alloc] initWithPath: path andMode: mode]; } ++ (void)changeModeOfFile: (const char*)path + toMode: (mode_t)mode +{ + /* + * FIXME: On error, throw exception + * FIXME: On Win32, change write access + */ #ifndef _WIN32 -+ (BOOL)changeModeOfFile: (const char*)path - toMode: (mode_t)mode -{ - // FIXME: On error, throw exception - return (chmod(path, mode) == 0 ? YES : NO); -} + chmod(path, mode); #endif +} -#ifndef _WIN32 -+ (BOOL)changeOwnerOfFile: (const char*)path ++ (void)changeOwnerOfFile: (const char*)path toOwner: (uid_t)owner andGroup: (gid_t)group { - // FIXME: On error, throw exception - return (chown(path, owner, group) == 0 ? YES : NO); -} -#endif - -+ (BOOL)delete: (const char*)path -{ - // FIXME: On error, throw exception - return (unlink(path) == 0 ? YES : NO); -} - -#ifndef _WIN32 -+ (BOOL)link: (const char*)src - to: (const char*)dest -{ - // FIXME: On error, throw exception - return (link(src, dest) == 0 ? YES : NO); -} - -+ (BOOL)symlink: (const char*)src - to: (const char*)dest -{ - // FIXME: On error, throw exception - return (symlink(src, dest) == 0 ? YES : NO); -} -#endif + /* FIXME: On error, throw exception */ +#ifndef _WIN32 + chown(path, owner, group); +#endif +} + ++ (void)delete: (const char*)path +{ + /* FIXME: On error, throw exception */ + unlink(path); +} + ++ (void)link: (const char*)src + to: (const char*)dest +{ + /* FIXME: On error, throw exception */ +#ifndef _WIN32 + link(src, dest); +#endif +} + ++ (void)symlink: (const char*)src + to: (const char*)dest +{ + /* FIXME: On error, throw exception */ +#ifndef _WIN32 + symlink(src, dest); +#endif +} - initWithPath: (const char*)path andMode: (const char*)mode { if ((self = [super init])) {