| 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 ;
}