Return TypeFunction nameArguments
hzEcodehzUserinfo::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:i pUI 8:!pUI 9:hzexit 10:*i&&*i!=':'; 11:* pUI 12:*i&&*i!=':'; 13:* 14:*i&&*i!=':'; 15:* atoi pUI 16:*i&&*i!=':'; 17:* atoi pUI 18:*i&&*i!=':'; 19:* pUI 20:*i&&*i!=':'; 21:* pUI 22:*i&&*i!=':'; 23:* pUI hzMapS::Insert 24:close ifstream::clear 25:Return E_OK

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