From fa87ef6cd3020bd6159ef8f7ffaf2b6606bac8c8 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Sun, 2 Jan 2022 00:28:46 +0100 Subject: [PATCH] glib-aux: add nm_strstrip_dup() helper --- src/libnm-glib-aux/nm-macros-internal.h | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/libnm-glib-aux/nm-macros-internal.h b/src/libnm-glib-aux/nm-macros-internal.h index 0950f3ae85..14c160204b 100644 --- a/src/libnm-glib-aux/nm-macros-internal.h +++ b/src/libnm-glib-aux/nm-macros-internal.h @@ -1057,6 +1057,27 @@ nm_strstrip(char *str) return str ? g_strstrip(str) : NULL; } +static inline char * +nm_strstrip_dup(const char *str) +{ + gsize l; + char *s; + + if (!str) + return NULL; + + str = nm_str_skip_leading_spaces(str); + l = strlen(str); + + while (l > 0 && g_ascii_isspace(str[l - 1])) + l--; + + s = g_new(char, l + 1); + memcpy(s, str, l); + s[l] = '\0'; + return s; +} + static inline const char * nm_strstrip_avoid_copy(const char *str, char **str_free) {