]> xenbits.xensource.com Git - libvirt.git/commitdiff
Remove all use of strcmp, strncmp in favour of STREQ, STREQLEN, STRPREFIX
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 14 May 2008 19:51:24 +0000 (19:51 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 14 May 2008 19:51:24 +0000 (19:51 +0000)
22 files changed:
ChangeLog
Makefile.cfg
proxy/libvirt_proxy.c
src/conf.c
src/hash.c
src/iptables.c
src/libvirt.c
src/openvz_conf.c
src/qemu_conf.c
src/remote_internal.c
src/sexpr.c
src/test.c
src/util.c
src/virsh.c
src/xen_unified.c
src/xend_internal.c
src/xm_internal.c
src/xml.c
src/xmlrpc.c
tests/virshtest.c
tests/xml2sexprtest.c
tests/xmlrpctest.c

index 4ea1fb4c9f9913c7e98a99764082c72be0cc30a3..f21e4d1dab3a5d08894a0f3ed156e192c69db212 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Wed May 14 15:34:43 EST 2008 Daniel P. Berrange <berrange@redhat.com>
+
+       * proxy/libvirt_proxy.c, src/conf.c, src/hash.c,
+       src/iptables.c, src/libvirt.c, src/openvz_conf.c,
+       src/qemu_conf.c, src/remote_internal.c, src/sexpr.c,
+       src/test.c, src/util.c, src/virsh.c, src/xen_unified.c,
+       src/xend_internal.c, src/xm_internal.c, src/xml.c,
+       src/xmlrpc.c, tests/virshtest.c, tests/xml2sexprtest.c,
+       tests/xmlrpctest.c: Replace all use of strcmp, strncmp,
+       etc with STREQ/STREQLEN/STRPREFIX macros.
+       * Makefile.cfg: Enable strcmp syntax check
+       * .x-sc_prohibit_strcmp: Blacklist gnulib module
+
 Tue May 13 10:55:43 CEST 2008 Jim Meyering <meyering@redhat.com>
 
        avoid "not a string literal..." warnings
index cbf97c2ff83d007840ade2035aea401a90db6298..1043d89bd38047fc3aee8af7e2c0ffa782551cb4 100644 (file)
@@ -40,7 +40,6 @@ local-checks-to-skip =                        \
   sc_prohibit_jm_in_m4                 \
   sc_prohibit_quote_without_use                \
   sc_prohibit_quotearg_without_use     \
-  sc_prohibit_strcmp                   \
   sc_root_tests                                \
   sc_space_tab                         \
   sc_sun_os_names                      \
index 87cff97189099225939c8a64e21ca2ada1dd183c..14db0bd786171d8726b51975d9130072b9f4dc01 100644 (file)
@@ -802,9 +802,9 @@ int main(int argc, char **argv) {
     }
 
     for (i = 1; i < argc; i++) {
-         if (!strcmp(argv[i], "-v")) {
+         if (STREQ(argv[i], "-v")) {
              debug++;
-         } else if (!strcmp(argv[i], "-no-timeout")) {
+         } else if (STREQ(argv[i], "-no-timeout")) {
              persist = 1;
          } else {
              usage(argv[0]);
index bc369c7eada8c0c6008a2d3e7d5228a2d5b3a946..e52d8d16a6c5b050cd5a4e5aa8898441145b132c 100644 (file)
@@ -800,7 +800,7 @@ __virConfGetValue(virConfPtr conf, const char *setting)
 
     cur = conf->entries;
     while (cur != NULL) {
-        if ((cur->name != NULL) && (!strcmp(cur->name, setting)))
+        if ((cur->name != NULL) && (STREQ(cur->name, setting)))
             return(cur->value);
         cur = cur->next;
     }
@@ -829,7 +829,7 @@ __virConfSetValue (virConfPtr conf,
 
     cur = conf->entries;
     while (cur != NULL) {
-        if ((cur->name != NULL) && (!strcmp(cur->name, setting))) {
+        if ((cur->name != NULL) && (STREQ(cur->name, setting))) {
             break;
         }
         prev = cur;
index d8e0944390b85d9f3be406c15fc610f670270d2c..79421aad437fc09353155c2650e24d6835d5d024 100644 (file)
@@ -270,11 +270,11 @@ virHashAddEntry(virHashTablePtr table, const char *name, void *userdata)
     } else {
         for (insert = &(table->table[key]); insert->next != NULL;
              insert = insert->next) {
-            if (!strcmp(insert->name, name))
+            if (STREQ(insert->name, name))
                 return (-1);
             len++;
         }
-        if (!strcmp(insert->name, name))
+        if (STREQ(insert->name, name))
             return (-1);
     }
 
@@ -335,14 +335,14 @@ virHashUpdateEntry(virHashTablePtr table, const char *name,
     } else {
         for (insert = &(table->table[key]); insert->next != NULL;
              insert = insert->next) {
-            if (!strcmp(insert->name, name)) {
+            if (STREQ(insert->name, name)) {
                 if (f)
                     f(insert->payload, insert->name);
                 insert->payload = userdata;
                 return (0);
             }
         }
-        if (!strcmp(insert->name, name)) {
+        if (STREQ(insert->name, name)) {
             if (f)
                 f(insert->payload, insert->name);
             insert->payload = userdata;
@@ -393,7 +393,7 @@ virHashLookup(virHashTablePtr table, const char *name)
     if (table->table[key].valid == 0)
         return (NULL);
     for (entry = &(table->table[key]); entry != NULL; entry = entry->next) {
-        if (!strcmp(entry->name, name))
+        if (STREQ(entry->name, name))
             return (entry->payload);
     }
     return (NULL);
@@ -445,7 +445,7 @@ virHashRemoveEntry(virHashTablePtr table, const char *name,
     } else {
         for (entry = &(table->table[key]); entry != NULL;
              entry = entry->next) {
-            if (!strcmp(entry->name, name)) {
+            if (STREQ(entry->name, name)) {
                 if ((f != NULL) && (entry->payload != NULL))
                     f(entry->payload, entry->name);
                 entry->payload = NULL;
index 249262ae633dab4d1cbcde6e61398b507a5d502b..7cba53e3e00c1de66c51991409ed48cfa9954396 100644 (file)
@@ -114,7 +114,7 @@ stripLine(char *str, int len, const char *line)
     s = str;
 
     while ((p = strchr(s, '\n'))) {
-        if (p == s || strncmp(s, line, p - s) != 0) {
+        if (p == s || STRNEQLEN(s, line, p - s)) {
             s = ++p;
             continue;
         }
@@ -125,7 +125,7 @@ stripLine(char *str, int len, const char *line)
         changed = 1;
     }
 
-    if (strcmp(s, line) == 0) {
+    if (STREQ(s, line)) {
         *s = '\0';
         changed = 1;
     }
@@ -310,7 +310,7 @@ iptRulesRemove(iptRules *rules,
     int i;
 
     for (i = 0; i < rules->nrules; i++)
-        if (!strcmp(rules->rules[i].rule, rule))
+        if (STREQ(rules->rules[i].rule, rule))
             break;
 
     if (i >= rules->nrules)
index 7f5f1f148d1a65fff0697e1b2700fce106246aad..97f6bc37befc3d903b0f5bc9ca485104a860fcbf 100644 (file)
@@ -655,7 +655,7 @@ virGetVersion(unsigned long *libVer, const char *type,
             type = "Xen";
         for (i = 0;i < virDriverTabCount;i++) {
             if ((virDriverTab[i] != NULL) &&
-                (!strcasecmp(virDriverTab[i]->name, type))) {
+                (STRCASEEQ(virDriverTab[i]->name, type))) {
                 *typeVer = virDriverTab[i]->ver;
                 break;
             }
@@ -721,7 +721,7 @@ do_open (const char *name,
     }
 
     /* Convert xen -> xen:/// for back compat */
-    if (!strcasecmp(name, "xen"))
+    if (STRCASEEQ(name, "xen"))
         name = "xen:///";
 
     /* Convert xen:// -> xen:/// because xmlParseURI cannot parse the
index 132041599487457ff59dce4a02ef86d8926dd01d..7a00bbc97734778a187425914aa3077b39395cc2 100644 (file)
@@ -107,7 +107,7 @@ struct openvz_vm
     struct  openvz_vm *vm = driver->vms;
 
     while (vm) {
-        if (!strcmp(vm->vmdef->name, name))
+        if (STREQ(vm->vmdef->name, name))
             return vm;
         vm = vm->next;
     }
@@ -324,7 +324,7 @@ static struct openvz_vm_def
         goto bail_out;
     }
 
-    if (strcmp((char *)prop, "openvz")){
+    if (STRNEQ((char *)prop, "openvz")){
         error(conn, VIR_ERR_INTERNAL_ERROR, _("invalid domain type attribute"));
         goto bail_out;
     }
@@ -553,7 +553,7 @@ openvzGetVPSInfo(virConnectPtr conn) {
                   _("Failed to parse vzlist output"));
             goto error;
         }
-        if(strcmp(status, "stopped")) {
+        if(STRNEQ(status, "stopped")) {
             (*pnext)->status = VIR_DOMAIN_RUNNING;
             driver->num_active ++;
             (*pnext)->vpsid = veid;
@@ -673,7 +673,7 @@ openvzGetVPSUUID(int vpsid, char *uuidstr)
         }
 
         sscanf(line, "%s %s\n", iden, uuidbuf);
-        if(!strcmp(iden, "#UUID:")) {
+        if(STREQ(iden, "#UUID:")) {
             strncpy(uuidstr, uuidbuf, VIR_UUID_STRING_BUFLEN);
             break;
         }
@@ -747,7 +747,7 @@ int openvzAssignUUIDs(void)
 
     while((dent = readdir(dp))) {
         res = sscanf(dent->d_name, "%d.%5s", &vpsid, ext);
-        if(!(res == 2 && !strcmp(ext, "conf")))
+        if(!(res == 2 && STREQ(ext, "conf")))
             continue;
         if(vpsid > 0) /* '0.conf' belongs to the host, ignore it */
             openvzSetUUID(vpsid);
index 9772721591ecd0a1a3c21395ecc088d435dce06a..f31b33a69e30b0b56391a2ea4748b1dede93bde5 100644 (file)
@@ -166,7 +166,7 @@ struct qemud_vm *qemudFindVMByName(const struct qemud_driver *driver,
     struct qemud_vm *vm = driver->vms;
 
     while (vm) {
-        if (!strcmp(vm->def->name, name))
+        if (STREQ(vm->def->name, name))
             return vm;
         vm = vm->next;
     }
@@ -192,7 +192,7 @@ struct qemud_network *qemudFindNetworkByName(const struct qemud_driver *driver,
     struct qemud_network *network = driver->networks;
 
     while (network) {
-        if (!strcmp(network->def->name, name))
+        if (STREQ(network->def->name, name))
             return network;
         network = network->next;
     }
@@ -644,30 +644,30 @@ static int qemudParseDiskXML(virConnectPtr conn,
     }
 
     if (device &&
-        !strcmp((const char *)device, "floppy") &&
-        strcmp((const char *)target, "fda") &&
-        strcmp((const char *)target, "fdb")) {
+        STREQ((const char *)device, "floppy") &&
+        STRNEQ((const char *)target, "fda") &&
+        STRNEQ((const char *)target, "fdb")) {
         qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
                          _("Invalid floppy device name: %s"), target);
         goto error;
     }
 
     if (device &&
-        !strcmp((const char *)device, "cdrom") &&
-        strcmp((const char *)target, "hdc")) {
+        STREQ((const char *)device, "cdrom") &&
+        STRNEQ((const char *)target, "hdc")) {
         qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
                          _("Invalid cdrom device name: %s"), target);
         goto error;
     }
 
     if (device &&
-        !strcmp((const char *)device, "cdrom"))
+        STREQ((const char *)device, "cdrom"))
         disk->readonly = 1;
 
-    if ((!device || !strcmp((const char *)device, "disk")) &&
-        strncmp((const char *)target, "hd", 2) &&
-        strncmp((const char *)target, "sd", 2) &&
-        strncmp((const char *)target, "vd", 2)) {
+    if ((!device || STREQ((const char *)device, "disk")) &&
+        !STRPREFIX((const char *)target, "hd") &&
+        !STRPREFIX((const char *)target, "sd") &&
+        !STRPREFIX((const char *)target, "vd")) {
         qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
                          _("Invalid harddisk device name: %s"), target);
         goto error;
@@ -682,11 +682,11 @@ static int qemudParseDiskXML(virConnectPtr conn,
 
     if (!device)
         disk->device = QEMUD_DISK_DISK;
-    else if (!strcmp((const char *)device, "disk"))
+    else if (STREQ((const char *)device, "disk"))
         disk->device = QEMUD_DISK_DISK;
-    else if (!strcmp((const char *)device, "cdrom"))
+    else if (STREQ((const char *)device, "cdrom"))
         disk->device = QEMUD_DISK_CDROM;
-    else if (!strcmp((const char *)device, "floppy"))
+    else if (STREQ((const char *)device, "floppy"))
         disk->device = QEMUD_DISK_FLOPPY;
     else {
         qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
@@ -1376,9 +1376,9 @@ static int qemudParseInputXML(virConnectPtr conn,
         goto error;
     }
 
-    if (!strcmp((const char *)type, "mouse")) {
+    if (STREQ((const char *)type, "mouse")) {
         input->type = QEMU_INPUT_TYPE_MOUSE;
-    } else if (!strcmp((const char *)type, "tablet")) {
+    } else if (STREQ((const char *)type, "tablet")) {
         input->type = QEMU_INPUT_TYPE_TABLET;
     } else {
         qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
@@ -1388,7 +1388,7 @@ static int qemudParseInputXML(virConnectPtr conn,
     }
 
     if (bus) {
-        if (!strcmp((const char*)bus, "ps2")) { /* Only allow mouse */
+        if (STREQ((const char*)bus, "ps2")) { /* Only allow mouse */
             if (input->type == QEMU_INPUT_TYPE_TABLET) {
                 qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
                                  _("ps2 bus does not support %s input device"),
@@ -1396,7 +1396,7 @@ static int qemudParseInputXML(virConnectPtr conn,
                 goto error;
             }
             input->bus = QEMU_INPUT_BUS_PS2;
-        } else if (!strcmp((const char *)bus, "usb")) { /* Allow mouse & keyboard */
+        } else if (STREQ((const char *)bus, "usb")) { /* Allow mouse & keyboard */
             input->bus = QEMU_INPUT_BUS_USB;
         } else {
             qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
@@ -1537,11 +1537,11 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
         goto error;
     }
 
-    if (!strcmp((char *)prop, "qemu"))
+    if (STREQ((char *)prop, "qemu"))
         def->virtType = QEMUD_VIRT_QEMU;
-    else if (!strcmp((char *)prop, "kqemu"))
+    else if (STREQ((char *)prop, "kqemu"))
         def->virtType = QEMUD_VIRT_KQEMU;
-    else if (!strcmp((char *)prop, "kvm"))
+    else if (STREQ((char *)prop, "kvm"))
         def->virtType = QEMUD_VIRT_KVM;
     else {
         qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
@@ -1654,7 +1654,7 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
         (obj->stringval == NULL) || (obj->stringval[0] == 0)) {
         def->noReboot = 0;
     } else {
-        if (!strcmp((char*)obj->stringval, "destroy"))
+        if (STREQ((char*)obj->stringval, "destroy"))
             def->noReboot = 1;
         else
             def->noReboot = 0;
@@ -1667,7 +1667,7 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
         (obj->stringval == NULL) || (obj->stringval[0] == 0)) {
         def->localtime = 0;
     } else {
-        if (!strcmp((char*)obj->stringval, "localtime"))
+        if (STREQ((char*)obj->stringval, "localtime"))
             def->localtime = 1;
         else
             def->localtime = 0;
@@ -1791,13 +1791,13 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
         for (i = 0; i < obj->nodesetval->nodeNr && i < QEMUD_MAX_BOOT_DEVS ; i++) {
             if (!(prop = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "dev")))
                 continue;
-            if (!strcmp((char *)prop, "hd")) {
+            if (STREQ((char *)prop, "hd")) {
                 def->os.bootDevs[def->os.nBootDevs++] = QEMUD_BOOT_DISK;
-            } else if (!strcmp((char *)prop, "fd")) {
+            } else if (STREQ((char *)prop, "fd")) {
                 def->os.bootDevs[def->os.nBootDevs++] = QEMUD_BOOT_FLOPPY;
-            } else if (!strcmp((char *)prop, "cdrom")) {
+            } else if (STREQ((char *)prop, "cdrom")) {
                 def->os.bootDevs[def->os.nBootDevs++] = QEMUD_BOOT_CDROM;
-            } else if (!strcmp((char *)prop, "network")) {
+            } else if (STREQ((char *)prop, "network")) {
                 def->os.bootDevs[def->os.nBootDevs++] = QEMUD_BOOT_NET;
             } else {
                 qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
@@ -1849,7 +1849,7 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
         (obj->nodesetval == NULL) || (obj->nodesetval->nodeNr == 0)) {
         def->graphicsType = QEMUD_GRAPHICS_NONE;
     } else if ((prop = xmlGetProp(obj->nodesetval->nodeTab[0], BAD_CAST "type"))) {
-        if (!strcmp((char *)prop, "vnc")) {
+        if (STREQ((char *)prop, "vnc")) {
             xmlChar *vncport, *vnclisten;
             def->graphicsType = QEMUD_GRAPHICS_VNC;
             vncport = xmlGetProp(obj->nodesetval->nodeTab[0], BAD_CAST "port");
@@ -1868,7 +1868,7 @@ static struct qemud_vm_def *qemudParseXML(virConnectPtr conn,
             def->keymap = (char *) xmlGetProp(obj->nodesetval->nodeTab[0], BAD_CAST "keymap");
             xmlFree(vncport);
             xmlFree(vnclisten);
-        } else if (!strcmp((char *)prop, "sdl")) {
+        } else if (STREQ((char *)prop, "sdl")) {
             def->graphicsType = QEMUD_GRAPHICS_SDL;
         } else {
             qemudReportError(conn, NULL, NULL, VIR_ERR_INTERNAL_ERROR,
@@ -2318,7 +2318,7 @@ int qemudBuildCommandLine(virConnectPtr conn,
      * 3. The qemu binary has the -no-kqemu flag
      */
     if ((vm->qemuCmdFlags & QEMUD_CMD_FLAG_KQEMU) &&
-        !strcmp(ut.machine, vm->def->os.arch) &&
+        STREQ(ut.machine, vm->def->os.arch) &&
         vm->def->virtType == QEMUD_VIRT_QEMU)
         disableKQEMU = 1;
 
index 9474028d1cb59b415c2432c7e843e4707744f32b..1b6e9d3aa3f8fddb2d59f51907f8d7e3cd9e7e3e 100644 (file)
@@ -316,15 +316,15 @@ doRemoteOpen (virConnectPtr conn,
         trans_tcp,
     } transport;
 
-    if (!transport_str || strcasecmp (transport_str, "tls") == 0)
+    if (!transport_str || STRCASEEQ (transport_str, "tls"))
         transport = trans_tls;
-    else if (strcasecmp (transport_str, "unix") == 0)
+    else if (STRCASEEQ (transport_str, "unix"))
         transport = trans_unix;
-    else if (strcasecmp (transport_str, "ssh") == 0)
+    else if (STRCASEEQ (transport_str, "ssh"))
         transport = trans_ssh;
-    else if (strcasecmp (transport_str, "ext") == 0)
+    else if (STRCASEEQ (transport_str, "ext"))
         transport = trans_ext;
-    else if (strcasecmp (transport_str, "tcp") == 0)
+    else if (STRCASEEQ (transport_str, "tcp"))
         transport = trans_tcp;
     else {
         error (conn, VIR_ERR_INVALID_ARG,
index 85b289c86a9b821e532df27c4a6a289a4314a83f..c275ee28b7405eb2646a1cee5dcfc83902f3afec 100644 (file)
@@ -433,7 +433,7 @@ sexpr_lookup_key(const struct sexpr *sexpr, const char *node)
         return NULL;
     }
 
-    if (strcmp(sexpr->u.s.car->u.value, token) != 0) {
+    if (STRNEQ(sexpr->u.s.car->u.value, token)) {
         return NULL;
     }
 
@@ -451,7 +451,7 @@ sexpr_lookup_key(const struct sexpr *sexpr, const char *node)
                 continue;
             }
 
-            if (strcmp(i->u.s.car->u.s.car->u.value, token) == 0) {
+            if (STREQ(i->u.s.car->u.s.car->u.value, token)) {
                 sexpr = i->u.s.car;
                 break;
             }
index 203671a20f1c73e1ae3e17bccbce031218f76e11..6bb963889b012af2801001c8dfb8cba3a935fcc4 100644 (file)
@@ -196,13 +196,13 @@ testError(virConnectPtr con,
 }
 
 static int testRestartStringToFlag(const char *str) {
-    if (!strcmp(str, "restart")) {
+    if (STREQ(str, "restart")) {
         return VIR_DOMAIN_RESTART;
-    } else if (!strcmp(str, "destroy")) {
+    } else if (STREQ(str, "destroy")) {
         return VIR_DOMAIN_DESTROY;
-    } else if (!strcmp(str, "preserve")) {
+    } else if (STREQ(str, "preserve")) {
         return VIR_DOMAIN_PRESERVE;
-    } else if (!strcmp(str, "rename-restart")) {
+    } else if (STREQ(str, "rename-restart")) {
         return VIR_DOMAIN_RENAME_RESTART;
     } else {
         return (0);
@@ -914,7 +914,7 @@ static int testOpen(virConnectPtr conn,
     if (!uri)
         return VIR_DRV_OPEN_DECLINED;
 
-    if (!uri->scheme || strcmp(uri->scheme, "test") != 0)
+    if (!uri->scheme || STRNEQ(uri->scheme, "test"))
         return VIR_DRV_OPEN_DECLINED;
 
     /* Remote driver should handle these. */
@@ -1170,7 +1170,7 @@ static virDomainPtr testLookupDomainByName(virConnectPtr conn,
 
     for (i = 0 ; i < MAX_DOMAINS ; i++) {
         if (privconn->domains[i].active &&
-            strcmp(name, privconn->domains[i].name) == 0) {
+            STREQ(name, privconn->domains[i].name)) {
             idx = i;
             break;
         }
@@ -1767,7 +1767,7 @@ static virNetworkPtr testLookupNetworkByName(virConnectPtr conn,
 
     for (i = 0 ; i < MAX_NETWORKS ; i++) {
         if (privconn->networks[i].active &&
-            strcmp(name, privconn->networks[i].name) == 0) {
+            STREQ(name, privconn->networks[i].name)) {
             idx = i;
             break;
         }
index 39a1e2af9f827d98a0d86838c4b22e6f1b5d63fa..bdb6dea6c99552c9b8c58702e9620df16cb35fdc 100644 (file)
@@ -384,8 +384,8 @@ int virFileMatchesNameSuffix(const char *file,
     int suffixlen = strlen(suffix);
 
     if (filelen == (namelen + suffixlen) &&
-        !strncmp(file, name, namelen) &&
-        !strncmp(file + namelen, suffix, suffixlen))
+        STREQLEN(file, name, namelen) &&
+        STREQLEN(file + namelen, suffix, suffixlen))
         return 1;
     else
         return 0;
@@ -400,7 +400,7 @@ int virFileHasSuffix(const char *str,
     if (len < suffixlen)
         return 0;
 
-    return strcmp(str + len - suffixlen, suffix) == 0;
+    return STREQ(str + len - suffixlen, suffix);
 }
 
 #ifndef __MINGW32__
@@ -479,7 +479,7 @@ int virFileLinkPointsTo(const char *checkLink,
     }
 
     /* compare */
-    if (strcmp(checkReal, real) != 0) {
+    if (STRNEQ(checkReal, real)) {
         virLog("Link '%s' does not point to '%s', ignoring",
                checkLink, checkReal);
         return 0;
index 5a35f36f721af9e9bd33259f95a5efe8003807d5..af2f1a4fc1133b590cdb02b266da9e0ea988fd70 100644 (file)
@@ -4351,7 +4351,7 @@ cmdVNCDisplay(vshControl * ctl, vshCmd * cmd)
     obj = xmlXPathEval(BAD_CAST "string(/domain/devices/graphics[@type='vnc']/@listen)", ctxt);
     if ((obj == NULL) || (obj->type != XPATH_STRING) ||
         (obj->stringval == NULL) || (obj->stringval[0] == 0) ||
-        !strcmp((const char*)obj->stringval, "0.0.0.0")) {
+        STREQ((const char*)obj->stringval, "0.0.0.0")) {
         vshPrint(ctl, ":%d\n", port-5900);
     } else {
         vshPrint(ctl, "%s:%d\n", (const char *)obj->stringval, port-5900);
@@ -4587,9 +4587,9 @@ cmdAttachInterface(vshControl * ctl, vshCmd * cmd)
     script = vshCommandOptString(cmd, "script", NULL);
 
     /* check interface type */
-    if (strcmp(type, "network") == 0) {
+    if (STREQ(type, "network")) {
         typ = 1;
-    } else if (strcmp(type, "bridge") == 0) {
+    } else if (STREQ(type, "bridge")) {
         typ = 2;
     } else {
         vshError(ctl, FALSE, _("No support %s in command 'attach-interface'"), type);
@@ -4824,23 +4824,23 @@ cmdAttachDisk(vshControl * ctl, vshCmd * cmd)
     mode = vshCommandOptString(cmd, "mode", NULL);
 
     if (type) {
-        if (strcmp(type, "cdrom") && strcmp(type, "disk")) {
+        if (STRNEQ(type, "cdrom") && STRNEQ(type, "disk")) {
             vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), type);
             goto cleanup;
         }
     }
 
     if (driver) {
-        if (!strcmp(driver, "file") || !strcmp(driver, "tap")) {
+        if (STREQ(driver, "file") || STREQ(driver, "tap")) {
             isFile = 1;
-        } else if (strcmp(driver, "phy")) {
+        } else if (STRNEQ(driver, "phy")) {
             vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), driver);
             goto cleanup;
         }
     }
 
     if (mode) {
-        if (strcmp(mode, "readonly") && strcmp(mode, "shareable")) {
+        if (STRNEQ(mode, "readonly") && STRNEQ(mode, "shareable")) {
             vshError(ctl, FALSE, _("No support %s in command 'attach-disk'"), mode);
             goto cleanup;
         }
@@ -5171,7 +5171,7 @@ vshCmddefGetInfo(vshCmdDef * cmd, const char *name)
     vshCmdInfo *info;
 
     for (info = cmd->info; info && info->name; info++) {
-        if (strcmp(info->name, name) == 0)
+        if (STREQ(info->name, name))
             return info->data;
     }
     return NULL;
@@ -5183,7 +5183,7 @@ vshCmddefGetOption(vshCmdDef * cmd, const char *name)
     vshCmdOptDef *opt;
 
     for (opt = cmd->opts; opt && opt->name; opt++)
-        if (strcmp(opt->name, name) == 0)
+        if (STREQ(opt->name, name))
             return opt;
     return NULL;
 }
@@ -5244,7 +5244,7 @@ vshCmddefSearch(const char *cmdname)
     vshCmdDef *c;
 
     for (c = commands; c->name; c++)
-        if (strcmp(c->name, cmdname) == 0)
+        if (STREQ(c->name, cmdname))
             return c;
     return NULL;
 }
@@ -5343,7 +5343,7 @@ vshCommandOpt(vshCmd * cmd, const char *name)
     vshCmdOpt *opt = cmd->opts;
 
     while (opt) {
-        if (opt->def && strcmp(opt->def->name, name) == 0)
+        if (opt->def && STREQ(opt->def->name, name))
             return opt;
         opt = opt->next;
     }
@@ -5617,7 +5617,7 @@ vshCommandRun(vshControl * ctl, vshCmd * cmd)
         if (ctl->timing)
             GETTIMEOFDAY(&after);
 
-        if (strcmp(cmd->def->name, "quit") == 0)        /* hack ... */
+        if (STREQ(cmd->def->name, "quit"))        /* hack ... */
             return ret;
 
         if (ctl->timing)
@@ -6213,7 +6213,7 @@ vshReadlineCommandGenerator(const char *text, int state)
      */
     while ((name = commands[list_index].name)) {
         list_index++;
-        if (strncmp(name, text, len) == 0)
+        if (STREQLEN(name, text, len))
             return vshStrdup(NULL, name);
     }
 
@@ -6262,7 +6262,7 @@ vshReadlineOptionsGenerator(const char *text, int state)
             continue;
 
         if (len > 2) {
-            if (strncmp(name, text + 2, len - 2))
+            if (STRNEQLEN(name, text + 2, len - 2))
                 continue;
         }
         res = vshMalloc(NULL, strlen(name) + 3);
@@ -6435,7 +6435,7 @@ vshParseArgv(vshControl * ctl, int argc, char **argv)
                         if (sz == 2 && *(last + 1) == o->val)
                             /* valid virsh short option */
                             valid = TRUE;
-                        else if (sz > 2 && strcmp(o->name, last + 2) == 0)
+                        else if (sz > 2 && STREQ(o->name, last + 2))
                             /* valid virsh long option */
                             valid = TRUE;
                     }
index cf0a68d93ec84cab4b1c72d2ceb05d731f3bb34d..6829e0143448d676a567c80b0387cf7239160a8f 100644 (file)
@@ -245,8 +245,8 @@ xenUnifiedOpen (virConnectPtr conn, xmlURIPtr uri, virConnectAuthPtr auth, int f
 
     /* Refuse any scheme which isn't "xen://" or "http://". */
     if (uri->scheme &&
-        strcasecmp(uri->scheme, "xen") != 0 &&
-        strcasecmp(uri->scheme, "http") != 0)
+        STRCASENEQ(uri->scheme, "xen") &&
+        STRCASENEQ(uri->scheme, "http"))
         return VIR_DRV_OPEN_DECLINED;
 
     /* xmlParseURI will parse a naked string like "foo" as a URI with
@@ -258,7 +258,7 @@ xenUnifiedOpen (virConnectPtr conn, xmlURIPtr uri, virConnectAuthPtr auth, int f
         return VIR_DRV_OPEN_DECLINED;
 
     /* Refuse any xen:// URI with a server specified - allow remote to do it */
-    if (uri->scheme && strcasecmp(uri->scheme, "xen") == 0 && uri->server)
+    if (uri->scheme && STRCASEEQ(uri->scheme, "xen") && uri->server)
         return VIR_DRV_OPEN_DECLINED;
 
     /* Allocate per-connection private data. */
index e96415963bc58b1cbfdcdf93d2cc7f8126cf2988..6aecfdd557bde4dca04dec1036f21fb3dadcfaf6 100644 (file)
@@ -403,7 +403,7 @@ sreads(virConnectPtr xend, int fd, char *buffer, size_t n_buffer)
 static int
 istartswith(const char *haystack, const char *needle)
 {
-    return (strncasecmp(haystack, needle, strlen(needle)) == 0);
+    return STRCASEEQLEN(haystack, needle, strlen(needle));
 }
 
 
@@ -426,7 +426,7 @@ xend_req(virConnectPtr xend, int fd, char *content, size_t n_content)
     int retcode = 0;
 
     while (sreads(xend, fd, buffer, sizeof(buffer)) > 0) {
-        if (strcmp(buffer, "\r\n") == 0)
+        if (STREQ(buffer, "\r\n"))
             break;
 
         if (istartswith(buffer, "Content-Length: "))
@@ -487,7 +487,7 @@ xend_get(virConnectPtr xend, const char *path,
     close(s);
 
     if (((ret < 0) || (ret >= 300)) &&
-        ((ret != 404) || (strncmp(path, "/xend/domain/", 13)))) {
+        ((ret != 404) || (STRNEQLEN(path, "/xend/domain/", 13)))) {
         virXendError(xend, VIR_ERR_GET_FAILED, content);
     }
 
@@ -1882,7 +1882,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
                 /* There is a case without the uname to the CD-ROM device */
                 offset = strchr(dst, ':');
                 if (offset) {
-                    if (hvm && !strcmp( offset , ":cdrom")) {
+                    if (hvm && STREQ( offset , ":cdrom")) {
                         isNoSrcCdrom = 1;
                     }
                     offset[0] = '\0';
@@ -1913,7 +1913,7 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
 
                 src = offset + 1;
 
-                if (!strcmp(drvName, "tap")) {
+                if (STREQ(drvName, "tap")) {
                     offset = strchr(src, ':');
                     if (!offset) {
                         virXendError(conn, VIR_ERR_INTERNAL_ERROR,
@@ -1936,23 +1936,23 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
                        omnipotent, we can revisit this, perhaps stat()'ing
                        the src file in question */
                     isBlock = 0;
-                } else if (!strcmp(drvName, "phy")) {
+                } else if (STREQ(drvName, "phy")) {
                     isBlock = 1;
-                } else if (!strcmp(drvName, "file")) {
+                } else if (STREQ(drvName, "file")) {
                     isBlock = 0;
                 }
             }
 
-            if (!strncmp(dst, "ioemu:", 6))
+            if (STREQLEN(dst, "ioemu:", 6))
                 dst += 6;
 
             /* New style disk config from Xen >= 3.0.3 */
             if (xendConfigVersion > 1) {
                 offset = strrchr(dst, ':');
                 if (offset) {
-                    if (!strcmp(offset, ":cdrom")) {
+                    if (STREQ(offset, ":cdrom")) {
                         cdrom = 1;
-                    } else if (!strcmp(offset, ":disk")) {
+                    } else if (STREQ(offset, ":disk")) {
                         /* The default anyway */
                     } else {
                         /* Unknown, lets pretend its a disk too */
@@ -1993,9 +1993,9 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
 
             /* XXX should we force mode == r, if cdrom==1, or assume
                xend has already done this ? */
-            if ((mode != NULL) && (!strcmp(mode, "r")))
+            if ((mode != NULL) && (STREQ(mode, "r")))
                 virBufferAddLit(&buf, "      <readonly/>\n");
-            else if ((mode != NULL) && (!strcmp(mode, "w!")))
+            else if ((mode != NULL) && (STREQ(mode, "w!")))
                 virBufferAddLit(&buf, "      <shareable/>\n");
             virBufferAddLit(&buf, "    </disk>\n");
 
@@ -2046,11 +2046,11 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
              * or for HVM guests in >= 3.0.5 */
             tmp = sexpr_node(node, "device/vfb/type");
 
-            if (tmp && !strcmp(tmp, "sdl")) {
+            if (tmp && STREQ(tmp, "sdl")) {
                 vfb = 1;
                 virBufferVSprintf(&buf, "    <input type='mouse' bus='%s'/>\n", hvm ? "ps2": "xen");
                 virBufferAddLit(&buf, "    <graphics type='sdl'/>\n");
-            } else if (tmp && !strcmp(tmp, "vnc")) {
+            } else if (tmp && STREQ(tmp, "vnc")) {
                 int port = xenStoreDomainGetVNCPort(conn, domid);
                 const char *listenAddr = sexpr_node(node, "device/vfb/vnclisten");
                 const char *vncPasswd = NULL;
@@ -2109,9 +2109,9 @@ xend_parse_sexp_desc(virConnectPtr conn, struct sexpr *root,
             if (sexpr_lookup(node, "usbdevice")) {
                 tmp = sexpr_node(node, "usbdevice");
                 if (tmp && *tmp) {
-                    if (!strcmp(tmp, "tablet"))
+                    if (STREQ(tmp, "tablet"))
                         virBufferAddLit(&buf, "    <input type='tablet' bus='usb'/>\n");
-                    else if (!strcmp(tmp, "mouse"))
+                    else if (STREQ(tmp, "mouse"))
                         virBufferAddLit(&buf, "    <input type='mouse' bus='usb'/>\n");
                 }
             }
@@ -2399,7 +2399,7 @@ sexpr_to_xend_topology(virConnectPtr conn,
             goto parse_error;
         cur++;
         virSkipSpaces(&cur);
-        if (!strncmp(cur, "no cpus", 7)) {
+        if (STREQLEN(cur, "no cpus", 7)) {
             nb_cpus = 0;
             for (cpu = 0; cpu < numCpus; cpu++)
                 cpuset[cpu] = 0;
@@ -3460,7 +3460,7 @@ xenDaemonDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
     for (s = root; s->kind == SEXPR_CONS; s = s->u.s.cdr) {
         if ((s->u.s.car->kind == SEXPR_CONS) &&
             (s->u.s.car->u.s.car->kind == SEXPR_VALUE) &&
-            !strcmp(s->u.s.car->u.s.car->u.value, "vcpu")) {
+            STREQ(s->u.s.car->u.s.car->u.value, "vcpu")) {
             t = s->u.s.car;
             vcpu = ipt->number = sexpr_int(t, "vcpu/number");
             if ((oln = sexpr_int(t, "vcpu/online")) != 0) {
@@ -3481,7 +3481,7 @@ xenDaemonDomainGetVcpus(virDomainPtr domain, virVcpuInfoPtr info, int maxinfo,
                 for (t = t->u.s.cdr; t->kind == SEXPR_CONS; t = t->u.s.cdr)
                     if ((t->u.s.car->kind == SEXPR_CONS) &&
                         (t->u.s.car->u.s.car->kind == SEXPR_VALUE) &&
-                        !strcmp(t->u.s.car->u.s.car->u.value, "cpumap") &&
+                        STREQ(t->u.s.car->u.s.car->u.value, "cpumap") &&
                         (t->u.s.car->u.s.cdr->kind == SEXPR_CONS)) {
                         for (t = t->u.s.car->u.s.cdr->u.s.car; t->kind == SEXPR_CONS; t = t->u.s.cdr)
                             if (t->u.s.car->kind == SEXPR_VALUE
@@ -3677,7 +3677,7 @@ xenDaemonAttachDevice(virDomainPtr domain, const char *xml)
         return (-1);
 
     str = virDomainGetOSType(domain);
-    if (strcmp(str, "linux"))
+    if (STREQ(str, "hvm"))
         hvm = 1;
     free(str);
     sexpr = virParseXMLDevice(domain->conn, xml, hvm, priv->xendConfigVersion);
index 107caf6732b5eaec7b5e1eaf5bebfa43094bed30..393700c1c1d1cdb3d53a99ef3e7036975a7d869a 100644 (file)
@@ -304,7 +304,7 @@ static int xenXMConfigReaper(const void *payload, const char *key ATTRIBUTE_UNUS
            is currently mapped as owner of a named domain. */
         if (xenXMConfigGetString(entry->conf, "name", &olddomname) != -1) {
             char *nameowner = (char *)virHashLookup(nameConfigMap, olddomname);
-            if (nameowner && !strcmp(nameowner, key)) {
+            if (nameowner && STREQ(nameowner, key)) {
                 virHashRemoveEntry(nameConfigMap, olddomname, NULL);
             }
         }
@@ -353,19 +353,19 @@ static int xenXMConfigCacheRefresh (virConnectPtr conn) {
          */
 
         /* Like 'dot' files... */
-        if (!strncmp(ent->d_name, ".", 1))
+        if (STREQLEN(ent->d_name, ".", 1))
             continue;
         /* ...and the XenD server config file */
-        if (!strncmp(ent->d_name, XEND_CONFIG_FILE, strlen(XEND_CONFIG_FILE)))
+        if (STREQLEN(ent->d_name, XEND_CONFIG_FILE, strlen(XEND_CONFIG_FILE)))
             continue;
         /* ...and random PCI config cruft */
-        if (!strncmp(ent->d_name, XEND_PCI_CONFIG_PREFIX, strlen(XEND_PCI_CONFIG_PREFIX)))
+        if (STREQLEN(ent->d_name, XEND_PCI_CONFIG_PREFIX, strlen(XEND_PCI_CONFIG_PREFIX)))
             continue;
         /* ...and the example domain configs */
-        if (!strncmp(ent->d_name, XM_EXAMPLE_PREFIX, strlen(XM_EXAMPLE_PREFIX)))
+        if (STREQLEN(ent->d_name, XM_EXAMPLE_PREFIX, strlen(XM_EXAMPLE_PREFIX)))
             continue;
         /* ...and the QEMU networking script */
-        if (!strncmp(ent->d_name, QEMU_IF_SCRIPT, strlen(QEMU_IF_SCRIPT)))
+        if (STREQLEN(ent->d_name, QEMU_IF_SCRIPT, strlen(QEMU_IF_SCRIPT)))
             continue;
 
         /* ...and editor backups */
@@ -401,7 +401,7 @@ static int xenXMConfigCacheRefresh (virConnectPtr conn) {
                re-acquire it later - just in case it was renamed */
             if (xenXMConfigGetString(entry->conf, "name", &olddomname) != -1) {
                 char *nameowner = (char *)virHashLookup(nameConfigMap, olddomname);
-                if (nameowner && !strcmp(nameowner, path)) {
+                if (nameowner && STREQ(nameowner, path)) {
                     virHashRemoveEntry(nameConfigMap, olddomname, NULL);
                 }
             }
@@ -607,7 +607,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
     virBufferVSprintf(&buf, "  <uuid>%s</uuid>\n", uuidstr);
 
     if ((xenXMConfigGetString(conf, "builder", &str) == 0) &&
-        !strcmp(str, "hvm"))
+        STREQ(str, "hvm"))
         hvm = 1;
 
     if (hvm) {
@@ -778,7 +778,7 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
             }
 
             /* And the source driver sub-type */
-            if (!strncmp(drvName, "tap", 3)) {
+            if (STREQLEN(drvName, "tap", 3)) {
                 if (!(tmp1 = strchr(tmp+1, ':')) || !tmp1[0])
                     goto skipdisk;
                 strncpy(drvType, tmp+1, (tmp1-(tmp+1)));
@@ -790,18 +790,18 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
             }
 
             /* phy: type indicates a block device */
-            if (!strcmp(drvName, "phy")) {
+            if (STREQ(drvName, "phy")) {
                 block = 1;
             }
 
             /* Remove legacy ioemu: junk */
-            if (!strncmp(dev, "ioemu:", 6)) {
+            if (STREQLEN(dev, "ioemu:", 6)) {
                 memmove(dev, dev+6, strlen(dev)-5);
             }
 
             /* Check for a :cdrom/:disk postfix */
             if ((tmp = strchr(dev, ':')) != NULL) {
-                if (!strcmp(tmp, ":cdrom"))
+                if (STREQ(tmp, ":cdrom"))
                     cdrom = 1;
                 tmp[0] = '\0';
             }
@@ -824,11 +824,11 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
             if (src[0])
                 virBufferVSprintf(&buf, "      <source %s='%s'/>\n", block ? "dev" : "file", src);
             virBufferVSprintf(&buf, "      <target dev='%s' bus='%s'/>\n", dev, bus);
-            if (!strcmp(head, "r") ||
-                !strcmp(head, "ro"))
+            if (STREQ(head, "r") ||
+                STREQ(head, "ro"))
                 virBufferAddLit(&buf, "      <readonly/>\n");
-            else if ((!strcmp(head, "w!")) ||
-                     (!strcmp(head, "!")))
+            else if ((STREQ(head, "w!")) ||
+                     (STREQ(head, "!")))
                 virBufferAddLit(&buf, "      <shareable/>\n");
             virBufferAddLit(&buf, "    </disk>\n");
 
@@ -878,32 +878,32 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
                     goto skipnic;
                 data++;
 
-                if (!strncmp(key, "mac=", 4)) {
+                if (STRPREFIX(key, "mac=")) {
                     int len = nextkey ? (nextkey - data) : 17;
                     if (len > 17)
                         len = 17;
                     strncpy(mac, data, len);
                     mac[len] = '\0';
-                } else if (!strncmp(key, "bridge=", 7)) {
+                } else if (STRPREFIX(key, "bridge=")) {
                     int len = nextkey ? (nextkey - data) : sizeof(bridge)-1;
                     type = 1;
                     if (len > (sizeof(bridge)-1))
                         len = sizeof(bridge)-1;
                     strncpy(bridge, data, len);
                     bridge[len] = '\0';
-                } else if (!strncmp(key, "script=", 7)) {
+                } else if (STRPREFIX(key, "script=")) {
                     int len = nextkey ? (nextkey - data) : PATH_MAX-1;
                     if (len > (PATH_MAX-1))
                         len = PATH_MAX-1;
                     strncpy(script, data, len);
                     script[len] = '\0';
-                } else if (!strncmp(key, "model=", 6)) {
+                } else if (STRPREFIX(key, "model=")) {
                     int len = nextkey ? (nextkey - data) : sizeof(model)-1;
                     if (len > (sizeof(model)-1))
                         len = sizeof(model)-1;
                     strncpy(model, data, len);
                     model[len] = '\0';
-                } else if (!strncmp(key, "ip=", 3)) {
+                } else if (STRPREFIX(key, "ip=")) {
                     int len = nextkey ? (nextkey - data) : 15;
                     if (len > 15)
                         len = 15;
@@ -943,9 +943,9 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
 
     if (hvm) {
         if (xenXMConfigGetString(conf, "usbdevice", &str) == 0 && str) {
-            if (!strcmp(str, "tablet"))
+            if (STREQ(str, "tablet"))
                 virBufferAddLit(&buf, "    <input type='tablet' bus='usb'/>\n");
-            else if (!strcmp(str, "mouse"))
+            else if (STREQ(str, "mouse"))
                 virBufferAddLit(&buf, "    <input type='mouse' bus='usb'/>\n");
             /* Ignore else branch - probably some other non-input device we don't
                support in libvirt yet */
@@ -993,19 +993,19 @@ char *xenXMDomainFormatXML(virConnectPtr conn, virConfPtr conf) {
                     break;
                 data++;
 
-                if (!strncmp(key, "type=sdl", 8)) {
+                if (STRPREFIX(key, "type=sdl")) {
                     sdl = 1;
-                } else if (!strncmp(key, "type=vnc", 8)) {
+                } else if (STRPREFIX(key, "type=vnc")) {
                     vnc = 1;
-                } else if (!strncmp(key, "vncunused=", 10)) {
+                } else if (STRPREFIX(key, "vncunused=")) {
                     vncunused = strtol(key+10, NULL, 10);
-                } else if (!strncmp(key, "vnclisten=", 10)) {
+                } else if (STRPREFIX(key, "vnclisten=")) {
                     vnclisten = key + 10;
-                } else if (!strncmp(key, "vncpasswd=", 10)) {
+                } else if (STRPREFIX(key, "vncpasswd=")) {
                     vncpasswd = key + 10;
-                } else if (!strncmp(key, "keymap=", 7)) {
+                } else if (STRPREFIX(key, "keymap=")) {
                     keymap = key + 7;
-                } else if (!strncmp(key, "vncdisplay=", 11)) {
+                } else if (STRPREFIX(key, "vncdisplay=")) {
                     vncdisplay = strtol(key+11, NULL, 10);
                 }
 
@@ -1682,7 +1682,7 @@ static int xenXMParseXMLDisk(xmlNodePtr node, int hvm, int xendConfigVersion, ch
             } else if ((drvName == NULL) &&
                        (xmlStrEqual(cur->name, BAD_CAST "driver"))) {
                 drvName = xmlGetProp(cur, BAD_CAST "name");
-                if (drvName && !strcmp((const char *)drvName, "tap"))
+                if (drvName && STREQ((const char *)drvName, "tap"))
                     drvType = xmlGetProp(cur, BAD_CAST "type");
             } else if (xmlStrEqual(cur->name, BAD_CAST "readonly")) {
                 readonly = 1;
@@ -1704,7 +1704,7 @@ static int xenXMParseXMLDisk(xmlNodePtr node, int hvm, int xendConfigVersion, ch
      */
     if (hvm &&
         device &&
-        !strcmp((const char *)device, "floppy")) {
+        STREQ((const char *)device, "floppy")) {
         ret = 0;
         goto cleanup;
     }
@@ -1712,7 +1712,7 @@ static int xenXMParseXMLDisk(xmlNodePtr node, int hvm, int xendConfigVersion, ch
     /* Xend <= 3.0.2 doesn't include cdrom config here */
     if (hvm &&
         device &&
-        !strcmp((const char *)device, "cdrom")) {
+        STREQ((const char *)device, "cdrom")) {
         if (xendConfigVersion == 1) {
             ret = 0;
             goto cleanup;
@@ -1729,7 +1729,7 @@ static int xenXMParseXMLDisk(xmlNodePtr node, int hvm, int xendConfigVersion, ch
 
     if (drvName) {
         buflen += strlen((const char*)drvName) + 1;
-        if (!strcmp((const char*)drvName, "tap")) {
+        if (STREQ((const char*)drvName, "tap")) {
             if (drvType)
                 buflen += strlen((const char*)drvType) + 1;
             else
@@ -1761,7 +1761,7 @@ static int xenXMParseXMLDisk(xmlNodePtr node, int hvm, int xendConfigVersion, ch
     if(source) {
         if (drvName) {
             strcpy(buf, (const char*)drvName);
-            if (!strcmp((const char*)drvName, "tap")) {
+            if (STREQ((const char*)drvName, "tap")) {
                 strcat(buf, ":");
                 if (drvType)
                     strcat(buf, (const char*)drvType);
@@ -2024,7 +2024,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
 
     obj = xmlXPathEval(BAD_CAST "string(/domain/os/type)", ctxt);
     if ((obj != NULL) && (obj->type == XPATH_STRING) &&
-        (obj->stringval != NULL) && !strcmp((char*)obj->stringval, "hvm"))
+        (obj->stringval != NULL) && STREQ((char*)obj->stringval, "hvm"))
         hvm = 1;
     xmlXPathFreeObject(obj);
 
@@ -2043,11 +2043,11 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
         obj = xmlXPathEval(BAD_CAST "string(/domain/os/boot/@dev)", ctxt);
         if ((obj != NULL) && (obj->type == XPATH_STRING) &&
             (obj->stringval != NULL)) {
-            if (!strcmp((const char*)obj->stringval, "fd"))
+            if (STREQ((const char*)obj->stringval, "fd"))
                 boot = "a";
-            else if (!strcmp((const char*)obj->stringval, "hd"))
+            else if (STREQ((const char*)obj->stringval, "hd"))
                 boot = "c";
-            else if (!strcmp((const char*)obj->stringval, "cdrom"))
+            else if (STREQ((const char*)obj->stringval, "cdrom"))
                 boot = "d";
         }
         xmlXPathFreeObject(obj);
@@ -2069,7 +2069,7 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
         obj = xmlXPathEval(BAD_CAST "string(/domain/clock/@offset)", ctxt);
         if ((obj != NULL) && (obj->type == XPATH_STRING) &&
             (obj->stringval != NULL)) {
-            if (!strcmp((const char*)obj->stringval, "localtime"))
+            if (STREQ((const char*)obj->stringval, "localtime"))
                 clockLocal = 1;
         }
         xmlXPathFreeObject(obj);
@@ -2173,15 +2173,15 @@ virConfPtr xenXMParseXMLToConfig(virConnectPtr conn, const char *xml) {
                 if (!(type = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "type"))) {
                     continue;
                 }
-                if (!strcmp((const char*)type, "sdl")) {
+                if (STREQ((const char*)type, "sdl")) {
                     val = strdup("type=sdl");
-                } else if (!strcmp((const char*)type, "vnc")) {
+                } else if (STREQ((const char*)type, "vnc")) {
                     int len = 8 + 1; /* type=vnc & NULL */
                     xmlChar *vncport = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "port");
                     xmlChar *vnclisten = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "listen");
                     xmlChar *vncpasswd = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "passwd");
                     xmlChar *keymap = xmlGetProp(obj->nodesetval->nodeTab[i], BAD_CAST "keymap");
-                    int vncunused = vncport ? (!strcmp((const char*)vncport, "-1") ? 1 : 0) : 1;
+                    int vncunused = vncport ? (STREQ((const char*)vncport, "-1") ? 1 : 0) : 1;
                     if (vncunused)
                         len += 12;
                     else
@@ -2743,9 +2743,9 @@ xenXMAttachDisk(virDomainPtr domain, xmlXPathContextPtr ctxt, int hvm,
         xenXMError(domain->conn, VIR_ERR_XML_ERROR, XM_XML_ERROR);
         goto cleanup;
     }
-    if (!strcmp((const char *) type, "block"))
+    if (STREQ((const char *) type, "block"))
         source = xmlGetProp(node, BAD_CAST "dev");
-    else if (!strcmp((const char *) type, "file"))
+    else if (STREQ((const char *) type, "file"))
         source = xmlGetProp(node, BAD_CAST "file");
     else {
         xenXMError(domain->conn, VIR_ERR_XML_ERROR, XM_XML_ERROR);
@@ -2788,7 +2788,7 @@ xenXMAttachDisk(virDomainPtr domain, xmlXPathContextPtr ctxt, int hvm,
             head = offset + 1;
 
             /* Remove legacy ioemu: junk */
-            if (!strncmp(domdev, "ioemu:", 6)) {
+            if (STRPREFIX(domdev, "ioemu:")) {
                 memmove(domdev, domdev+6, strlen(domdev)-5);
             }
 
@@ -2796,7 +2796,7 @@ xenXMAttachDisk(virDomainPtr domain, xmlXPathContextPtr ctxt, int hvm,
             if ((tmp = strchr(domdev, ':')))
                 tmp[0] = '\0';
 
-            if (!(strcmp(domdev, (const char *) target)))
+            if (STREQ(domdev, (const char *) target))
                 break;
          skip:
             prev = list_val;
@@ -2895,7 +2895,7 @@ xenXMAttachInterface(virDomainPtr domain, xmlXPathContextPtr ctxt, int hvm,
                     goto skip;
                 data++;
 
-                if (!strncmp(key, "mac=", 4)) {
+                if (STRPREFIX(key, "mac=")) {
                     int len = nextkey ? (nextkey - data) : 17;
                     if (len > 17)
                         len = 17;
@@ -3114,7 +3114,7 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) {
     else if (list_ptr && list_ptr->type == VIR_CONF_LIST) {
         list_val = list_ptr->list;
         while (list_val) {
-            if (!(strcmp(device, "disk"))) {
+            if (STREQ(device, "disk")) {
                 char domdev[NAME_MAX];
                 char *head;
                 char *offset;
@@ -3141,7 +3141,7 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) {
                 head = offset + 1;
 
                 /* Remove legacy ioemu: junk */
-                if (!strncmp(domdev, "ioemu:", 6)) {
+                if (STRPREFIX(domdev, "ioemu:")) {
                     memmove(domdev, domdev+6, strlen(domdev)-5);
                 }
 
@@ -3149,7 +3149,7 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) {
                 if ((tmp = strchr(domdev, ':')))
                     tmp[0] = '\0';
 
-                if (!(strcmp(domdev, (const char *) key)))
+                if (STREQ(domdev, (const char *) key))
                     break;
             } else {
                 char dommac[18];
@@ -3169,7 +3169,7 @@ xenXMDomainDetachDevice(virDomainPtr domain, const char *xml) {
                         goto skip;
                     data++;
 
-                    if (!strncmp(mac, "mac=", 4)) {
+                    if (STRPREFIX(mac, "mac=")) {
                         int len = nextmac ? (nextmac - data) : 17;
                         if (len > 17)
                             len = 17;
index 94d0fd74a5a36a19bae50e83ca1585101983822e..22dc2112c279a8cb675c3f47885a63e2b70755ad 100644 (file)
--- a/src/xml.c
+++ b/src/xml.c
@@ -1083,9 +1083,9 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
             if (!itype) {
                 goto error;
             }
-            if (!strcmp((const char *) itype, "tablet"))
+            if (STREQ((const char *) itype, "tablet"))
                 isMouse = 0;
-            else if (strcmp((const char *) itype, "mouse")) {
+            else if (STRNEQ((const char *) itype, "mouse")) {
                 xmlFree(itype);
                 virXMLError(conn, VIR_ERR_XML_ERROR,
                             _("invalid input device"), 0);
@@ -1101,7 +1101,7 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
                     virBufferAddLit(buf, "(usbdevice tablet)");
                 }
             } else {
-                if (!strcmp((const char *) bus, "ps2")) {
+                if (STREQ((const char *) bus, "ps2")) {
                     if (!isMouse) {
                         xmlFree(bus);
                         virXMLError(conn, VIR_ERR_XML_ERROR,
@@ -1109,7 +1109,7 @@ virDomainParseXMLOSDescHVM(virConnectPtr conn, xmlNodePtr node,
                         goto error;
                     }
                     /* Nothing - implicit ps2 */
-                } else if (!strcmp((const char *) bus, "usb")) {
+                } else if (STREQ((const char *) bus, "usb")) {
                     if (isMouse)
                         virBufferAddLit(buf, "(usbdevice mouse)");
                     else
@@ -1320,7 +1320,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
             } else if ((drvName == NULL) &&
                        (xmlStrEqual(cur->name, BAD_CAST "driver"))) {
                 drvName = xmlGetProp(cur, BAD_CAST "name");
-                if (drvName && !strcmp((const char *) drvName, "tap"))
+                if (drvName && STREQ((const char *) drvName, "tap"))
                     drvType = xmlGetProp(cur, BAD_CAST "type");
             } else if (xmlStrEqual(cur->name, BAD_CAST "readonly")) {
                 ro = 1;
@@ -1335,7 +1335,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
         /* There is a case without the source
          * to the CD-ROM device
          */
-        if (hvm && device && !strcmp((const char *) device, "cdrom")) {
+        if (hvm && device && STREQ((const char *) device, "cdrom")) {
             isNoSrcCdrom = 1;
         }
         if (!isNoSrcCdrom) {
@@ -1353,12 +1353,12 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
     /* Xend (all versions) put the floppy device config
      * under the hvm (image (os)) block
      */
-    if (hvm && device && !strcmp((const char *) device, "floppy")) {
+    if (hvm && device && STREQ((const char *) device, "floppy")) {
         goto cleanup;
     }
 
     /* Xend <= 3.0.2 doesn't include cdrom config here */
-    if (hvm && device && !strcmp((const char *) device, "cdrom")) {
+    if (hvm && device && STREQ((const char *) device, "cdrom")) {
         if (xendConfigVersion == 1)
             goto cleanup;
         else
@@ -1370,7 +1370,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
     /* Normally disks are in a (device (vbd ...)) block
      * but blktap disks ended up in a differently named
      * (device (tap ....)) block.... */
-    if (drvName && !strcmp((const char *) drvName, "tap")) {
+    if (drvName && STREQ((const char *) drvName, "tap")) {
         virBufferAddLit(buf, "(tap ");
     } else {
         virBufferAddLit(buf, "(vbd ");
@@ -1380,7 +1380,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
         char *tmp = (char *) target;
 
         /* Just in case user mistakenly still puts ioemu: in their XML */
-        if (!strncmp((const char *) tmp, "ioemu:", 6))
+        if (STRPREFIX((const char *) tmp, "ioemu:"))
             tmp += 6;
 
         /* Xend <= 3.0.2 wants a ioemu: prefix on devices for HVM */
@@ -1393,7 +1393,7 @@ virDomainParseXMLDiskDesc(virConnectPtr conn, xmlNodePtr node,
         virBufferVSprintf(buf, "(dev '%s')", (const char *) target);
 
     if (drvName && !isNoSrcCdrom) {
-        if (!strcmp((const char *) drvName, "tap")) {
+        if (STREQ((const char *) drvName, "tap")) {
             virBufferVSprintf(buf, "(uname '%s:%s:%s')",
                               (const char *) drvName,
                               (drvType ? (const char *) drvType : "aio"),
index 8313a54ec3e42c461410039f4b664ee2fb8eaf1f..8e83b7c1898abfa671265c5d5cbd603eb6ee6e95 100644 (file)
@@ -429,7 +429,7 @@ static char *xmlRpcCallRaw(const char *url, const char *request)
                 goto error;
         }
 
-        if (contentType && strcmp(contentType, "text/xml") != 0) {
+        if (contentType && STRNEQ(contentType, "text/xml")) {
                 errno = EINVAL;
                 xmlRpcError(VIR_ERR_POST_FAILED, _("unexpected mime type"), 0);
                 goto error;
index 7dbe7c5d6baad278f82f86f8fba71077ff28213f..aced09ecc9949703f5387457e20ccb4a9cee8ce0 100644 (file)
@@ -52,8 +52,10 @@ static int testCompareOutput(const char *expect_rel, const char *filter,
       printf("Expect %d '%s'\n", (int)strlen(expectData), expectData);
       printf("Actual %d '%s'\n", (int)strlen(actualData), actualData);
   }
-  if (strcmp(expectData, actualData))
-    return -1;
+  if (STRNEQ(expectData, actualData)) {
+      virtTestDifference(stderr, expectData, actualData);
+      return -1;
+  }
 
   return 0;
 }
index 547c66f84f4952ef8697edf590d0f4e55cd4d4a6..b2bb05d1f4930855c6597091047303e10bb8b8df 100644 (file)
@@ -43,7 +43,7 @@ static int testCompareFiles(const char *xml, const char *sexpr,
       goto fail;
   }
 
-  if (strcmp(name, gotname)) {
+  if (STRNEQ(name, gotname)) {
       printf("Got wrong name: expected %s, got %s\n", name, gotname);
       goto fail;
   }
index 610a76f642726cf30d617f455ebf847fe8962d3c..1b259a94eb797561dce0682960d175c62bfd551b 100644 (file)
@@ -108,7 +108,7 @@ checkRequestValue(const char *xmlstr, const char *xpath, int type, void *expecte
             break;
          case XML_RPC_STRING:
             if ((obj->type != XPATH_STRING) ||
-                    (strcmp((const char *)obj->stringval, (const char *)expected)))
+                    (STRNEQ((const char *)obj->stringval, (const char *)expected)))
                 goto error;
             break;
         default: