]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/value.c
Wrap db2 mutex with -DHAVE_BERKELEY_DB2 (should be hidden in -lldbm) ITS#35
[openldap] / servers / slapd / value.c
index 5be4338ed0050f52b6541189c2f15b3898946096..bb6b7e620b62c13648992eaa592e1af27dd349cc 100644 (file)
@@ -1,13 +1,16 @@
 /* value.c - routines for dealing with values */
 
 #include "portable.h"
+
 #include <stdio.h>
-#include <string.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/socket.h>
+
+#include <ac/ctype.h>
+#include <ac/socket.h>
+#include <ac/string.h>
+#include <ac/time.h>
+
 #include <sys/stat.h>
-#include "portable.h"
+
 #include "slap.h"
 
 int
@@ -100,8 +103,6 @@ value_normalize(
        *d = '\0';
 }
 
-#define MIN( a, b )    (a < b ? a : b )
-
 int
 value_cmp(
     struct berval      *v1,
@@ -134,53 +135,9 @@ value_cmp(
                break;
 
        case SYNTAX_BIN:
-               rc = memcmp( v1->bv_val, v2->bv_val, MIN( v1->bv_len,
-                   v2->bv_len ) );
-               break;
-       }
-
-       if ( normalize & 1 ) {
-               ber_bvfree( v1 );
-       }
-       if ( normalize & 2 ) {
-               ber_bvfree( v2 );
-       }
-
-       return( rc );
-}
-
-int
-value_ncmp(
-    struct berval      *v1,
-    struct berval      *v2,
-    int                        syntax,
-    int                        len,
-    int                        normalize
-)
-{
-       int     rc;
-
-       if ( normalize & 1 ) {
-               v1 = ber_bvdup( v1 );
-               value_normalize( v1->bv_val, syntax );
-       }
-       if ( normalize & 2 ) {
-               v2 = ber_bvdup( v2 );
-               value_normalize( v2->bv_val, syntax );
-       }
-
-       switch ( syntax ) {
-       case SYNTAX_CIS:
-       case (SYNTAX_CIS | SYNTAX_TEL):
-               rc = strncasecmp( v1->bv_val, v2->bv_val, len );
+               rc = ( v1->bv_len == v2->bv_len ) ? memcmp( v1->bv_val, 
+                   v2->bv_val, v1->bv_len ) : v1->bv_len - v2->bv_len ;
                break;
-
-       case SYNTAX_CES:
-               rc = strncmp( v1->bv_val, v2->bv_val, len );
-               break;
-
-       case SYNTAX_BIN:
-               rc = memcmp( v1->bv_val, v2->bv_val, len );
        }
 
        if ( normalize & 1 ) {