36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
static void
setPermissions(OFString *path, OFZIPArchiveEntry *entry)
{
#ifdef OF_HAVE_CHMOD
if (([entry versionMadeBy] >> 8) ==
OF_ZIP_ARCHIVE_ENTRY_ATTR_COMPAT_UNIX) {
uint32_t mode = [entry versionSpecificAttributes] >> 16;
/* Only allow modes that are safe */
mode &= (S_IRWXU | S_IRWXG | S_IRWXO);
[[OFFileManager defaultManager]
changePermissionsOfItemAtPath: path
permissions: mode];
}
#endif
}
|
|
<
<
<
|
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
static void
setPermissions(OFString *path, OFZIPArchiveEntry *entry)
{
#ifdef OF_HAVE_CHMOD
if (([entry versionMadeBy] >> 8) ==
OF_ZIP_ARCHIVE_ENTRY_ATTR_COMPAT_UNIX) {
uint16_t mode = [entry versionSpecificAttributes] >> 16;
[[OFFileManager defaultManager]
changePermissionsOfItemAtPath: path
permissions: mode];
}
#endif
}
|