On Thu, Jul 09, 2020 at 12:15:57PM +0200, mwilck@xxxxxxxx wrote: > From: Martin Wilck <mwilck@xxxxxxxx> > > Also remove the redundant local variables. It's not necessary to > make "restrict" work, but it makes the intention more clear. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > libmultipath/util.c | 28 ++++++++++++---------------- > libmultipath/util.h | 4 ++-- > 2 files changed, 14 insertions(+), 18 deletions(-) > > diff --git a/libmultipath/util.c b/libmultipath/util.c > index 957fb97..f965094 100644 > --- a/libmultipath/util.c > +++ b/libmultipath/util.c > @@ -113,46 +113,42 @@ get_word (const char *sentence, char **word) > return skip + len; > } > > -size_t strlcpy(char *dst, const char *src, size_t size) > +size_t strlcpy(char * restrict dst, const char * restrict src, size_t size) > { > size_t bytes = 0; > - char *q = dst; > - const char *p = src; > char ch; > > - while ((ch = *p++)) { > - if (bytes+1 < size) > - *q++ = ch; > + while ((ch = *src++)) { > + if (bytes + 1 < size) > + *dst++ = ch; > bytes++; > } > > /* If size == 0 there is no space for a final null... */ > if (size) > - *q = '\0'; > + *dst = '\0'; > return bytes; > } > > -size_t strlcat(char *dst, const char *src, size_t size) > +size_t strlcat(char * restrict dst, const char * restrict src, size_t size) > { > size_t bytes = 0; > - char *q = dst; > - const char *p = src; > char ch; > > - while (bytes < size && *q) { > - q++; > + while (bytes < size && *dst) { > + dst++; > bytes++; > } > if (bytes == size) this should return the strlen(dst) + strlen(src). It wouldn't in the admittedly weird case where size isn't large enough to fit dst. > return (bytes + strlen(src)); > > - while ((ch = *p++)) { > - if (bytes+1 < size) > - *q++ = ch; > + while ((ch = *src++)) { > + if (bytes + 1 < size) > + *dst++ = ch; > bytes++; > } > > - *q = '\0'; > + *dst = '\0'; > return bytes; > } > > diff --git a/libmultipath/util.h b/libmultipath/util.h > index ae18d8b..7e29b26 100644 > --- a/libmultipath/util.h > +++ b/libmultipath/util.h > @@ -15,8 +15,8 @@ int basenamecpy (const char *src, char *dst, size_t size); > int filepresent (const char *run); > char *get_next_string(char **temp, const char *split_char); > int get_word (const char * sentence, char ** word); > -size_t strlcpy(char *dst, const char *src, size_t size); > -size_t strlcat(char *dst, const char *src, size_t size); > +size_t strlcpy(char * restrict dst, const char * restrict src, size_t size); > +size_t strlcat(char * restrict dst, const char * restrict src, size_t size); > int devt2devname (char *, int, const char *); > dev_t parse_devt(const char *dev_t); > char *convert_dev(char *dev, int is_path_device); > -- > 2.26.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel