From 6282c859bdc6463cb25734dcfd3cf8628d951088 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Tue, 5 Mar 2013 15:52:44 +0100 Subject: [PATCH] util, manager: and mempset() and use it Just like mempcpy() is almost identical to memcpy() except the useful return value, so is the relation of mempset() to memset(). --- src/core/manager.c | 12 ++++-------- src/shared/util.h | 5 +++++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/core/manager.c b/src/core/manager.c index a3eeb4afc..8e66732cd 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -226,10 +226,8 @@ static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned po assert(pos <= width+1); /* 0 or width+1 mean that the center light is behind the corner */ if (pos > 1) { - if (pos > 2) { - memset(p, ' ', pos-2); - p += pos-2; - } + if (pos > 2) + p = mempset(p, ' ', pos-2); p = stpcpy(p, ANSI_RED_ON); *p++ = '*'; } @@ -244,10 +242,8 @@ static void draw_cylon(char buffer[], size_t buflen, unsigned width, unsigned po if (pos < width) { p = stpcpy(p, ANSI_RED_ON); *p++ = '*'; - if (pos < width-1) { - memset(p, ' ', width-1-pos); - p += width-1-pos; - } + if (pos < width-1) + p = mempset(p, ' ', width-1-pos); p = stpcpy(p, ANSI_HIGHLIGHT_OFF); } } diff --git a/src/shared/util.h b/src/shared/util.h index 04c9fcd71..f0dfe19ad 100644 --- a/src/shared/util.h +++ b/src/shared/util.h @@ -594,3 +594,8 @@ int search_and_fopen_nulstr(const char *path, const char *mode, const char *sear } else if (ignore_file((de)->d_name)) \ continue; \ else + +static inline void *mempset(void *s, int c, size_t n) { + memset(s, c, n); + return (char*)s + n; +} -- 2.30.2