On 06/20/2017 01:46 PM, Martin Wilck wrote:
> Change the argument type for the feature to add or remove to
> const char*, making it possible to pass const strings without
> warnings.
>
> Signed-off-by: Martin Wilck
> ---
> libmultipath/structs.c | 30 --
> libmultipath/structs.h | 4 ++--
> 2 files changed, 18 insertions(+), 16 deletions(-)
>
> diff --git a/libmultipath/structs.c b/libmultipath/structs.c
> index e225f8b4..28704676 100644
> --- a/libmultipath/structs.c
> +++ b/libmultipath/structs.c
> @@ -513,10 +513,11 @@ void setup_feature(struct multipath *mpp, char *feature)
> }
> }
>
> -int add_feature(char **f, char *n)
> +int add_feature(char **f, const char *n)
> {
> int c = 0, d, l = 0;
> char *e, *p, *t;
> + const char *q;
>
> if (!f)
> return 1;
> @@ -554,14 +555,14 @@ int add_feature(char **f, char *n)
> if ((c % 10) == 9)
> l++;
> c++;
> - p = n;
> - while (*p != '\0') {
> - if (*p == ' ' && p[1] != '\0' && p[1] != ' ') {
> + q = n;
> + while (*q != '\0') {
> + if (*q == ' ' && q[1] != '\0' && q[1] != ' ') {
> if ((c % 10) == 9)
> l++;
> c++;
> }
> - p++;
> + q++;
> }
>
> t = MALLOC(l + 1);
> @@ -601,10 +602,11 @@ int add_feature(char **f, char *n)
> return 0;
> }
>
> -int remove_feature(char **f, char *o)
> +int remove_feature(char **f, const char *o)
> {
> int c = 0, d, l;
> char *e, *p, *n;
> + const char *q;
>
> if (!f || !*f)
> return 1;
> @@ -630,18 +632,18 @@ int remove_feature(char **f, char *o)
> /* Just spaces, return */
> if (*o == '\0')
> return 0;
> - e = o + strlen(o);
> - while (*e == ' ')
> - e--;
> - d = (int)(e - o);
> + q = o + strlen(o);
> + while (*q == ' ')
> + q--;
> + d = (int)(q - o);
>
> /* Update feature count */
> c--;
> - p = o;
> - while (p[0] != '\0') {
> - if (p[0] == ' ' && p[1] != ' ' && p[1] != '\0')
> + q = o;
> + while (q[0] != '\0') {
> + if (q[0] == ' ' && q[1] != ' ' && q[1] != '\0')
> c--;
> - p++;
> + q++;
> }
>
> /* Quick exit if all features have been removed */
> diff --git a/libmultipath/structs.h b/libmultipath/structs.h
> index 01e031ad..8ea984d9 100644
> --- a/libmultipath/structs.h
> +++ b/libmultipath/structs.h
> @@ -369,8 +369,8 @@ int pathcountgr (struct pathgroup *, int);
> int pathcount (struct multipath *, int);
> int pathcmp (struct pathgroup *, struct pathgroup *);
> void setup_feature(struct multipath *, char *);
> -int add_feature (char **, char *);
> -int remove_feature (char **, char *);
> +int add_feature (char **, const char *);
> +int remove_feature (char **, const char *);
>
> extern char sysfs_path[PATH_SIZE];
>
>
Reviewed-by: Hannes Reinecke
Cheers,
Hannes
--
Dr. Hannes ReineckeTeamlead Storage & Networking
h...@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel