static int
bhyveConnectGetVersion(virConnectPtr conn, unsigned long *version)
{
+ unsigned long long tmpver;
struct utsname ver;
if (virConnectGetVersionEnsureACL(conn) < 0)
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;
}
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);
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;
static int lxcConnectGetVersion(virConnectPtr conn, unsigned long *version)
{
+ unsigned long long tmpver;
struct utsname ver;
uname(&ver);
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;
}
if (virFirewallDInterfaceSetZone(def->bridge, "libvirt") < 0)
return -1;
} else {
- unsigned long version;
+ unsigned long long version;
int vresult = virFirewallDGetVersion(&version);
if (vresult < 0)
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);
{
int len;
const char *p;
- unsigned long version;
+ unsigned long long version;
p = STRSKIP(buf, DNSMASQ_VERSION_STR);
if (!p)
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);
* 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;
return -1;
}
- VIR_DEBUG("FirewallD version: %s - %lu", versionStr, *version);
+ VIR_DEBUG("FirewallD version: %s - %llu", versionStr, *version);
return 0;
}
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);
/**
* 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
* Returns the 0 for success, -1 for error.
*/
int
-virStringParseVersion(unsigned long *version,
+virStringParseVersion(unsigned long long *version,
const char *str,
bool allowMissing)
{
bool *result)
G_GNUC_WARN_UNUSED_RESULT;
-int virStringParseVersion(unsigned long *version,
+int virStringParseVersion(unsigned long long *version,
const char *str,
bool allowMissing);
int ret = -1;
PRUnichar *versionUtf16 = NULL;
char *vboxVersion = NULL;
+ unsigned long long version;
nsresult rc;
if (vbox_driver->version > 0)
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;
int
vmwareParseVersionStr(int type, const char *verbuf, unsigned long *version)
{
+ unsigned long long tmpver;
const char *pattern;
const char *tmp;
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;
}
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);
}
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;
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);
const char *string;
bool allowMissing;
int result;
- unsigned long version;
+ unsigned long long version;
};
static struct testVersionString versions[] = {
{
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,
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;
}
const char *hint)
{
struct utsname uts;
- unsigned long thisversion;
+ unsigned long long thisversion;
uname(&uts);