Diff for /libraries/liblber/decode.c between versions 1.77 and 1.78

version 1.77, 2002/01/04 20:17:36 version 1.78, 2002/01/06 01:23:36
Line 1 Line 1
 /* decode.c - ber input decoding routines */  /* decode.c - ber input decoding routines */
 /* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.76 2002/01/03 19:04:31 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.77 2002/01/04 20:17:36 kurt Exp $ */
 /*  /*
  * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 44  ber_get_tag( BerElement *ber ) Line 44  ber_get_tag( BerElement *ber )
         assert( ber != NULL );          assert( ber != NULL );
         assert( LBER_VALID( ber ) );          assert( LBER_VALID( ber ) );
   
         if ( ber_read( ber, (char *) &xbyte, 1 ) != 1 ) {          if ( ber_pvt_ber_remaining( ber ) < 1 ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
   
           if ( ber->ber_ptr == ber->ber_buf )
                   xbyte = *ber->ber_ptr;
           else
                   xbyte = ber->ber_tag;
           ber->ber_ptr++;
   
         tag = xbyte;          tag = xbyte;
   
         if ( (xbyte & LBER_BIG_TAG_MASK) != LBER_BIG_TAG_MASK ) {          if ( (xbyte & LBER_BIG_TAG_MASK) != LBER_BIG_TAG_MASK ) {
Line 146  ber_skip_tag( BerElement *ber, ber_len_t Line 152  ber_skip_tag( BerElement *ber, ber_len_t
         if( *len > (ber_len_t) ber_pvt_ber_remaining( ber ) ) {          if( *len > (ber_len_t) ber_pvt_ber_remaining( ber ) ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
           ber->ber_tag = *ber->ber_ptr;
   
         return tag;          return tag;
 }  }
Line 161  ber_peek_tag( Line 168  ber_peek_tag(
          */           */
   
         char *save;          char *save;
         ber_tag_t       tag;          ber_tag_t       tag, old;
   
           old = ber->ber_tag;
         save = ber->ber_ptr;          save = ber->ber_ptr;
         tag = ber_skip_tag( ber, len );          tag = ber_skip_tag( ber, len );
         ber->ber_ptr = save;          ber->ber_ptr = save;
           ber->ber_tag = old;
   
         return tag;          return tag;
 }  }
Line 213  ber_getnint( Line 222  ber_getnint(
         } else {          } else {
                 *num = 0;                  *num = 0;
         }          }
           ber->ber_tag = *ber->ber_ptr;
   
         return len;          return len;
 }  }
Line 271  ber_get_stringb( Line 281  ber_get_stringb(
         if ( (ber_len_t) ber_read( ber, buf, datalen ) != datalen ) {          if ( (ber_len_t) ber_read( ber, buf, datalen ) != datalen ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
           ber->ber_tag = *ber->ber_ptr;
   
         buf[datalen] = '\0';          buf[datalen] = '\0';
   
Line 423  ber_get_stringbv( BerElement *ber, struc Line 434  ber_get_stringbv( BerElement *ber, struc
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
         bv->bv_val[bv->bv_len] = '\0';          bv->bv_val[bv->bv_len] = '\0';
           ber->ber_tag = *ber->ber_ptr;
   
         return tag;          return tag;
 }  }
Line 499  ber_get_bitstringa( Line 511  ber_get_bitstringa(
                 *buf = NULL;                  *buf = NULL;
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
           ber->ber_tag = *ber->ber_ptr;
   
         *blen = datalen * 8 - unusedbits;          *blen = datalen * 8 - unusedbits;
         return tag;          return tag;
Line 520  ber_get_null( BerElement *ber ) Line 533  ber_get_null( BerElement *ber )
         if ( len != 0 ) {          if ( len != 0 ) {
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
           ber->ber_tag = *ber->ber_ptr;
   
         return( tag );          return( tag );
 }  }
Line 558  ber_first_element( Line 572  ber_first_element(
                 *last = NULL;                  *last = NULL;
                 return LBER_DEFAULT;                  return LBER_DEFAULT;
         }          }
           ber->ber_tag = *ber->ber_ptr;
   
         *last = ber->ber_ptr + *len;          *last = ber->ber_ptr + *len;
   
Line 743  ber_scanf ( BerElement *ber, Line 758  ber_scanf ( BerElement *ber,
                         if ( (rc = ber_skip_tag( ber, &len )) == LBER_DEFAULT )                          if ( (rc = ber_skip_tag( ber, &len )) == LBER_DEFAULT )
                                 break;                                  break;
                         ber->ber_ptr += len;                          ber->ber_ptr += len;
                           ber->ber_tag = *ber->ber_ptr;
                         break;                          break;
   
                 case '{':       /* begin sequence */                  case '{':       /* begin sequence */

Removed from v.1.77  
changed lines
  Added in v.1.78


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