From b527294153be3b79563c82c66102adc0004736c0 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 15 Apr 2024 19:54:12 +0200 Subject: Adding upstream version 2.6.7+dfsg. Signed-off-by: Daniel Baumann --- servers/lloadd/value.c | 67 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 servers/lloadd/value.c (limited to 'servers/lloadd/value.c') diff --git a/servers/lloadd/value.c b/servers/lloadd/value.c new file mode 100644 index 0000000..ec71444 --- /dev/null +++ b/servers/lloadd/value.c @@ -0,0 +1,67 @@ +/* value.c - routines for dealing with values */ +/* $OpenLDAP$ */ +/* This work is part of OpenLDAP Software . + * + * Copyright 1998-2022 The OpenLDAP Foundation. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . + */ +/* + * Copyright (c) 1995 Regents of the University of Michigan. + * All rights reserved. + * + * Redistribution and use in source and binary forms are permitted + * provided that this notice is preserved and that due credit is given + * to the University of Michigan at Ann Arbor. The name of the University + * may not be used to endorse or promote products derived from this + * software without specific prior written permission. This software + * is provided ``as is'' without express or implied warranty. + */ + +#include "portable.h" + +#include "lload.h" + +int +value_add_one( BerVarray *vals, struct berval *addval ) +{ + int n; + BerVarray v2; + + if ( *vals == NULL ) { + *vals = (BerVarray)SLAP_MALLOC( 2 * sizeof(struct berval) ); + if ( *vals == NULL ) { + Debug( LDAP_DEBUG_TRACE, "value_add_one: " + "SLAP_MALLOC failed.\n" ); + return LBER_ERROR_MEMORY; + } + n = 0; + + } else { + for ( n = 0; !BER_BVISNULL( &(*vals)[n] ); n++ ) { + ; /* Empty */ + } + *vals = (BerVarray)SLAP_REALLOC( + (char *)*vals, ( n + 2 ) * sizeof(struct berval) ); + if ( *vals == NULL ) { + Debug( LDAP_DEBUG_TRACE, "value_add_one: " + "SLAP_MALLOC failed.\n" ); + return LBER_ERROR_MEMORY; + } + } + + v2 = &(*vals)[n]; + ber_dupbv( v2, addval ); + + v2++; + BER_BVZERO( v2 ); + + return LDAP_SUCCESS; +} -- cgit v1.2.3