Diff for /libraries/libldap/result.c between versions 1.31 and 1.32

version 1.31, 1999/06/03 17:22:33 version 1.32, 1999/06/10 16:00:04
Line 42  static int wait4msg LDAP_P(( LDAP *ld, i Line 42  static int wait4msg LDAP_P(( LDAP *ld, i
         LDAPMessage **result ));          LDAPMessage **result ));
 static int try_read1msg LDAP_P(( LDAP *ld, int msgid, int all, Sockbuf *sb, LDAPConn *lc,  static int try_read1msg LDAP_P(( LDAP *ld, int msgid, int all, Sockbuf *sb, LDAPConn *lc,
         LDAPMessage **result ));          LDAPMessage **result ));
 static unsigned long build_result_ber LDAP_P(( LDAP *ld, BerElement *ber, LDAPRequest *lr ));  static unsigned long build_result_ber LDAP_P(( LDAP *ld, BerElement **bp, LDAPRequest *lr ));
 static void merge_error_info LDAP_P(( LDAP *ld, LDAPRequest *parentr, LDAPRequest *lr ));  static void merge_error_info LDAP_P(( LDAP *ld, LDAPRequest *parentr, LDAPRequest *lr ));
   
   
Line 423  lr->lr_res_matched ? lr->lr_res_matched Line 423  lr->lr_res_matched ? lr->lr_res_matched
                                 if ( !simple_request ) {                                  if ( !simple_request ) {
                                         ber_free( ber, 1 );                                          ber_free( ber, 1 );
                                         ber = NULL;                                          ber = NULL;
                                         if ( build_result_ber( ld, ber, lr )                                          if ( build_result_ber( ld, &ber, lr )
                                             == LBER_ERROR ) {                                              == LBER_ERROR ) {
                                                 ld->ld_errno = LDAP_NO_MEMORY;  
                                                 rc = -1; /* fatal error */                                                  rc = -1; /* fatal error */
                                         }                                          }
                                 }                                  }
Line 535  lr->lr_res_matched ? lr->lr_res_matched Line 534  lr->lr_res_matched ? lr->lr_res_matched
   
   
 static unsigned long  static unsigned long
 build_result_ber( LDAP *ld, BerElement *ber, LDAPRequest *lr )  build_result_ber( LDAP *ld, BerElement **bp, LDAPRequest *lr )
 {  {
         unsigned long   len;          unsigned long   len, tag;
         long            along;          long            along;
           BerElement *ber;
   
           ber = *bp = ldap_alloc_ber_with_options( ld );
   
           if( ber == NULL ) {
                   return LBER_ERROR;
           }
   
         ber_init_w_nullc( ber, 0 );  
         ldap_set_ber_options( ld, ber );  
         if ( ber_printf( ber, "{it{ess}}", lr->lr_msgid,          if ( ber_printf( ber, "{it{ess}}", lr->lr_msgid,
             (unsigned long) lr->lr_res_msgtype, lr->lr_res_errno,              (unsigned long) lr->lr_res_msgtype, lr->lr_res_errno,
             lr->lr_res_matched ? lr->lr_res_matched : "",              lr->lr_res_matched ? lr->lr_res_matched : "",
             lr->lr_res_error ? lr->lr_res_error : "" ) == -1 ) {              lr->lr_res_error ? lr->lr_res_error : "" ) == -1 ) {
   
                   ld->ld_errno = LDAP_ENCODING_ERROR;
                 return( LBER_ERROR );                  return( LBER_ERROR );
         }          }
   
         ber_reset( ber, 1 );          ber_reset( ber, 1 );
   
         if ( ber_skip_tag( ber, &len ) == LBER_ERROR ) {          if ( ber_skip_tag( ber, &len ) == LBER_ERROR ) {
                   ld->ld_errno = LDAP_DECODING_ERROR;
                 return( LBER_ERROR );                  return( LBER_ERROR );
         }          }
   
         if ( ber_get_int( ber, &along ) == LBER_ERROR ) {          if ( ber_get_int( ber, &along ) == LBER_ERROR ) {
                   ld->ld_errno = LDAP_DECODING_ERROR;
                   return( LBER_ERROR );
           }
   
           tag = ber_peek_tag( ber, &len );
   
           if ( tag == LBER_ERROR ) {
                   ld->ld_errno = LDAP_DECODING_ERROR;
                 return( LBER_ERROR );                  return( LBER_ERROR );
         }          }
   
         return( ber_peek_tag( ber, &len ));          return tag;
 }  }
   
   

Removed from v.1.31  
changed lines
  Added in v.1.32


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org