Diff for /libraries/liblber/decode.c between versions 1.101.2.5 and 1.105.2.1

version 1.101.2.5, 2007/08/27 10:11:31 version 1.105.2.1, 2007/02/13 20:22:10
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.101.2.4 2007/01/02 21:43:48 kurt Exp $ */  /* $OpenLDAP: pkg/ldap/libraries/liblber/decode.c,v 1.106 2007/01/02 19:00:57 kurt Exp $ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.  /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *   *
  * Copyright 1998-2007 The OpenLDAP Foundation.   * Copyright 1998-2007 The OpenLDAP Foundation.
Line 373  ber_get_stringbvl( bgbvr *b, ber_len_t * Line 373  ber_get_stringbvl( bgbvr *b, ber_len_t *
         case BvOff:          case BvOff:
                 *b->res.ba = ber_memalloc_x( (n+1) * b->siz, b->ber->ber_memctx );                  *b->res.ba = ber_memalloc_x( (n+1) * b->siz, b->ber->ber_memctx );
                 if ( *b->res.ba == NULL ) return LBER_DEFAULT;                  if ( *b->res.ba == NULL ) return LBER_DEFAULT;
                 ((struct berval *)((char *)(*b->res.ba) + n*b->siz +                  ((struct berval *)((long)(*b->res.ba) + n*b->siz +
                         b->off))->bv_val = NULL;                          b->off))->bv_val = NULL;
                 break;                  break;
         }          }
Line 406  ber_get_stringbvl( bgbvr *b, ber_len_t * Line 406  ber_get_stringbvl( bgbvr *b, ber_len_t *
                         *bvp = bv;                          *bvp = bv;
                         break;                          break;
                 case BvOff:                  case BvOff:
                         *(BerVarray)((char *)(*b->res.ba)+n*b->siz+b->off) = bv;                          *(BerVarray)((long)(*b->res.ba)+n*b->siz+b->off) = bv;
                         break;                          break;
                 }                  }
         }          }
Line 479  ber_get_stringbv( BerElement *ber, struc Line 479  ber_get_stringbv( BerElement *ber, struc
         return tag;          return tag;
 }  }
   
 #ifdef LDAP_NULL_IS_NULL  
 ber_tag_t  ber_tag_t
 ber_get_stringbv_null( BerElement *ber, struct berval *bv, int alloc )  ber_get_stringbv_null( BerElement *ber, struct berval *bv, int alloc )
 {  {
Line 528  ber_get_stringbv_null( BerElement *ber, Line 527  ber_get_stringbv_null( BerElement *ber,
   
         return tag;          return tag;
 }  }
 #endif /* LDAP_NULL_IS_NULL */  
   
 ber_tag_t  ber_tag_t
 ber_get_stringa( BerElement *ber, char **buf )  ber_get_stringa( BerElement *ber, char **buf )
Line 544  ber_get_stringa( BerElement *ber, char * Line 542  ber_get_stringa( BerElement *ber, char *
         return tag;          return tag;
 }  }
   
 #ifdef LDAP_NULL_IS_NULL  
 ber_tag_t  ber_tag_t
 ber_get_stringa_null( BerElement *ber, char **buf )  ber_get_stringa_null( BerElement *ber, char **buf )
 {  {
Line 558  ber_get_stringa_null( BerElement *ber, c Line 555  ber_get_stringa_null( BerElement *ber, c
   
         return tag;          return tag;
 }  }
 #endif /* LDAP_NULL_IS_NULL */  
   
 ber_tag_t  ber_tag_t
 ber_get_stringal( BerElement *ber, struct berval **bv )  ber_get_stringal( BerElement *ber, struct berval **bv )
Line 759  ber_scanf ( BerElement *ber, Line 755  ber_scanf ( BerElement *ber,
                         rc = ber_get_stringa( ber, ss );                          rc = ber_get_stringa( ber, ss );
                         break;                          break;
   
 #ifdef LDAP_NULL_IS_NULL  
                 case 'A':       /* octet string - allocate storage as needed,                  case 'A':       /* octet string - allocate storage as needed,
                                  * but return NULL if len == 0 */                                   * but return NULL if len == 0 */
                         ss = va_arg( ap, char ** );                          ss = va_arg( ap, char ** );
                         rc = ber_get_stringa_null( ber, ss );                          rc = ber_get_stringa_null( ber, ss );
                         break;                          break;
 #endif /* LDAP_NULL_IS_NULL */  
   
                 case 'b':       /* boolean */                  case 'b':       /* boolean */
                         i = va_arg( ap, ber_int_t * );                          i = va_arg( ap, ber_int_t * );
Line 920  ber_scanf ( BerElement *ber, Line 914  ber_scanf ( BerElement *ber,
                         } break;                          } break;
   
                 case 'a':       /* octet string - allocate storage as needed */                  case 'a':       /* octet string - allocate storage as needed */
 #ifdef LDAP_NULL_IS_NULL  
                 case 'A':                  case 'A':
 #endif /* LDAP_NULL_IS_NULL */  
                         ss = va_arg( ap, char ** );                          ss = va_arg( ap, char ** );
                         if ( *ss ) {                          if ( *ss ) {
                                 LBER_FREE( *ss );                                  LBER_FREE( *ss );

Removed from v.1.101.2.5  
changed lines
  Added in v.1.105.2.1


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