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