mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
Bug fix. nonsensical case in cbsfindlargest when size is passed as zero.
Added RangeCopy. Copied from Perforce Change: 184496 ServerID: perforce.ravenbrook.com
This commit is contained in:
parent
7db856f7b8
commit
5f9e072412
3 changed files with 17 additions and 3 deletions
|
|
@ -764,7 +764,7 @@ static void cbsFindDeleteRange(Range rangeReturn, Range oldRangeReturn,
|
|||
need to allocate a new block. */
|
||||
AVER(res == ResOK);
|
||||
} else
|
||||
mps_lib_memcpy(oldRangeReturn, rangeReturn, sizeof(RangeStruct));
|
||||
RangeCopy(oldRangeReturn, rangeReturn);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -873,8 +873,13 @@ Bool CBSFindLargest(Range rangeReturn, Range oldRangeReturn,
|
|||
AVER(CBSBlockSize(block) >= maxSize);
|
||||
RangeInit(&range, CBSBlockBase(block), CBSBlockLimit(block));
|
||||
AVER(RangeSize(&range) >= maxSize);
|
||||
cbsFindDeleteRange(rangeReturn, oldRangeReturn, cbs, &range,
|
||||
size, findDelete);
|
||||
if (size > 0)
|
||||
cbsFindDeleteRange(rangeReturn, oldRangeReturn, cbs, &range,
|
||||
size, findDelete);
|
||||
else {
|
||||
RangeCopy(rangeReturn, &range); /* FIXME: sense? */
|
||||
RangeCopy(oldRangeReturn, &range);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue