mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
ldap_int_bisect_find(): Silence harmless "may be used uninitialized" warning
This commit is contained in:
parent
ac914f96a0
commit
2660518c5d
@ -355,8 +355,7 @@ ldap_int_bisect_find( ber_int_t *v, ber_len_t n, ber_int_t id, int *idxp )
|
||||
begin = 0;
|
||||
end = n - 1;
|
||||
|
||||
if ( n > 0 ) {
|
||||
if ( id < v[ begin ] ) {
|
||||
if ( n <= 0 || id < v[ begin ] ) {
|
||||
*idxp = 0;
|
||||
|
||||
} else if ( id > v[ end ] ) {
|
||||
@ -366,7 +365,7 @@ ldap_int_bisect_find( ber_int_t *v, ber_len_t n, ber_int_t id, int *idxp )
|
||||
int pos;
|
||||
ber_int_t curid;
|
||||
|
||||
while ( end >= begin ) {
|
||||
do {
|
||||
pos = (begin + end)/2;
|
||||
curid = v[ pos ];
|
||||
|
||||
@ -374,25 +373,18 @@ ldap_int_bisect_find( ber_int_t *v, ber_len_t n, ber_int_t id, int *idxp )
|
||||
end = pos - 1;
|
||||
|
||||
} else if ( id > curid ) {
|
||||
begin = pos + 1;
|
||||
begin = ++pos;
|
||||
|
||||
} else {
|
||||
/* already abandoned? */
|
||||
*idxp = pos;
|
||||
rc = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
} while ( end >= begin );
|
||||
|
||||
if ( rc == 0 ) {
|
||||
*idxp = pos + ( id > curid ? 1 : 0 );
|
||||
}
|
||||
*idxp = pos;
|
||||
}
|
||||
|
||||
} else {
|
||||
*idxp = 0;
|
||||
}
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user