ITS#2348 fix from HEAD

This commit is contained in:
Howard Chu 2003-03-12 13:42:29 +00:00
parent 0e5870cd47
commit b4b942582c

View file

@ -478,15 +478,9 @@ idl_insert_key(
*/
/* select the block to try inserting into *//* XXX linear search XXX */
for ( i = 0; !ID_BLOCK_NOID(idl, i) && id > ID_BLOCK_ID(idl, i); i++ )
for ( i = 0; !ID_BLOCK_NOID(idl, i) && id >= ID_BLOCK_ID(idl, i); i++ )
; /* NULL */
/* The ID already exists in the IDL, no insert needed */
if ( ID_BLOCK_ID( idl, i ) == id ) {
idl_free( idl );
return 0;
}
if ( i != 0 ) {
i--;
first = 0;
@ -494,6 +488,11 @@ idl_insert_key(
first = 1;
}
/* At this point the following condition must be true:
* ID_BLOCK_ID(idl, i) <= id && id < ID_BLOCK_ID(idl, i+1)
* except when i is the first or the last block.
*/
/* get the block */
cont_alloc( &k2, &key );
cont_id( &k2, ID_BLOCK_ID(idl, i) );