if(IS_HANKAKU(aSrc[i]))
if(IS_HANKAKU(*aSrc))
void HankakuToZenkaku (    const PRUnichar* aSrc, PRInt32 aLen,     PRUnichar* aDest, PRInt32 aDestLen, PRInt32* oLen){    PRInt32 i,j;    // loop from the first to the last char except the last one.    for(i = j = 0; i < (aLen-1); i++,j++,aSrc++, aDest++)    {       if(IS_HANKAKU(*aSrc)) {         // if it is in hankaku - do basic mapping first         *aDest = gBasicMapping[(*aSrc) - 0xff60];                  // if is some char could be modifier, and the next char         // is a modifier, modify it and eat one byte         if(IS_NIGORI(*(aSrc+1)) && NEED_TO_CHECK_NIGORI(*aSrc))         {            *aDest += NIGORI_MODIFIER;            i++; aSrc++;         }         else if(IS_MARU(*(aSrc+1)) && NEED_TO_CHECK_MARU(*aSrc))          {            *aDest += MARU_MODIFIER;            i++; aSrc++;         }       }       else        {         // not in hankaku block, just copy          *aDest = *aSrc;       }    }    // handle the last character    if(IS_HANKAKU(aSrc[i]))          *aDest = gBasicMapping[(*aSrc) - 0xff60];    else         *aDest = *aSrc;    *oLen = j+1;}