Return TypeFunction nameArguments
hzEcodeSplitCstrOnChar(hzVect<hzString>&,const char*,char,)

Declared and defined in file: hzTextproc.cpp

Function Logic:

0:START 1:hzVect::Clear 2:!input||!input[0] 3:Return E_ARGUMENT 4:!cDelim 5:cDelim i 6:; 7:*i==0||*i==cDelim 8:nPos>nRef 9:hzString::SetValue 10:hzVect::Add hzString::Clear nRef 11:*i==0 12:items 13:Return E_OK

Function body:

hzEcode SplitCstrOnChar (hzVect<hzString>& ar, const char* input, char cDelim)
{
   const char* i ;
   hzString    S ;
   uint32_t    nRef = 0;
   uint32_t    nPos = 0;
   ar.Clear() ;
   if (!input || !input[0])
       return E_ARGUMENT ;
   if (!cDelim)
       cDelim = CHAR_COMMA ;
   for (i = input ;; i++)
   {
       if (*i == 0|| *i == cDelim)
       {
           if (nPos > nRef)
           {
               S.SetValue(input + nRef, nPos - nRef) ;
           }
           ar.Add(S) ;
           S.Clear() ;
           nRef = nPos + 1;
       }
       if (*i == 0)
           break ;
       nPos++ ;
   }
   return E_OK ;
}