c5432960d9
Update to the head of the upstream staging branch * Previous patches 0001-0042 are included in the source tarball * Patches 0001-0032 are from the upstream staging branch Rename redhat patches * Previous patches 0043-0053 are now patches 0033-0043 Change back to using readline instead of libedit * The code the uses readline has been isolated from the code that is licensed gpl v2 only. Add libmpathutil libraries to spec file Add multipathc program to spec file Add multipath.conf systemd tempfile configuration to spec file Misc spec file cleanups
145 lines
3.6 KiB
Diff
145 lines
3.6 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Benjamin Marzinski <bmarzins@redhat.com>
|
|
Date: Wed, 9 Nov 2022 15:49:43 -0600
|
|
Subject: [PATCH] libmultipath: improve remove_feature() variable names
|
|
|
|
Use descriptive names, instead of single letters. No functional changes.
|
|
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
Reviewed-by: Martin Wilck <mwilck@suse.com>
|
|
---
|
|
libmultipath/structs.c | 80 +++++++++++++++++++++---------------------
|
|
1 file changed, 40 insertions(+), 40 deletions(-)
|
|
|
|
diff --git a/libmultipath/structs.c b/libmultipath/structs.c
|
|
index f90bd0b6..87e84d5d 100644
|
|
--- a/libmultipath/structs.c
|
|
+++ b/libmultipath/structs.c
|
|
@@ -668,86 +668,86 @@ int add_feature(char **features_p, const char *new_feat)
|
|
return 0;
|
|
}
|
|
|
|
-int remove_feature(char **f, const char *o)
|
|
+int remove_feature(char **features_p, const char *old_feat)
|
|
{
|
|
- int c = 0, d;
|
|
- char *e, *p, *n;
|
|
- const char *q;
|
|
+ int count = 0, len;
|
|
+ char *feats_start, *ptr, *new;
|
|
|
|
- if (!f || !*f)
|
|
+ if (!features_p || !*features_p)
|
|
return 1;
|
|
|
|
/* Nothing to do */
|
|
- if (!o || *o == '\0')
|
|
+ if (!old_feat || *old_feat == '\0')
|
|
return 0;
|
|
|
|
- d = strlen(o);
|
|
- if (isspace(*o) || isspace(*(o + d - 1))) {
|
|
- condlog(0, "internal error: feature \"%s\" has leading or trailing spaces", o);
|
|
+ len = strlen(old_feat);
|
|
+ if (isspace(*old_feat) || isspace(*(old_feat + len - 1))) {
|
|
+ condlog(0, "internal error: feature \"%s\" has leading or trailing spaces",
|
|
+ old_feat);
|
|
return 1;
|
|
}
|
|
|
|
/* Check if present and not part of a larger feature token*/
|
|
- p = *f + 1; /* the size must be at the start of the features string */
|
|
- while ((p = strstr(p, o)) != NULL) {
|
|
- if (isspace(*(p - 1)) &&
|
|
- (isspace(*(p + d)) || *(p + d) == '\0'))
|
|
+ ptr = *features_p + 1;
|
|
+ while ((ptr = strstr(ptr, old_feat)) != NULL) {
|
|
+ if (isspace(*(ptr - 1)) &&
|
|
+ (isspace(*(ptr + len)) || *(ptr + len) == '\0'))
|
|
break;
|
|
- p += d;
|
|
+ ptr += len;
|
|
}
|
|
- if (!p)
|
|
+ if (!ptr)
|
|
return 0;
|
|
|
|
/* Get feature count */
|
|
- c = strtoul(*f, &e, 10);
|
|
- if (*f == e || !isspace(*e)) {
|
|
- condlog(0, "parse error in feature string \"%s\"", *f);
|
|
+ count = strtoul(*features_p, &feats_start, 10);
|
|
+ if (*features_p == feats_start || !isspace(*feats_start)) {
|
|
+ condlog(0, "parse error in feature string \"%s\"", *features_p);
|
|
return 1;
|
|
}
|
|
|
|
/* Update feature count */
|
|
- c--;
|
|
- q = o;
|
|
- while (*q != '\0') {
|
|
- if (isspace(*q) && !isspace(*(q + 1)) && *(q + 1) != '\0')
|
|
- c--;
|
|
- q++;
|
|
+ count--;
|
|
+ while (*old_feat != '\0') {
|
|
+ if (isspace(*old_feat) && !isspace(*(old_feat + 1)) &&
|
|
+ *(old_feat + 1) != '\0')
|
|
+ count--;
|
|
+ old_feat++;
|
|
}
|
|
|
|
/* Quick exit if all features have been removed */
|
|
- if (c == 0) {
|
|
- n = malloc(2);
|
|
- if (!n)
|
|
+ if (count == 0) {
|
|
+ new = malloc(2);
|
|
+ if (!new)
|
|
return 1;
|
|
- strcpy(n, "0");
|
|
+ strcpy(new, "0");
|
|
goto out;
|
|
}
|
|
|
|
/* Update feature count space */
|
|
- n = malloc(strlen(*f) - d + 1);
|
|
- if (!n)
|
|
+ new = malloc(strlen(*features_p) - len + 1);
|
|
+ if (!new)
|
|
return 1;
|
|
|
|
/* Copy the feature count */
|
|
- sprintf(n, "%0d", c);
|
|
+ sprintf(new, "%0d", count);
|
|
/*
|
|
* Copy existing features up to the feature
|
|
* about to be removed
|
|
*/
|
|
- strncat(n, e, (size_t)(p - e));
|
|
+ strncat(new, feats_start, (size_t)(ptr - feats_start));
|
|
/* Skip feature to be removed */
|
|
- p += d;
|
|
+ ptr += len;
|
|
/* Copy remaining features */
|
|
- while (isspace(*p))
|
|
- p++;
|
|
- if (*p != '\0')
|
|
- strcat(n, p);
|
|
+ while (isspace(*ptr))
|
|
+ ptr++;
|
|
+ if (*ptr != '\0')
|
|
+ strcat(new, ptr);
|
|
else
|
|
- strchop(n);
|
|
+ strchop(new);
|
|
|
|
out:
|
|
- free(*f);
|
|
- *f = n;
|
|
+ free(*features_p);
|
|
+ *features_p = new;
|
|
|
|
return 0;
|
|
}
|