Skip to content

Commit 8c16f61

Browse files
committed
add unix stat constants.
1 parent 5a04c3e commit 8c16f61

2 files changed

Lines changed: 55 additions & 1 deletion

File tree

lib/archivers/zip/unix-stat.js

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
/**
2+
* node-compress-commons
3+
*
4+
* Copyright (c) 2014 Chris Talkington, contributors.
5+
* Licensed under the MIT license.
6+
* https://github.com/archiverjs/node-compress-commons/blob/master/LICENSE-MIT
7+
*/
8+
module.exports = {
9+
/**
10+
* Bits used for permissions (and sticky bit)
11+
*/
12+
PERM_MASK: 4095, // 07777
13+
14+
/**
15+
* Bits used to indicate the filesystem object type.
16+
*/
17+
FILE_TYPE_FLAG: 61440, // 0170000
18+
19+
/**
20+
* Indicates symbolic links.
21+
*/
22+
LINK_FLAG: 40960, // 0120000
23+
24+
/**
25+
* Indicates plain files.
26+
*/
27+
FILE_FLAG: 32768, // 0100000
28+
29+
/**
30+
* Indicates directories.
31+
*/
32+
DIR_FLAG: 16384, // 040000
33+
34+
// ----------------------------------------------------------
35+
// somewhat arbitrary choices that are quite common for shared
36+
// installations
37+
// -----------------------------------------------------------
38+
39+
/**
40+
* Default permissions for symbolic links.
41+
*/
42+
DEFAULT_LINK_PERM: 511, // 0777
43+
44+
/**
45+
* Default permissions for directories.
46+
*/
47+
DEFAULT_DIR_PERM: 493, // 0755
48+
49+
/**
50+
* Default permissions for plain files.
51+
*/
52+
DEFAULT_FILE_PERM: 420 // 0644
53+
};

lib/archivers/zip/zip-archive-entry.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ var normalizePath = require('normalize-path');
1010

1111
var ArchiveEntry = require('../archive-entry');
1212
var GeneralPurposeBit = require('./general-purpose-bit');
13+
var UnixStat = require('./unix-stat');
1314

1415
var constants = require('./constants');
1516
var zipUtil = require('./util');
@@ -219,7 +220,7 @@ ZipArchiveEntry.prototype.isDirectory = function() {
219220
};
220221

221222
ZipArchiveEntry.prototype.isUnixSymlink = function() {
222-
return (this.getUnixMode() & constants.S_IFMT) === constants.S_IFLNK;
223+
return (this.getUnixMode() & UnixStat.FILE_TYPE_FLAG) === UnixStat.LINK_FLAG;
223224
};
224225

225226
ZipArchiveEntry.prototype.isZip64 = function() {

0 commit comments

Comments
 (0)