]> git.sur5r.net Git - openldap/commitdiff
Added ber_free_buf()
authorHoward Chu <hyc@openldap.org>
Mon, 31 Dec 2001 06:01:59 +0000 (06:01 +0000)
committerHoward Chu <hyc@openldap.org>
Mon, 31 Dec 2001 06:01:59 +0000 (06:01 +0000)
include/lber.h
libraries/liblber/io.c

index 7154544f8099656a3a71371650f915480be06adf..90e0dfb35109d10e00456dcb353b0e4fec16bfa5 100644 (file)
@@ -406,6 +406,9 @@ ber_free LDAP_P((
        BerElement *ber,
        int freebuf ));
 
+LBER_F( void )
+ber_free_buf LDAP_P(( BerElement *ber ));
+
 LBER_F( int )
 ber_flush LDAP_P((
        Sockbuf *sb,
index b54f828cdc88b93b4ffefd2fff060526280cc84e..d5de616da5726f7159179bb404ba41cacc8484d5 100644 (file)
@@ -181,31 +181,37 @@ ber_realloc( BerElement *ber, ber_len_t len )
 }
 
 void
-ber_free( BerElement *ber, int freebuf )
+ber_free_buf( BerElement *ber )
 {
-#ifdef LDAP_MEMORY_DEBUG
-       assert( ber != NULL );
-#endif
-
-       if( ber == NULL ) {
-               return;
-       }
+       Seqorset *s, *next;
 
        assert( LBER_VALID( ber ) );
 
-       if ( freebuf ) {
-               Seqorset *s, *next;
-               LBER_FREE( ber->ber_buf );
+       if ( ber->ber_buf) LBER_FREE( ber->ber_buf );
 
-               for( s = ber->ber_sos ; s != NULL ; s = next ) {
-                       next = s->sos_next;
-                       LBER_FREE( s );
-               }
+       for( s = ber->ber_sos ; s != NULL ; s = next ) {
+               next = s->sos_next;
+               LBER_FREE( s );
        }
 
        ber->ber_buf = NULL;
        ber->ber_sos = NULL;
        ber->ber_valid = LBER_UNINITIALIZED;
+}
+
+void
+ber_free( BerElement *ber, int freebuf )
+{
+#ifdef LDAP_MEMORY_DEBUG
+       assert( ber != NULL );
+#endif
+
+       if( ber == NULL ) {
+               return;
+       }
+
+       if( freebuf )
+               ber_free_buf( ber );
 
        LBER_FREE( (char *) ber );
 }