]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/value.c
Modified for use with libtool's ltdl instead of gmodule
[openldap] / servers / slapd / value.c
index bb6b7e620b62c13648992eaa592e1af27dd349cc..c5564935984c3f9804b92bb37bf6964a09ee6600 100644 (file)
@@ -1,4 +1,8 @@
 /* value.c - routines for dealing with values */
+/*
+ * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
 
 #include "portable.h"
 
@@ -98,7 +102,7 @@ value_normalize(
                if ( (syntax & SYNTAX_TEL) && (*s == ' ' || *s == '-') ) {
                        continue;
                }
-               *d++ = TOUPPER( *s );
+               *d++ = TOUPPER( (unsigned char) *s );
        }
        *d = '\0';
 }
@@ -112,7 +116,6 @@ value_cmp(
 )
 {
        int             rc;
-       struct stat     st1, st2;
 
        if ( normalize & 1 ) {
                v1 = ber_bvdup( v1 );
@@ -135,8 +138,9 @@ value_cmp(
                break;
 
        case SYNTAX_BIN:
-               rc = ( v1->bv_len == v2->bv_len ) ? memcmp( v1->bv_val, 
-                   v2->bv_val, v1->bv_len ) : v1->bv_len - v2->bv_len ;
+               rc = (v1->bv_len == v2->bv_len
+                     ? memcmp( v1->bv_val, v2->bv_val, v1->bv_len )
+                     : v1->bv_len > v2->bv_len ? 1 : -1);
                break;
        }