From 2147da40a5d79ca7921c028d38fe9503feb42bfb Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Fri, 3 Jul 2009 16:30:08 +0200 Subject: [PATCH 1/1] simplified identification_t.clone() using memcpy --- src/libstrongswan/utils/identification.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/libstrongswan/utils/identification.c b/src/libstrongswan/utils/identification.c index 72b1c6a..a257747 100644 --- a/src/libstrongswan/utils/identification.c +++ b/src/libstrongswan/utils/identification.c @@ -267,8 +267,6 @@ static enumerator_t* create_part_enumerator(private_identification_t *this) } } -static private_identification_t *identification_create(void); - /** * updates a chunk (!????) * TODO: We should reconsider this stuff, its not really clear @@ -1067,16 +1065,13 @@ int identification_printf_hook(char *dst, size_t len, printf_hook_spec_t *spec, */ static identification_t *clone_(private_identification_t *this) { - private_identification_t *clone = identification_create(); + private_identification_t *clone = malloc_thing(private_identification_t); - clone->type = this->type; + memcpy(clone, this, sizeof(private_identification_t)); if (this->encoded.len) { clone->encoded = chunk_clone(this->encoded); } - clone->public.equals = this->public.equals; - clone->public.matches = this->public.matches; - return &clone->public; } -- 2.7.4