Return Type | Function name | Arguments |
---|---|---|
hzEcode | hzUserinfo::Load | (void) |
Declared in file: hzUnixacc.h
Defined in file : hzUnixacc.cpp
Function Logic:
Function body:
hzEcode hzUserinfo::Load (void) { _hzfunc("hzUserinfo::Load") ; std::ifstream is ; hzUserinfo* pUI ; char* i ; char* j ; char cvLine[256]; is.open("/etc/passwd") ; if (is.fail()) { hzerr(E_OPENFAIL, "Could not open passwd file") ; return E_OPENFAIL ; } for (;;) { is.getline(cvLine, 256); if (!is.gcount()) break ; i = cvLine ; pUI = new hzUserinfo() ; if (!pUI) hzexit(E_MEMORY, "No memory for system user DB") ; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; pUI->m_Username = j ; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; pUI->m_nUserID = atoi(j) ; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; pUI->m_nGroupID = atoi(j) ; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; pUI->m_Geninfo = j ; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; pUI->m_Homedir = j ; for (j = i ; *i && *i != '':'';i++) ; *i++ = 0; pUI->m_Shell = j ; _hzGlobal_Userlist.Insert(pUI->m_Username, pUI) ; } is.close() ; is.clear() ; return E_OK ; }