refactor(cloudfunc) getSymbolicPermissions

This commit is contained in:
coderaiser 2013-12-06 16:14:38 +00:00
parent e7c59aaa68
commit b713bf5c87

View file

@ -111,6 +111,8 @@ var Util;
* к файлу в 8-миричной системе
*/
this.getSymbolicPermissions = function(pPerm_s) {
var lType, lOwner, lGroup, lAll,
lPermissions = pPerm_s;
/*
S_IRUSR 0000400 protection: readable by owner
S_IWUSR 0000200 writable by owner
@ -122,47 +124,46 @@ var Util;
S_IWOTH 0000002 writable by all
S_IXOTH 0000001 executable by all
*/
if(!pPerm_s) return;
/* тип файла */
var lType = pPerm_s.charAt(0);
switch (lType-0) {
case 1: /* обычный файл */
lType='-';
break;
case 2: /* байт-ориентированное (символьное) устройство*/
lType='c';
break;
case 4: /* каталог */
lType='d';
break;
default:
lType='-';
}
/* оставляем последние 3 символа*/
pPerm_s = pPerm_s.length > 5 ? pPerm_s.substr(3) : pPerm_s.substr(2);
/* Рекомендации гугла советуют вместо string[3]
* использовать string.charAt(3)
*/
/*
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Standards_features#Standards_features
if (pPerm_s) {
/* тип файла */
lType = pPerm_s.charAt(0);
Always preferred over non-standards featuresFor
maximum portability and compatibility, always
prefer standards features over non-standards
features (e.g., string.charAt(3) over string[3]
and element access with DOM functions instead
of using an application-specific shorthand).
*/
/* Переводим в двоичную систему */
var lOwner = ( pPerm_s[0] - 0 ).toString(2),
switch (lType-0) {
case 1: /* обычный файл */
lType='-';
break;
case 2: /* байт-ориентированное (символьное) устройство*/
lType='c';
break;
case 4: /* каталог */
lType='d';
break;
default:
lType='-';
}
/* оставляем последние 3 символа*/
pPerm_s = pPerm_s.length > 5 ? pPerm_s.substr(3) : pPerm_s.substr(2);
/* Рекомендации гугла советуют вместо string[3]
* использовать string.charAt(3)
*/
/*
http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml?showone=Standards_features#Standards_features
Always preferred over non-standards featuresFor
maximum portability and compatibility, always
prefer standards features over non-standards
features (e.g., string.charAt(3) over string[3]
and element access with DOM functions instead
of using an application-specific shorthand).
*/
/* Переводим в двоичную систему */
lOwner = ( pPerm_s[0] - 0 ).toString(2),
lGroup = ( pPerm_s[1] - 0 ).toString(2),
lAll = ( pPerm_s[2] - 0 ).toString(2),
/* переводим в символьную систему*/
/* переводим в символьную систему*/
lPermissions =
( lOwner[0] - 0 > 0 ? 'r' : '-' ) +
( lOwner[1] - 0 > 0 ? 'w' : '-' ) +
@ -175,7 +176,8 @@ var Util;
( lAll[0]- 0 > 0 ? 'r' : '-' ) +
( lAll[1]- 0 > 0 ? 'w' : '-' ) +
( lAll[2]- 0 > 0 ? 'x' : '-' );
}
return lPermissions;
};