From b713bf5c8760d490b000ff2bb7cc883cddbc6f6c Mon Sep 17 00:00:00 2001 From: coderaiser Date: Fri, 6 Dec 2013 16:14:38 +0000 Subject: [PATCH] refactor(cloudfunc) getSymbolicPermissions --- lib/cloudfunc.js | 80 +++++++++++++++++++++++++----------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index ea9afccb..b1f0980c 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -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; };