From: Martin Wilck <mwi...@suse.com>

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 <mwi...@suse.com>
---
 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)
                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@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to