From 70f48f1f44bf419aac77de8664816a17122c8b29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=B6ttsche?= Date: Tue, 5 Jan 2021 14:47:49 +0100 Subject: Add wrapper function for free and strdup Reduces code in callers and helps avoiding memory leaks. --- XUtils.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'XUtils.c') diff --git a/XUtils.c b/XUtils.c index fe2d8b9a..9ad8c224 100644 --- a/XUtils.c +++ b/XUtils.c @@ -239,6 +239,14 @@ char* xStrdup(const char* str) { return data; } +void free_and_xStrdup(char** ptr, const char* str) { + if (*ptr && String_eq(*ptr, str)) + return; + + free(*ptr); + *ptr = xStrdup(str); +} + char* xStrndup(const char* str, size_t len) { char* data = strndup(str, len); if (!data) { -- cgit v1.2.3