From ed7abd0bbe8185f514bb4961e3af7ced9c2f1c20 Mon Sep 17 00:00:00 2001 From: Johan Danielsson Date: Thu, 1 Apr 1999 18:21:44 +0000 Subject: [PATCH] krb5_append_addresses git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5835 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/krb5/address.c | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/lib/krb5/address.c b/lib/krb5/address.c index 418061c71..7a496c041 100644 --- a/lib/krb5/address.c +++ b/lib/krb5/address.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997 Kungliga Tekniska Högskolan + * Copyright (c) 1997, 1999 Kungliga Tekniska Högskolan * (Royal Institute of Technology, Stockholm, Sweden). * All rights reserved. * @@ -122,3 +122,28 @@ krb5_free_addresses(krb5_context context, free_HostAddresses(addresses); return 0; } + +krb5_error_code +krb5_append_addresses(krb5_context context, + krb5_addresses *dest, + const krb5_addresses *source) +{ + krb5_address *tmp; + krb5_error_code ret; + int i; + if(source->len > 0) { + tmp = realloc(dest->val, (dest->len + source->len) * sizeof(*tmp)); + if(tmp == NULL) + return ENOMEM; + dest->val = tmp; + for(i = 0; i < source->len; i++) { + ret = krb5_copy_address(context, + &source->val[i], + &dest->val[dest->len]); + if(ret) + return ret; + dest->len++; + } + } + return 0; +}