Changeset 113 for trunk/lib/range_list.c


Ignore:
Timestamp:
05/04/08 14:29:02 (16 years ago)
Author:
tim
Message:

fixed some VK record parsing bugs

added more strict checking on unallocated ranges

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/range_list.c

    r111 r113  
    320320  return true;
    321321}
     322
     323
     324bool range_list_has_range(range_list* rl, uint32_t start, uint32_t length)
     325{
     326  int32_t idx1, idx2;
     327
     328  idx1 = range_list_find(rl, start);
     329  if(idx1 < 0)
     330    return false;
     331
     332  idx2 = range_list_find(rl, start+length);
     333  if(idx2 < 0)
     334    return false;
     335
     336  if(idx1 == idx2)
     337    return true;
     338
     339  while(idx1 != idx2)
     340  {
     341    if(rl->elements[idx1]->offset + rl->elements[idx1]->length
     342       != rl->elements[idx1+1]->offset)
     343      return false;
     344    idx1++;
     345  }
     346
     347  return true;
     348}
Note: See TracChangeset for help on using the changeset viewer.