- while ( ber_scanf( op->o_ber, "o", &an.an_name ) != LBER_ERROR) {
- anew = ch_malloc(sizeof(AttributeName));
- anew->an_next = NULL;
- anew->an_name = an.an_name;
- anew->an_desc = NULL;
- slap_bv2ad( &anew->an_name, &anew->an_desc, &text );
- if (!al) {
- al = anew;
- } else {
- alast->an_next = anew;
- }
- alast = anew;
- }
- if ( ber_scanf( op->o_ber, /*{{*/ "}}" ) == LBER_ERROR ) {
- send_ldap_disconnect( conn, op,
- LDAP_PROTOCOL_ERROR, "decoding attrs error" );
- rc = SLAPD_DISCONNECT;
- goto return_results;
+ for ( i=0; i<siz; i++ ) {
+ an[i].an_desc = NULL;
+ an[i].an_oc = NULL;
+ slap_bv2ad(&an[i].an_name, &an[i].an_desc, &text);