]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virStringParseVersion: Parse into 'unsigned long long'
authorPeter Krempa <pkrempa@redhat.com>
Tue, 7 Mar 2023 15:18:51 +0000 (16:18 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 3 Apr 2023 07:19:06 +0000 (09:19 +0200)
Phase out 'unsigned long'

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
17 files changed:
src/bhyve/bhyve_driver.c
src/ch/ch_conf.c
src/esx/esx_vi.h
src/lxc/lxc_driver.c
src/network/bridge_driver_linux.c
src/openvz/openvz_conf.c
src/util/virdnsmasq.c
src/util/virfirewalld.c
src/util/virfirewalld.h
src/util/virstring.c
src/util/virstring.h
src/vbox/vbox_common.c
src/vmware/vmware_conf.c
src/vz/vz_utils.c
tests/testutilsqemu.c
tests/utiltest.c
tools/virt-host-validate-common.c

index 9ece06447d847e965d55d5fa94b3a4ffe3389921..10ef2f2f410766030c5e7e9f6791671833c4189d 100644 (file)
@@ -248,6 +248,7 @@ bhyveConnectGetSysinfo(virConnectPtr conn, unsigned int flags)
 static int
 bhyveConnectGetVersion(virConnectPtr conn, unsigned long *version)
 {
+    unsigned long long tmpver;
     struct utsname ver;
 
     if (virConnectGetVersionEnsureACL(conn) < 0)
@@ -255,12 +256,14 @@ bhyveConnectGetVersion(virConnectPtr conn, unsigned long *version)
 
     uname(&ver);
 
-    if (virStringParseVersion(version, ver.release, true) < 0) {
+    if (virStringParseVersion(&tmpver, ver.release, true) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Unknown release: %1$s"), ver.release);
         return -1;
     }
 
+    *version = tmpver;
+
     return 0;
 }
 
index 2bb2eaf820d680ddfa344d6069105467ae78eee4..a8565d9537e7e6f28e3defceb0fc56181e04cf79 100644 (file)
@@ -175,7 +175,7 @@ virCHDriverConfigDispose(void *obj)
 int
 chExtractVersion(virCHDriver *driver)
 {
-    unsigned long version;
+    unsigned long long version;
     g_autofree char *help = NULL;
     char *tmp = NULL;
     g_autofree char *ch_cmd = g_find_program_in_path(CH_CMD);
index 17d0bf9fea07210e0fc2ef8b6c097115e5e6a8ee..b5eeaa750ed4d3595b31271c8a008c9e4fb66553 100644 (file)
@@ -179,9 +179,9 @@ struct _esxVI_Context {
     char *username;
     char *password;
     esxVI_ServiceContent *service;
-    unsigned long apiVersion; /* = 1000000 * major + 1000 * minor + micro */
+    unsigned long long apiVersion; /* = 1000000 * major + 1000 * minor + micro */
     esxVI_ProductLine productLine;
-    unsigned long productVersion; /* = 1000000 * major + 1000 * minor + micro */
+    unsigned long long productVersion; /* = 1000000 * major + 1000 * minor + micro */
     esxVI_UserSession *session; /* ... except the session ... */
     virMutex *sessionLock; /* ... that is protected by this mutex */
     esxVI_Datacenter *datacenter;
index 35eb29032eacba677101622baa1e9638829ad86e..3bc01cbc239dcf2164542d1db9ea8c2134691a67 100644 (file)
@@ -1641,6 +1641,7 @@ lxcConnectSupportsFeature(virConnectPtr conn, int feature)
 
 static int lxcConnectGetVersion(virConnectPtr conn, unsigned long *version)
 {
+    unsigned long long tmpver;
     struct utsname ver;
 
     uname(&ver);
@@ -1648,11 +1649,13 @@ static int lxcConnectGetVersion(virConnectPtr conn, unsigned long *version)
     if (virConnectGetVersionEnsureACL(conn) < 0)
         return -1;
 
-    if (virStringParseVersion(version, ver.release, true) < 0) {
+    if (virStringParseVersion(&tmpver, ver.release, true) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown release: %1$s"), ver.release);
         return -1;
     }
 
+    *version = tmpver;
+
     return 0;
 }
 
index 860793fba652ef2305a2b427b9a0eb6af2f52ce0..1ef5b9d917ea21ba870261c727bff6d0e25e4ea7 100644 (file)
@@ -869,7 +869,7 @@ int networkAddFirewallRules(virNetworkDef *def)
                 if (virFirewallDInterfaceSetZone(def->bridge, "libvirt") < 0)
                     return -1;
             } else {
-                unsigned long version;
+                unsigned long long version;
                 int vresult = virFirewallDGetVersion(&version);
 
                 if (vresult < 0)
index 1331860a820645961c0f2c65287376fad915a316..eab3f748d0e60471d4e62e0e2d394816bc945208 100644 (file)
@@ -64,7 +64,7 @@ strtoI(const char *str)
 static int
 openvzExtractVersionInfo(const char *cmdstr, int *retversion)
 {
-    unsigned long version;
+    unsigned long long version;
     g_autofree char *help = NULL;
     char *tmp;
     g_autoptr(virCommand) cmd = virCommandNewArgList(cmdstr, "--help", NULL);
index 91106b5a28f0ef0f937cf4b5270aa730237fe85b..7d6de943cfa0c4525d05173ea5eee42643ff1e2e 100644 (file)
@@ -603,7 +603,7 @@ dnsmasqCapsSetFromBuffer(dnsmasqCaps *caps, const char *buf)
 {
     int len;
     const char *p;
-    unsigned long version;
+    unsigned long long version;
 
     p = STRSKIP(buf, DNSMASQ_VERSION_STR);
     if (!p)
@@ -616,7 +616,7 @@ dnsmasqCapsSetFromBuffer(dnsmasqCaps *caps, const char *buf)
 
     if (version < DNSMASQ_MIN_MAJOR * 1000000 + DNSMASQ_MIN_MINOR * 1000) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                       _("dnsmasq version >= %1$u.%2$u required but %3$lu.%4$lu found"),
+                       _("dnsmasq version >= %1$u.%2$u required but %3$llu.%4$llu found"),
                        DNSMASQ_MIN_MAJOR, DNSMASQ_MIN_MINOR,
                        version / 1000000,
                        version % 1000000 / 1000);
index 7733ef241049cc7b5d2c59caaa7b0d84c8a21409..6fc54f357d961af182c06e826355535867ab3146 100644 (file)
@@ -80,7 +80,7 @@ virFirewallDIsRegistered(void)
  * Returns 0 if version was successfully retrieved, or -1 on error
  */
 int
-virFirewallDGetVersion(unsigned long *version)
+virFirewallDGetVersion(unsigned long long *version)
 {
     GDBusConnection *sysbus = virGDBusGetSystemBus();
     g_autoptr(GVariant) message = NULL;
@@ -114,7 +114,7 @@ virFirewallDGetVersion(unsigned long *version)
         return -1;
     }
 
-    VIR_DEBUG("FirewallD version: %s - %lu", versionStr, *version);
+    VIR_DEBUG("FirewallD version: %s - %llu", versionStr, *version);
 
     return 0;
 }
index fa4c9e702ccbf2266bee0cbd77a68cd80e1febaf..004d10ec299966239e38060165e8faaed154ab65 100644 (file)
@@ -29,7 +29,7 @@ typedef enum {
     VIR_FIREWALLD_BACKEND_LAST,
 } virFirewallDBackendType;
 
-int virFirewallDGetVersion(unsigned long *version);
+int virFirewallDGetVersion(unsigned long long *version);
 int virFirewallDGetBackend(void);
 int virFirewallDIsRegistered(void);
 int virFirewallDGetZones(char ***zones, size_t *nzones);
index b49c0f86b65e691fd440c41c767c80992d9f4711..d9c9c8f73807f7dd3b6d3980132d0fbe0fdcc8ae 100644 (file)
@@ -1022,7 +1022,7 @@ int virStringParseYesNo(const char *str, bool *result)
 
 /**
  * virStringParseVersion:
- * @version: unsigned long pointer to output the version number
+ * @version: unsigned long long pointer to output the version number
  * @str: const char pointer to the version string
  * @allowMissing: true to treat 3 like 3.0.0, false to error out on
  * missing minor or micro
@@ -1037,7 +1037,7 @@ int virStringParseYesNo(const char *str, bool *result)
  * Returns the 0 for success, -1 for error.
  */
 int
-virStringParseVersion(unsigned long *version,
+virStringParseVersion(unsigned long long *version,
                       const char *str,
                       bool allowMissing)
 {
index ec8ceb0022b1376b94bf2471fa7882aded2f3611..0f8b5d06642561e6b5afd4c8b5564a203141c9ee 100644 (file)
@@ -136,6 +136,6 @@ int virStringParseYesNo(const char *str,
                         bool *result)
     G_GNUC_WARN_UNUSED_RESULT;
 
-int virStringParseVersion(unsigned long *version,
+int virStringParseVersion(unsigned long long *version,
                           const char *str,
                           bool allowMissing);
index a8694c3fb12210437507b5be5764171005659e70..dba4af1a448a42a8824ce0efd2888d983c575110 100644 (file)
@@ -272,6 +272,7 @@ vboxExtractVersion(void)
     int ret = -1;
     PRUnichar *versionUtf16 = NULL;
     char *vboxVersion = NULL;
+    unsigned long long version;
     nsresult rc;
 
     if (vbox_driver->version > 0)
@@ -283,9 +284,11 @@ vboxExtractVersion(void)
 
     gVBoxAPI.UPFN.Utf16ToUtf8(vbox_driver->pFuncs, versionUtf16, &vboxVersion);
 
-    if (virStringParseVersion(&vbox_driver->version, vboxVersion, false) >= 0)
+    if (virStringParseVersion(&version, vboxVersion, false) >= 0)
         ret = 0;
 
+    vbox_driver->version = version;
+
     gVBoxAPI.UPFN.Utf8Free(vbox_driver->pFuncs, vboxVersion);
     gVBoxAPI.UPFN.ComUnallocMem(vbox_driver->pFuncs, versionUtf16);
     vboxVersion = NULL;
index 8303591a9b089b3741ed75adfadb431e606ac803..ba4e4d28dc5153bd0e79b8652eced5b4a4e1a43a 100644 (file)
@@ -197,6 +197,7 @@ vmwareSetSentinal(const char **prog, const char *key)
 int
 vmwareParseVersionStr(int type, const char *verbuf, unsigned long *version)
 {
+    unsigned long long tmpver;
     const char *pattern;
     const char *tmp;
 
@@ -228,12 +229,14 @@ vmwareParseVersionStr(int type, const char *verbuf, unsigned long *version)
         return -1;
     }
 
-    if (virStringParseVersion(version, tmp, false) < 0) {
+    if (virStringParseVersion(&tmpver, tmp, false) < 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("version parsing error"));
         return -1;
     }
 
+    *version = tmpver;
+
     return 0;
 }
 
index 239d0db277f3ecc999682988534d817b8ac0a48d..2db1146149fd55250476cbab684e7ec52e8818f0 100644 (file)
@@ -154,6 +154,7 @@ vzInitVersion(struct _vzDriver *driver)
     g_autofree char *output = NULL;
     char *sVer, *tmp;
     const char *searchStr = "prlsrvctl version ";
+    unsigned long long version;
     int ret = -1;
 
     output = vzGetOutput(PRLSRVCTL, "--help", NULL);
@@ -183,11 +184,13 @@ vzInitVersion(struct _vzDriver *driver)
     }
 
     tmp[0] = '\0';
-    if (virStringParseVersion(&(driver->vzVersion), sVer, true) < 0) {
+    if (virStringParseVersion(&version, sVer, true) < 0) {
         vzParseError();
         return -1;
     }
 
+    driver->vzVersion = version;
+
     vzInitCaps(driver->vzVersion, &driver->vzCaps);
 
     return 0;
index a5780dc746c2323ca22a330a860d2631856707fe..41727cfd1ac6db385dd8ba9f54e293bd0421e94e 100644 (file)
@@ -718,8 +718,8 @@ testQemuGetLatestCapsForArch(const char *arch,
     g_autoptr(DIR) dir = NULL;
     int rc;
     g_autofree char *fullsuffix = NULL;
-    unsigned long maxver = 0;
-    unsigned long ver;
+    unsigned long long maxver = 0;
+    unsigned long long ver;
     g_autofree char *maxname = NULL;
 
     fullsuffix = g_strdup_printf("%s.%s", arch, suffix);
index e90baca65fd6c96683dcc476b42f8c184684b4d0..5930557c08eae83e6eab9e6867db735b999f76c8 100644 (file)
@@ -124,7 +124,7 @@ struct testVersionString
     const char *string;
     bool allowMissing;
     int result;
-    unsigned long version;
+    unsigned long long version;
 };
 
 static struct testVersionString versions[] = {
@@ -146,7 +146,7 @@ testParseVersionString(const void *data G_GNUC_UNUSED)
 {
     int result;
     size_t i;
-    unsigned long version;
+    unsigned long long version;
 
     for (i = 0; i < G_N_ELEMENTS(versions); ++i) {
         result = virStringParseVersion(&version, versions[i].string,
@@ -165,8 +165,8 @@ testParseVersionString(const void *data G_GNUC_UNUSED)
 
         if (version != versions[i].version) {
             VIR_TEST_DEBUG("\nVersion string [%s]", versions[i].string);
-            VIR_TEST_DEBUG("Expect version [%lu]", versions[i].version);
-            VIR_TEST_DEBUG("Actual version [%lu]", version);
+            VIR_TEST_DEBUG("Expect version [%llu]", versions[i].version);
+            VIR_TEST_DEBUG("Actual version [%llu]", version);
 
             return -1;
         }
index 3fc9ddb1522df8eea9c3e51e0595ebb9a602d475..e96986bb484de90170c1a03cb5027f704d5ac20e 100644 (file)
@@ -251,7 +251,7 @@ int virHostValidateLinuxKernel(const char *hvname,
                                const char *hint)
 {
     struct utsname uts;
-    unsigned long thisversion;
+    unsigned long long thisversion;
 
     uname(&uts);