PRUint16 len1 = CCMAP_SIZE(ccmap1); PRUint16 len2 = CCMAP_SIZE(ccmap2);
PRUint16 i, tmp; PRUint16 maxMidOffset = CCMAP_EMPTY_MID; PRUint16 maxOffset = 0;   for (i = 0; i < CCMAP_NUM_UPPER_POINTERS; i++) { tmp = CCMAP_MID_OFFSET(ccmap1, i); if ( tmp > maxMidOffset) maxMidOffset = tmp; }   for (i = 0; i < CCMAP_NUM_MID_POINTERS; i++) { tmp = CCMAP_PAGE_OFFSET_FROM_MIDOFFSET(ccmap1, maxMidOffset, i); if (tmp > maxOffset) maxOffset = tmp; }   if (maxOffset) maxOffset += CCMAP_NUM_PRUINT16S_PER_PAGE; else maxOffset = maxMidOffset;     for (i = 0; i < maxOffset; i++) if (ccmap1[i] != ccmap2[i]) return PR_FALSE;
PRBool IsSameCCMap(PRUint16* ccmap1, PRUint16* ccmap2){  PRUint16 len1 = CCMAP_SIZE(ccmap1);  PRUint16 len2 = CCMAP_SIZE(ccmap2);    if (len1 != len2)    return PR_FALSE;  if (memcmp(ccmap1, ccmap2, sizeof(PRUint16)*len1))    return PR_FALSE;  return PR_TRUE;}