diff --git a/lib/cloudfunc.js b/lib/cloudfunc.js index 93c52a0e..1e6521be 100644 --- a/lib/cloudfunc.js +++ b/lib/cloudfunc.js @@ -253,34 +253,34 @@ var Util; * и возвращает массив обьектов имён и uid пользователей * @pPasswd_s - строка, в которой находиться файл /etc/passwd */ - this.getUserUIDsAndNames = function(pPasswd_s) { - var lUsers = {name:'', uid:''}, - lUsersData = [], - i = 0; - do { - /* получаем первую строку */ - var lLine = pPasswd_s.substr(pPasswd_s, pPasswd_s.indexOf('\n') + 1); - - if (lLine) { - /* удаляем первую строку из /etc/passwd*/ - pPasswd_s = Util.removeStr(pPasswd_s, lLine); - - /* получаем первое слово строки */ - var lName = lLine.substr(lLine,lLine.indexOf(':')); - lLine = Util.removeStr(lLine, lName + ':x:'); - - /* получаем uid*/ - var lUID = lLine.substr(lLine,lLine.indexOf(':')); - if ((lUID - 0).toString()!=='NaN') { - lUsers.name = lName; - lUsers.uid = lUID; - lUsersData[i++] = lUsers; - console.log('uid='+lUID+' name='+lName); - } - } - } while(pPasswd_s !== ''); + this.getUserUIDsAndNames = function(passwdContent) { + var uid, name, line, + usersData = []; - return lUsersData; + if (passwdContent) + do { + line = passwdContent.substr(passwdContent, passwdContent.indexOf('\n') + 1); + + if (line) { + passwdContent = Util.removeStr(passwdContent, line); + + /* получаем первое слово строки */ + name = line.substr(line, line.indexOf(':')); + line = Util.removeStr(line, name + ':x:'); + + /* получаем uid */ + uid = line.substr(line, line.indexOf(':')); + + if (uid) { + usersData.push({ + uid : uid, + name: name + }); + } + } + } while (passwdContent); + + return usersData; }; /** Функция получает адреса каждого каталога в пути