25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
# include <grp.h>
#endif
#import "OFFile.h"
#import "OFString.h"
#import "OFArray.h"
#import "OFThread.h"
#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "macros.h"
#ifdef _WIN32
# import <windows.h>
#endif
|
>
|
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# include <grp.h>
#endif
#import "OFFile.h"
#import "OFString.h"
#import "OFArray.h"
#import "OFThread.h"
#import "OFDate.h"
#import "OFAutoreleasePool.h"
#import "OFExceptions.h"
#import "macros.h"
#ifdef _WIN32
# import <windows.h>
#endif
|
388
389
390
391
392
393
394
395
396
397
398
399
400
401
|
if (!SetFileAttributes([path cString], attrs))
@throw [OFChangeFileModeFailedException newWithClass: self
path: path
mode: mode];
#endif
}
#ifndef _WIN32
+ (void)changeOwnerOfFile: (OFString*)path
toOwner: (OFString*)owner
group: (OFString*)group
{
uid_t uid = -1;
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
|
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
|
if (!SetFileAttributes([path cString], attrs))
@throw [OFChangeFileModeFailedException newWithClass: self
path: path
mode: mode];
#endif
}
+ (OFDate*)modificationDateOfFile: (OFString*)path
{
struct stat s;
if (stat([path cString], &s) == -1)
/* FIXME: Maybe use another exception? */
@throw [OFOpenFileFailedException newWithClass: self
path: path
mode: @"r"];
/* FIXME: We could be more precise on some OSes */
return [OFDate dateWithTimeIntervalSince1970: s.st_mtime];
}
#ifndef _WIN32
+ (void)changeOwnerOfFile: (OFString*)path
toOwner: (OFString*)owner
group: (OFString*)group
{
uid_t uid = -1;
|