X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Futil.c;h=872f6f737192c827212f45a1aed2fa3c1c12b167;hb=9f26c90cb50c45d4549c4dd569917b4ac143b94d;hp=f94abbcc02502f442efd6699d934231a3fca1cf9;hpb=66e35261ef51119189486e9a31e7b97e8e18e255;p=elogind.git diff --git a/src/shared/util.c b/src/shared/util.c index f94abbcc0..872f6f737 100644 --- a/src/shared/util.c +++ b/src/shared/util.c @@ -5553,7 +5553,6 @@ int on_ac_power(void) { for (;;) { struct dirent *de; union dirent_storage buf; - _cleanup_free_ char *p = NULL; _cleanup_close_ int fd = -1, device = -1; char contents[6]; ssize_t n; @@ -5797,3 +5796,22 @@ char *strextend(char **x, ...) { return r + l; } + +char *strrep(const char *s, unsigned n) { + size_t l; + char *r, *p; + unsigned i; + + assert(s); + + l = strlen(s); + p = r = malloc(l * n + 1); + if (!r) + return NULL; + + for (i = 0; i < n; i++) + p = stpcpy(p, s); + + *p = 0; + return r; +}