Return TypeFunction nameArguments
hzEcodehzGroupinfo::Load(void)

Declared in file: hzUnixacc.h
Defined in file : hzUnixacc.cpp

Function Logic:

0:START 1:open ifstream::fail 2:is.fail() 3:Return E_OPENFAIL 4:; 5:ifstream::getline ifstream::gcount 6:!is.gcount() 7:pGI 8:!pGI 9:hzexit 10:i 11:*i&&*i!=':'; 12:* 13:*i&&*i!=':'; 14:* pGI atoi pGI hzMapS::Insert 15:close 16:Return E_OK

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