]> git.sur5r.net Git - openldap/blob - servers/slapd/ava.c
import localtime -> gmtime change from -devel
[openldap] / servers / slapd / ava.c
1 /* ava.c - routines for dealing with attribute value assertions */
2
3 #include "portable.h"
4
5 #include <stdio.h>
6 #include <string.h>
7 #include <sys/types.h>
8 #include <sys/socket.h>
9 #include "slap.h"
10
11 int
12 get_ava(
13     BerElement  *ber,
14     Ava         *ava
15 )
16 {
17         if ( ber_scanf( ber, "{ao}", &ava->ava_type, &ava->ava_value )
18             == LBER_ERROR ) {
19                 Debug( LDAP_DEBUG_ANY, "  get_ava ber_scanf\n", 0, 0, 0 );
20                 return( LDAP_PROTOCOL_ERROR );
21         }
22         attr_normalize( ava->ava_type );
23         value_normalize( ava->ava_value.bv_val, attr_syntax( ava->ava_type ) );
24
25         return( 0 );
26 }
27
28 void
29 ava_free(
30     Ava *ava,
31     int freeit
32 )
33 {
34         free( (char *) ava->ava_type );
35         free( (char *) ava->ava_value.bv_val );
36         if ( freeit ) {
37                 free( (char *) ava );
38         }
39 }
40