diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2021-04-22 15:06:48 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2021-04-23 23:00:55 +0200 |
commit | 8f85834a330c1b803c130d9f7a33633267fb8d5b (patch) | |
tree | 83a6849e913c7e281c3792802217291e04359369 | |
parent | 25b672417e06265c4552184b4ae1f0853bd31732 (diff) | |
download | lvm2-8f85834a330c1b803c130d9f7a33633267fb8d5b.tar.gz |
cov: convert to code that analyzer may better understand
Switch to code that is problematic to analyzer
-rw-r--r-- | lib/device/dev-cache.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/device/dev-cache.c b/lib/device/dev-cache.c index dddf84e4d..d7fa93fd6 100644 --- a/lib/device/dev-cache.c +++ b/lib/device/dev-cache.c @@ -293,13 +293,13 @@ static int _compare_paths(const char *path0, const char *path1) /* We prefer symlinks - they exist for a reason! * So we prefer a shorter path before the first symlink in the name. * FIXME Configuration option to invert this? */ - while (s0) { - s0 = strchr(s0, '/'); - s1 = strchr(s1, '/'); - if (s0) { + while (s0 && s1) { + if ((s0 = strchr(s0, '/'))) *s0 = '\0'; + + if ((s1 = strchr(s1, '/'))) *s1 = '\0'; - } + if (lstat(p0, &stat0)) { log_sys_very_verbose("lstat", p0); return 1; @@ -312,10 +312,10 @@ static int _compare_paths(const char *path0, const char *path1) return 0; if (!S_ISLNK(stat0.st_mode) && S_ISLNK(stat1.st_mode)) return 1; - if (s0) { + if (s0) *s0++ = '/'; + if (s1) *s1++ = '/'; - } } /* ASCII comparison */ |