]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/value.c
trace illegal condition in backsql_strfcat
[openldap] / servers / slapd / value.c
index 002a105ab36aad5cd4c7ede354cecb4992ec15e8..3aa2adfa5000173347769adde26816223823de85 100644 (file)
@@ -53,6 +53,36 @@ value_add(
        return LDAP_SUCCESS;
 }
 
+int
+value_add_one( 
+    BerVarray *vals,
+    struct berval *addval
+)
+{
+       int     n;
+       BerVarray v2;
+
+       if ( *vals == NULL ) {
+               *vals = (BerVarray) ch_malloc( 2 * sizeof(struct berval) );
+               n = 0;
+       } else {
+               for ( n = 0; (*vals)[n].bv_val != NULL; n++ ) {
+                       ;       /* Empty */
+               }
+               *vals = (BerVarray) ch_realloc( (char *) *vals,
+                   (n + 2) * sizeof(struct berval) );
+       }
+
+       v2 = *vals + n;
+       ber_dupbv(v2, addval);
+
+       v2++;
+       v2->bv_val = NULL;
+       v2->bv_len = 0;
+
+       return LDAP_SUCCESS;
+}
+
 int
 value_validate(
        MatchingRule *mr,