]> sourceware.org Git - lvm2.git/commitdiff
dev-cache: collapsing slashes counts string size
authorZdenek Kabelac <zkabelac@redhat.com>
Wed, 22 May 2024 09:17:09 +0000 (11:17 +0200)
committerZdenek Kabelac <zkabelac@redhat.com>
Mon, 27 May 2024 13:16:26 +0000 (15:16 +0200)
_collapse_slashes() already goes through the whole string,
so just return now already known string length.

lib/device/dev-cache.c

index 47d8daa239faaac226c68939b03a29c7f96473ee..93fe7284c67543c202f2f276f40dd57e1a1428f8 100644 (file)
@@ -854,8 +854,9 @@ static int _insert_dev(const char *path, dev_t d)
 /*
  * Get rid of extra slashes in the path string.
  */
-static void _collapse_slashes(char *str)
+static size_t _collapse_slashes(char *str)
 {
+       char *start = str;
        char *ptr;
        int was_slash = 0;
 
@@ -870,7 +871,9 @@ static void _collapse_slashes(char *str)
                *str++ = *ptr;
        }
 
-       *str = *ptr;
+       *str = 0;
+
+       return (str - start);
 }
 
 static int _insert_dir(const char *dir)
@@ -884,8 +887,8 @@ static int _insert_dir(const char *dir)
                log_debug_devs("Dir path %s is too long", path);
                return 0;
        }
-       _collapse_slashes(path);
-       len = strlen(path);
+
+       len = _collapse_slashes(path);
        if (len && path[len - 1] != '/')
                path[len++] = '/';
 
This page took 0.03745 seconds and 5 git commands to generate.