summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2021-04-22 15:06:48 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2021-04-23 23:00:55 +0200
commit8f85834a330c1b803c130d9f7a33633267fb8d5b (patch)
tree83a6849e913c7e281c3792802217291e04359369
parent25b672417e06265c4552184b4ae1f0853bd31732 (diff)
downloadlvm2-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.c14
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 */