Diff for /libraries/liblber/encode.c between versions 1.14 and 1.15

version 1.14, 1999/03/03 14:57:57 version 1.15, 1999/05/18 23:12:36
Line 103  ber_put_len( BerElement *ber, unsigned l Line 103  ber_put_len( BerElement *ber, unsigned l
         long            mask;          long            mask;
         unsigned long   netlen;          unsigned long   netlen;
   
           assert( ber != NULL );
   
         /*          /*
          * short len if it's less than 128 - one byte giving the len,           * short len if it's less than 128 - one byte giving the len,
          * with bit 8 0.           * with bit 8 0.
Line 151  ber_put_int_or_enum( BerElement *ber, lo Line 153  ber_put_int_or_enum( BerElement *ber, lo
         int     len, lenlen;          int     len, lenlen;
         long    netnum, mask;          long    netnum, mask;
   
           assert( ber != NULL );
   
         sign = (num < 0);          sign = (num < 0);
   
         /*          /*
Line 199  ber_put_int_or_enum( BerElement *ber, lo Line 203  ber_put_int_or_enum( BerElement *ber, lo
 int  int
 ber_put_enum( BerElement *ber, long num, unsigned long tag )  ber_put_enum( BerElement *ber, long num, unsigned long tag )
 {  {
           assert( ber != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_ENUMERATED;                  tag = LBER_ENUMERATED;
   
Line 208  ber_put_enum( BerElement *ber, long num, Line 214  ber_put_enum( BerElement *ber, long num,
 int  int
 ber_put_int( BerElement *ber, long num, unsigned long tag )  ber_put_int( BerElement *ber, long num, unsigned long tag )
 {  {
           assert( ber != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_INTEGER;                  tag = LBER_INTEGER;
   
Line 215  ber_put_int( BerElement *ber, long num, Line 223  ber_put_int( BerElement *ber, long num,
 }  }
   
 int  int
 ber_put_ostring( BerElement *ber, char *str, unsigned long len,  ber_put_ostring(
           BerElement *ber,
           LDAP_CONST char *str,
           unsigned long len,
         unsigned long tag )          unsigned long tag )
 {  {
         int     taglen, lenlen, rc;          int     taglen, lenlen, rc;
Line 223  ber_put_ostring( BerElement *ber, char * Line 234  ber_put_ostring( BerElement *ber, char *
         int     free_str;          int     free_str;
 #endif /* STR_TRANSLATION */  #endif /* STR_TRANSLATION */
   
           assert( ber != NULL );
           assert( str != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_OCTETSTRING;                  tag = LBER_OCTETSTRING;
   
Line 258  ber_put_ostring( BerElement *ber, char * Line 272  ber_put_ostring( BerElement *ber, char *
   
         return( rc );          return( rc );
 }  }
   int
   ber_put_berval(
           BerElement *ber,
           LDAP_CONST struct berval *bv,
           unsigned long tag )
   {
           assert( ber != NULL );
           assert( bv != NULL );
   
           if( bv == NULL ) {
                   return -1;
           }
   
           return ber_put_ostring( ber, bv->bv_val, bv->bv_len, tag );
   }
   
 int  int
 ber_put_string( BerElement *ber, char *str, unsigned long tag )  ber_put_string(
           BerElement *ber,
           LDAP_CONST char *str,
           unsigned long tag )
 {  {
           assert( ber != NULL );
           assert( str != NULL );
   
         return( ber_put_ostring( ber, str, strlen( str ), tag ));          return( ber_put_ostring( ber, str, strlen( str ), tag ));
 }  }
   
 int  int
 ber_put_bitstring( BerElement *ber, char *str,  ber_put_bitstring(
         unsigned long blen /* in bits */, unsigned long tag )          BerElement *ber,
           LDAP_CONST char *str,
           unsigned long blen /* in bits */,
           unsigned long tag )
 {  {
         int             taglen, lenlen, len;          int             taglen, lenlen, len;
         unsigned char   unusedbits;          unsigned char   unusedbits;
   
           assert( ber != NULL );
           assert( str != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_BITSTRING;                  tag = LBER_BITSTRING;
   
Line 317  ber_put_boolean( BerElement *ber, int bo Line 358  ber_put_boolean( BerElement *ber, int bo
         unsigned char   trueval = 0xff;          unsigned char   trueval = 0xff;
         unsigned char   falseval = 0x00;          unsigned char   falseval = 0x00;
   
           assert( ber != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_BOOLEAN;                  tag = LBER_BOOLEAN;
   
Line 340  ber_start_seqorset( BerElement *ber, uns Line 383  ber_start_seqorset( BerElement *ber, uns
 {  {
         Seqorset        *new;          Seqorset        *new;
   
           assert( ber != NULL );
   
         if ( (new = (Seqorset *) calloc( sizeof(Seqorset), 1 ))          if ( (new = (Seqorset *) calloc( sizeof(Seqorset), 1 ))
             == NULLSEQORSET )              == NULLSEQORSET )
                 return( -1 );                  return( -1 );
Line 362  ber_start_seqorset( BerElement *ber, uns Line 407  ber_start_seqorset( BerElement *ber, uns
 int  int
 ber_start_seq( BerElement *ber, unsigned long tag )  ber_start_seq( BerElement *ber, unsigned long tag )
 {  {
           assert( ber != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_SEQUENCE;                  tag = LBER_SEQUENCE;
   
Line 371  ber_start_seq( BerElement *ber, unsigned Line 418  ber_start_seq( BerElement *ber, unsigned
 int  int
 ber_start_set( BerElement *ber, unsigned long tag )  ber_start_set( BerElement *ber, unsigned long tag )
 {  {
           assert( ber != NULL );
   
         if ( tag == LBER_DEFAULT )          if ( tag == LBER_DEFAULT )
                 tag = LBER_SET;                  tag = LBER_SET;
   
Line 386  ber_put_seqorset( BerElement *ber ) Line 435  ber_put_seqorset( BerElement *ber )
         Seqorset        *next;          Seqorset        *next;
         Seqorset        **sos = &ber->ber_sos;          Seqorset        **sos = &ber->ber_sos;
   
           assert( ber != NULL );
   
         /*          /*
          * If this is the toplevel sequence or set, we need to actually           * If this is the toplevel sequence or set, we need to actually
          * write the stuff out.  Otherwise, it's already been put in           * write the stuff out.  Otherwise, it's already been put in
Line 496  ber_put_seqorset( BerElement *ber ) Line 547  ber_put_seqorset( BerElement *ber )
 int  int
 ber_put_seq( BerElement *ber )  ber_put_seq( BerElement *ber )
 {  {
           assert( ber != NULL );
         return( ber_put_seqorset( ber ) );          return( ber_put_seqorset( ber ) );
 }  }
   
 int  int
 ber_put_set( BerElement *ber )  ber_put_set( BerElement *ber )
 {  {
           assert( ber != NULL );
         return( ber_put_seqorset( ber ) );          return( ber_put_seqorset( ber ) );
 }  }
   
Line 509  ber_put_set( BerElement *ber ) Line 562  ber_put_set( BerElement *ber )
 int  int
 ber_printf  ber_printf
 #ifdef HAVE_STDARG  #ifdef HAVE_STDARG
         ( BerElement *ber, char *fmt, ... )          ( BerElement *ber,
           LDAP_CONST char *fmt,
           ... )
 #else  #else
         ( va_alist )          ( va_alist )
 va_dcl  va_dcl
Line 521  va_dcl Line 576  va_dcl
         char            *fmt;          char            *fmt;
 #endif  #endif
         char            *s, **ss;          char            *s, **ss;
         struct berval   **bv;          struct berval   *bv, **bvp;
         int             rc, i;          int             rc, i;
         unsigned long   len;          unsigned long   len;
   
Line 533  va_dcl Line 588  va_dcl
         fmt = va_arg( ap, char * );          fmt = va_arg( ap, char * );
 #endif  #endif
   
           assert( ber != NULL );
           assert( fmt != NULL );
   
         for ( rc = 0; *fmt && rc != -1; fmt++ ) {          for ( rc = 0; *fmt && rc != -1; fmt++ ) {
                 switch ( *fmt ) {                  switch ( *fmt ) {
                   case '!': { /* hook */
                                   BEREncodeCallback *f;
                                   void *p;
   
                                   f = va_arg( ap, BEREncodeCallback * );
                                   p = va_arg( ap, void * );
   
                                   rc = (*f)( ber, p );
                           } break;
   
                 case 'b':       /* boolean */                  case 'b':       /* boolean */
                         i = va_arg( ap, int );                          i = va_arg( ap, int );
                         rc = ber_put_boolean( ber, i, ber->ber_tag );                          rc = ber_put_boolean( ber, i, ber->ber_tag );
Line 560  va_dcl Line 628  va_dcl
                         rc = ber_put_ostring( ber, s, len, ber->ber_tag );                          rc = ber_put_ostring( ber, s, len, ber->ber_tag );
                         break;                          break;
   
                   case 'O':       /* berval octet string */
                           bv = va_arg( ap, struct berval * );
                           if( bv == NULL ) break;
                           rc = ber_put_berval( ber, bv, ber->ber_tag );
                           break;
   
                 case 's':       /* string */                  case 's':       /* string */
                         s = va_arg( ap, char * );                          s = va_arg( ap, char * );
                         rc = ber_put_string( ber, s, ber->ber_tag );                          rc = ber_put_string( ber, s, ber->ber_tag );
Line 587  va_dcl Line 661  va_dcl
                         break;                          break;
   
                 case 'V':       /* sequences of strings + lengths */                  case 'V':       /* sequences of strings + lengths */
                         if ( (bv = va_arg( ap, struct berval ** )) == NULL )                          if ( (bvp = va_arg( ap, struct berval ** )) == NULL )
                                 break;                                  break;
                         for ( i = 0; bv[i] != NULL; i++ ) {                          for ( i = 0; bvp[i] != NULL; i++ ) {
                                 if ( (rc = ber_put_ostring( ber, bv[i]->bv_val,                                  if ( (rc = ber_put_ostring( ber, bvp[i]->bv_val,
                                     bv[i]->bv_len, ber->ber_tag )) == -1 )                                      bvp[i]->bv_len, ber->ber_tag )) == -1 )
                                         break;                                          break;
                         }                          }
                         break;                          break;
Line 614  va_dcl Line 688  va_dcl
   
                 default:                  default:
                         if( ber->ber_debug ) {                          if( ber->ber_debug ) {
                                 lber_log_printf( LDAP_DEBUG_ANY, ber->ber_debug,                                  ber_log_printf( LDAP_DEBUG_ANY, ber->ber_debug,
                                         "ber_printf: unknown fmt %c\n", *fmt );                                          "ber_printf: unknown fmt %c\n", *fmt );
                         }                          }
                         rc = -1;                          rc = -1;

Removed from v.1.14  
changed lines
  Added in v.1.15


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