Diff for /servers/slapd/overlays/syncprov.c between versions 1.60 and 1.61

version 1.60, 2005/01/08 08:59:53 version 1.61, 2005/01/11 04:00:59
Line 1 Line 1
 /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.59 2005/01/01 19:49:58 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/overlays/syncprov.c,v 1.60 2005/01/08 08:59:53 ando Exp $ */
 /* syncprov.c - syncrepl provider */  /* syncprov.c - syncrepl provider */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
Line 525  findmax_cb( Operation *op, SlapReply *rs Line 525  findmax_cb( Operation *op, SlapReply *rs
                 Attribute *a = attr_find( rs->sr_entry->e_attrs,                  Attribute *a = attr_find( rs->sr_entry->e_attrs,
                         slap_schema.si_ad_entryCSN );                          slap_schema.si_ad_entryCSN );
   
                 if ( a && ber_bvcmp( &a->a_vals[0], maxcsn )) {                  if ( a && ber_bvcmp( &a->a_vals[0], maxcsn ) > 0 ) {
                         maxcsn->bv_len = a->a_vals[0].bv_len;                          maxcsn->bv_len = a->a_vals[0].bv_len;
                         strcpy( maxcsn->bv_val, a->a_vals[0].bv_val );                          strcpy( maxcsn->bv_val, a->a_vals[0].bv_val );
                 }                  }
Line 644  syncprov_findcsn( Operation *op, int mod Line 644  syncprov_findcsn( Operation *op, int mod
                 fop.ors_slimit = SLAP_NO_LIMIT;                  fop.ors_slimit = SLAP_NO_LIMIT;
                 cb.sc_private = &maxcsn;                  cb.sc_private = &maxcsn;
                 cb.sc_response = findmax_cb;                  cb.sc_response = findmax_cb;
                   strcpy( cbuf, si->si_ctxcsn.bv_val );
                 maxcsn.bv_val = cbuf;                  maxcsn.bv_val = cbuf;
                 maxcsn.bv_len = 0;                  maxcsn.bv_len = si->si_ctxcsn.bv_len;
                 break;                  break;
         case FIND_CSN:          case FIND_CSN:
                 cf.f_choice = LDAP_FILTER_LE;                  cf.f_choice = LDAP_FILTER_LE;
Line 696  syncprov_findcsn( Operation *op, int mod Line 697  syncprov_findcsn( Operation *op, int mod
   
         switch( mode ) {          switch( mode ) {
         case FIND_MAXCSN:          case FIND_MAXCSN:
                 if ( maxcsn.bv_len ) {                  strcpy( si->si_ctxcsnbuf, maxcsn.bv_val );
                         strcpy( si->si_ctxcsnbuf, maxcsn.bv_val );                  si->si_ctxcsn.bv_len = maxcsn.bv_len;
                         si->si_ctxcsn.bv_len = maxcsn.bv_len;  
                 }  
                 break;                  break;
         case FIND_CSN:          case FIND_CSN:
                 /* If matching CSN was not found, invalidate the context. */                  /* If matching CSN was not found, invalidate the context. */

Removed from v.1.60  
changed lines
  Added in v.1.61


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