diff options
Diffstat (limited to 'lib/tun-metadata.c')
-rw-r--r-- | lib/tun-metadata.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/tun-metadata.c b/lib/tun-metadata.c index c0d9180e0..f8a0e1952 100644 --- a/lib/tun-metadata.c +++ b/lib/tun-metadata.c @@ -924,3 +924,20 @@ tun_metadata_match_format(struct ds *s, const struct match *match) ds_put_char(s, ','); } } + +struct tun_metadata_allocation * +tun_metadata_allocation_clone(const struct tun_metadata_allocation *src) +{ + return src && src->valid ? xmemdup(src, sizeof *src) : NULL; +} + +void +tun_metadata_allocation_copy(struct tun_metadata_allocation *dst, + const struct tun_metadata_allocation *src) +{ + if (src && src->valid) { + *dst = *src; + } else { + memset(dst, 0, sizeof *dst); + } +} |