From: Zbigniew Jędrzejewski-Szmek Date: Thu, 11 Mar 2021 10:40:57 +0000 (+0100) Subject: basic/string-util: simplify how str_realloc() is used X-Git-Tag: v249-rc1~274^2~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=523e1b14a1d7af8e666a47bf980619d29128ca2b;p=thirdparty%2Fsystemd.git basic/string-util: simplify how str_realloc() is used All callers ignore failure anyway, so let's do that internally. --- diff --git a/src/basic/process-util.c b/src/basic/process-util.c index 7d4301eadb8..902265ac21e 100644 --- a/src/basic/process-util.c +++ b/src/basic/process-util.c @@ -179,7 +179,7 @@ int get_process_cmdline(pid_t pid, size_t max_columns, ProcessCmdlineFlags flags if (!ans) return -ENOMEM; - (void) str_realloc(&ans); + ans = str_realloc(ans); *line = TAKE_PTR(ans); return 0; } diff --git a/src/basic/string-util.h b/src/basic/string-util.h index 0dafe049ad1..1bc131f15b0 100644 --- a/src/basic/string-util.h +++ b/src/basic/string-util.h @@ -217,17 +217,13 @@ static inline void *memory_startswith_no_case(const void *p, size_t sz, const ch return (uint8_t*) p + n; } -static inline char* str_realloc(char **p) { - /* Reallocate *p to actual size */ +static inline char* str_realloc(char *p) { + /* Reallocate *p to actual size. Ignore failure, and return the original string on error. */ - if (!*p) + if (!p) return NULL; - char *t = realloc(*p, strlen(*p) + 1); - if (!t) - return NULL; - - return (*p = t); + return realloc(p, strlen(p) + 1) ?: p; } char* string_erase(char *x); diff --git a/src/basic/utf8.c b/src/basic/utf8.c index 46c3a463b95..244b8ade932 100644 --- a/src/basic/utf8.c +++ b/src/basic/utf8.c @@ -196,8 +196,7 @@ char *utf8_escape_invalid(const char *str) { } *s = '\0'; - (void) str_realloc(&p); - return p; + return str_realloc(p); } static int utf8_char_console_width(const char *str) { @@ -282,8 +281,7 @@ char *utf8_escape_non_printable_full(const char *str, size_t console_width) { finish: *s = '\0'; - (void) str_realloc(&p); - return p; + return str_realloc(p); } char *ascii_is_valid(const char *str) {