Return TypeFunction nameArguments
hzString&hzString::Replace(const char*,const char*,)

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

Function Logic:

0:START 1:!strA 2:Return *this 3:!m_addr 4:Return *this 5:_strXlate thisCtl strlen nLen _strItem::_data i strstr 6:strstr(i,strA) 7:*i; 8:*i==strA[0] 9:!memcmp(i,strA,nLen) 10:bFound 11:strB&&strB[0] 12:items 13:i 14:hzChain::AddByte items 15:bFound 16:hzString::Clear hzString::operator= 17:Return *this

Function body:

hzString& hzString::Replace (const char* strA, const char* strB)
{
   _hzfunc("hzString::Replace") ;
   hzChain         Z ;
   _strItem*       thisCtl ;
   const char*     i ;
   uint32_t        nLen ;
   bool            bFound = false ;
   if (!strA)
       return *this ;
   if (!m_addr)
       return *this ;
   thisCtl = (_strItem*) _strXlate(m_addr) ;
   nLen = strlen(strA) ;
   i = (char*) thisCtl->_data() ;
   if (strstr(i, strA))
   {
       for (; *i ;)
       {
           if (*i == strA[0])
           {
               if (!memcmp(i, strA, nLen))
               {
                   bFound = true ;
                   if (strB && strB[0])
                       Z << strB ;
                   i += nLen ;
                   continue ;
               }
           }
           Z.AddByte(*i) ;
           i++ ;
       }
   }
   if (bFound)
       { Clear() ; operator=(Z) ; }
   return *this ;
}