[libvirt] [PATCH v3 25/34] Adapt to VIR_STRDUP and VIR_STRNDUP in src/util/*

Ján Tomko jtomko at redhat.com
Mon May 20 11:07:53 UTC 2013


On 05/03/2013 04:53 PM, Michal Privoznik wrote:
>  32 files changed, 356 insertions(+), 567 deletions(-)

These functions returned 0 on success before and will need to be adjusted
since VIR_STRDUP returns 1 on a successful copy now.

> diff --git a/src/util/viridentity.c b/src/util/viridentity.c
> index c9efd3f..e2dc048 100644
> --- a/src/util/viridentity.c
> +++ b/src/util/viridentity.c

> @@ -246,12 +246,7 @@ int virIdentitySetAttr(virIdentityPtr ident,
>          goto cleanup;
>      }
>  
> -    if (!(ident->attrs[attr] = strdup(value))) {
> -        virReportOOMError();
> -        goto cleanup;
> -    }
> -
> -    ret = 0;
> +    ret = VIR_STRDUP(ident->attrs[attr], value);
>  
>  cleanup:
>      return ret;



> diff --git a/src/util/virnetdevtap.c b/src/util/virnetdevtap.c
> index 75599db..08a5599 100644
> --- a/src/util/virnetdevtap.c
> +++ b/src/util/virnetdevtap.c
> @@ -64,12 +64,7 @@ virNetDevTapGetName(int tapfd ATTRIBUTE_UNUSED, char **ifname ATTRIBUTE_UNUSED)
>          return -1;
>      }
>  
> -    *ifname = strdup(ifr.ifr_name);
> -    if (*ifname == NULL) {
> -        virReportOOMError();
> -        return -1;
> -    }
> -    return 0;
> +    return VIR_STRDUP(*ifname, ifr.ifr_name);
>  #else
>      return -1;
>  #endif

> diff --git a/src/util/virpci.c b/src/util/virpci.c
> index 5865613..1f19d3f 100644
> --- a/src/util/virpci.c
> +++ b/src/util/virpci.c
> @@ -2268,11 +2264,7 @@ virPCIGetNetName(char *device_link_sysfs_path, char **netname)
>              continue;
>  
>          /* Assume a single directory entry */
> -        *netname = strdup(entry->d_name);
> -        if (!*netname)
> -            virReportOOMError();
> -        else
> -            ret = 0;
> +        ret = VIR_STRDUP(*netname, entry->d_name);
>          break;
>      }

> diff --git a/src/util/virsexpr.c b/src/util/virsexpr.c
> index 23b6781..b17c0d4 100644
> --- a/src/util/virsexpr.c
> +++ b/src/util/virsexpr.c
> @@ -527,13 +511,10 @@ int sexpr_node_copy(const struct sexpr *sexpr, const char *node, char **dst)
>  {
>      const char *val = sexpr_node(sexpr, node);
>  
> -    if (val && *val) {
> -        *dst = strdup(val);
> -        if (!(*dst))
> -            return -1;
> -    } else {
> -        *dst = NULL;
> -    }
> +    if (val && *val)
> +        return VIR_STRDUP(*dst, val);
> +
> +    *dst = NULL;
>      return 0;
>  }


> diff --git a/src/util/virutil.c b/src/util/virutil.c
> index 982d4a3..d3d77b2 100644
> --- a/src/util/virutil.c
> +++ b/src/util/virutil.c
> @@ -547,11 +547,8 @@ virFileResolveLinkHelper(const char *linkpath,
>          if (lstat(linkpath, &st) < 0)
>              return -1;
>  
> -        if (!S_ISLNK(st.st_mode)) {
> -            if (!(*resultpath = strdup(linkpath)))
> -                return -1;
> -            return 0;
> -        }
> +        if (!S_ISLNK(st.st_mode))
> +            return VIR_STRDUP(*resultpath, linkpath);
>      }
>  
>      *resultpath = canonicalize_file_name(linkpath);

> @@ -1503,8 +1502,7 @@ int virFileAbsPath(const char *path, char **abspath)
>      char *buf;
>  
>      if (path[0] == '/') {
> -        if (!(*abspath = strdup(path)))
> -            return -1;
> +        return VIR_STRDUP(*abspath, path);
>      } else {
>          buf = getcwd(NULL, 0);
>          if (buf == NULL)

> @@ -2479,12 +2460,7 @@ virGetWin32DirectoryRoot(char **path)
>          strcpy(windowsdir, "C:\\");
>      }
>  
> -    if (!(*path = strdup(windowsdir))) {
> -        virReportOOMError();
> -        ret = -1;
> -    }
> -
> -    return ret;
> +    return VIR_STRDUP(*path, windowsdir);
>  }
>  
>  




More information about the libvir-list mailing list