tempBuffer[tempBufferPos++] = hexChars[c >> 4];	 tempBuffer[tempBufferPos++] = hexChars[c & 0x0f];  } if(tempBufferPos == 96)
tempBuffer[tempBufferPos++] = hexChars[c >> 4];	 tempBuffer[tempBufferPos++] = hexChars[c & 0x0f];  }  if(tempBufferPos >= sizeof(tempBuffer) - 4)
nsURLEscape(const char* str, PRInt16 mask, nsCString &result){    if (!str) {        result = "";        return NS_OK;    }    int i = 0;    char* hexChars = "0123456789ABCDEF";    static const char CheckHexChars[] = "0123456789ABCDEFabcdef";    int len = PL_strlen(str);    register const unsigned char* src = (const unsigned char *) str;    src = (const unsigned char *) str; 	char tempBuffer[100]; 	int tempBufferPos = 0;    char c1[] = " ";    char c2[] = " ";    char* const pc1 = c1;    char* const pc2 = c2;    for (i = 0; i < len; i++)    {        c1[0] = *(src+1);        c2[0] = *(src+2);        unsigned char c = *src++;        /* if the char has not to be escaped or whatever follows % is            a valid escaped string, just copy the char */        if (IS_OK(c) || (c == HEX_ESCAPE && (pc1) && (pc2) &&           PL_strpbrk(pc1, CheckHexChars) != 0 &&             PL_strpbrk(pc2, CheckHexChars) != 0)) {		    tempBuffer[tempBufferPos++]=c;        }        else             /* do the escape magic */        {		    tempBuffer[tempBufferPos++] = HEX_ESCAPE;            tempBuffer[tempBufferPos++] = hexChars[c >> 4];	/* high nibble */            tempBuffer[tempBufferPos++] = hexChars[c & 0x0f]; /* low nibble */        } 		if(tempBufferPos == 96) 		{ 			tempBuffer[tempBufferPos] = '\0'; 	        result += tempBuffer; 			tempBufferPos = 0; 		}	} 	tempBuffer[tempBufferPos] = '\0'; 	result += tempBuffer;    return NS_OK;}