PRUint16 *mid = &aCCMap[upper[i]]; for (j=mid_index; j<CCMAP_NUM_MID_POINTERS; j++) { if (mid[j] == CCMAP_EMPTY_PAGE)
PRUint16 *upper = &ccmap[0]; for (i=upper_index; i<CCMAP_NUM_UPPER_POINTERS; i++, mid_index=0) { if (upper[i] == CCMAP_EMPTY_MID) {
NextNonEmptyCCMapPage(PRUint16* aCCMap, PRUint16 *aPageStart){  int i, j;  unsigned int k;    //  // Point to the next page  //  unsigned int upper_index;  unsigned int mid_index;  if (*aPageStart == CCMAP_BEGIN_AT_START_OF_MAP) {    upper_index = 0;    mid_index   = 0;  }  else {    upper_index = CCMAP_UPPER_INDEX(*aPageStart);    mid_index   = CCMAP_MID_INDEX(*aPageStart) + 1;  }  // walk thru the upper pointers  PRUint16 *upper = &aCCMap[0];  for (i=upper_index; i<CCMAP_NUM_UPPER_POINTERS; i++, mid_index=0) {    if (upper[i] == CCMAP_EMPTY_MID) {      continue;    }    // walk the mid array    PRUint16 *mid = &aCCMap[upper[i]];    for (j=mid_index; j<CCMAP_NUM_MID_POINTERS; j++) {      if (mid[j] == CCMAP_EMPTY_PAGE)        continue;      // walk the page      ALU_TYPE *page = (ALU_TYPE*)&aCCMap[mid[j]];      for (k=0; k<CCMAP_NUM_ALUS_PER_PAGE; k++) {        if (page[k] != 0) {          PRUint32 base = (i*CCMAP_NUM_UCHARS_PER_MID) + (j*CCMAP_NUM_UCHARS_PER_PAGE);          NS_ASSERTION(base<NUM_UNICODE_CHARS, "invalid page address");          *aPageStart = (PRUint16)base;          return PR_TRUE;        }      }    }  }  return PR_FALSE;}