]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: eliminate redundant use of VIR_ALLOC
authorMartin Kletzander <mkletzan@redhat.com>
Mon, 17 Dec 2012 15:03:15 +0000 (16:03 +0100)
committerMartin Kletzander <mkletzan@redhat.com>
Wed, 19 Dec 2012 01:21:54 +0000 (02:21 +0100)
We can use VIR_REALLOC_N with NULL pointer, which behaves the same way
as VIR_ALLOC_N in that case, so no need for a condition that's
checking if some data are allocated already.

---

I tried to find other parts of the code similar to this, so I can do a
full cleanup for the whole repository, so I used this (excuse the long
line, but that's how I was writing it):

git grep -nHC 5 -e VIR_REALLOC_N -e VIR_ALLOC_N | while read line; do if [[ "$line" == "--" ]]; then if [[ ${#tmpbuf} -gt 10 && "$REALLOC_N" == "true" && "$ALLOC_N" == "true" ]]; then echo $line; while [[ ${#tmpbuf[*]} -gt 0 ]]; do echo "${tmpbuf[0]}"; tmpbuf=( "${tmpbuf[@]:1:${#tmpbuf[*]}}" ); done; fi; unset tmpbuf REALLOC_N ALLOC_N; else if [[ "$ALLOC_N" != "true" && "${line/VIR_ALLOC_N//}" != "${line}" ]]; then ALLOC_N="true"; fi; if [[ "$REALLOC_N" != "true" && "${line/VIR_REALLOC_N//}" != "${line}" ]]; then REALLOC_N="true"; fi; tmpbuf[${#tmpbuf[*]}]="$line"; fi; done | less

And reviewed the output just to find out this was the only occurrence of
the inconsistency.

src/conf/domain_conf.c

index 8d84025d0b7bdc3c7081f88f3e0a96d77c443b3b..ba70e0292dcf90b90bbf8156a2e1efa964210571 100644 (file)
@@ -9168,16 +9168,9 @@ static virDomainDefPtr virDomainDefParseXML(virCapsPtr caps,
      * the policy specified explicitly as def->cpuset.
      */
     if (def->cpumask) {
-        if (!def->cputune.vcpupin) {
-            if (VIR_ALLOC_N(def->cputune.vcpupin, def->vcpus) < 0) {
-                virReportOOMError();
-                goto error;
-            }
-        } else {
-            if (VIR_REALLOC_N(def->cputune.vcpupin, def->vcpus) < 0) {
-                virReportOOMError();
-                goto error;
-            }
+        if (VIR_REALLOC_N(def->cputune.vcpupin, def->vcpus) < 0) {
+            virReportOOMError();
+            goto error;
         }
 
         for (i = 0; i < def->vcpus; i++) {