+ if ( i != -1 ) {
+ int pos = i;
+
+ old_abandon = ld->ld_abandoned;
+
+ ld->ld_abandoned = (ber_int_t *) LDAP_REALLOC( (char *)ld->ld_abandoned,
+ ( ld->ld_nabandoned + 1 ) * sizeof( ber_int_t ) );
+
+ if ( ld->ld_abandoned == NULL ) {
+ ld->ld_abandoned = old_abandon;
+ ld->ld_errno = LDAP_NO_MEMORY;
+ goto done;
+ }
+
+ for ( i = ld->ld_nabandoned; i > pos; i-- ) {
+ ld->ld_abandoned[ i ] = ld->ld_abandoned[ i - 1 ];
+ }
+ ld->ld_abandoned[ pos ] = msgid;
+ ++ld->ld_nabandoned;
+ }