From: Martin Willi Date: Fri, 3 Jul 2009 14:30:08 +0000 (+0200) Subject: simplified identification_t.clone() using memcpy X-Git-Tag: 4.3.3~88 X-Git-Url: https://git.strongswan.org/?p=strongswan.git;a=commitdiff_plain;h=2147da40a5d79ca7921c028d38fe9503feb42bfb;hp=6bdd79d86c2a53587437f8b3d2f25578e0cec290 simplified identification_t.clone() using memcpy --- 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; }