Return TypeFunction nameArguments
hzStringDeEscape(const hzString&,)

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

Function Logic:

0:START 1:hzString::Length 2:!x.Length() 3:Return result 4:buf j 5:*i; 6:*i==(char)92 7:items 8:*i=='r' 9:* 10:*i=='n' 11:* 12:*i=='t' 13:* 14:*i=='v' 15:* 16:*i=='f' 17:* 18:*i=='"' 19:* 20:*i==(char)92 21:* 22:items 23:*i==(char)94 24:items 25:*i>='A'&&*i<='Z' 26:* 27:items 28:* 29:* result buf 30:Return result

Function body:

hzString DeEscape (const hzString& x)
{
   _hzfunc(__func__) ;
   char*       buf ;
   char*       j ;
   const char* i ;
   hzString    result ;
   if (!x.Length())
       return result ;
   j = buf = new char[x.Length() + 1];
   for (i = *x ; *i ; i++)
   {
       if (*i == CHAR_BKSLASH)
       {
           i++ ;
           if (*i == ''r''){ *j++ = CHAR_CR ; continue ; }
           if (*i == ''n''){ *j++ = CHAR_NL ; continue ; }
           if (*i == ''t''){ *j++ = CHAR_TAB ; continue ; }
           if (*i == ''v''){ *j++ = CHAR_CTRLI ; continue ; }
           if (*i == ''f''){ *j++ = CHAR_CTRLL ; continue ; }
           if (*i == ''&quot;''){*j++=CHAR_DQUOTE;continue ; }
           if (*i == CHAR_BKSLASH)
               { *j++ = CHAR_BKSLASH ; continue ; }
           i-- ;
       }
       if (*i == CHAR_HAT)
       {
           i++ ;
           if (*i >&eq; ''A''&&*i <&eq; ''Z'')
               { *j++ = ((*i - ''A'')+1); continue ; }
           i-- ;
       }
       *j++ = *i ;
   }
   *j = 0;
   result = buf ;
   delete buf ;
   return result ;
}