uname(&ver);
- if (virParseVersionString(ver.release, version, true) < 0) {
+ if (virStringParseVersion(version, ver.release, true) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unknown release: %s"), ver.release);
return -1;
return -1;
}
- if (virParseVersionString(tmp, &version, true) < 0) {
+ if (virStringParseVersion(&version, tmp, true) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Unable to parse cloud-hypervisor version: %s"), tmp);
return -1;
return -1;
}
- if (virParseVersionString(ctx->service->about->apiVersion,
- &ctx->apiVersion, true) < 0) {
+ if (virStringParseVersion(&ctx->apiVersion,
+ ctx->service->about->apiVersion, true) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Could not parse VI API version '%s'"),
ctx->service->about->apiVersion);
return -1;
}
- if (virParseVersionString(ctx->service->about->version,
- &ctx->productVersion, true) < 0) {
+ if (virStringParseVersion(&ctx->productVersion,
+ ctx->service->about->version, true) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Could not parse product version '%s'"),
ctx->service->about->version);
# util/virstring.h
-virParseVersionString;
virSkipSpaces;
virSkipSpacesAndBackslash;
virSkipSpacesBackwards;
virStringMatch;
virStringMatchesNameSuffix;
virStringParsePort;
+virStringParseVersion;
virStringParseYesNo;
virStringReplace;
virStringSearch;
if (virConnectGetVersionEnsureACL(conn) < 0)
return -1;
- if (virParseVersionString(ver.release, version, true) < 0) {
+ if (virStringParseVersion(version, ver.release, true) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, _("Unknown release: %s"), ver.release);
return -1;
}
}
/* following Linux lxr, the logic was inverted in 2.6.39 */
- if (virParseVersionString(utsname.release, &thisversion, true) < 0) {
+ if (virStringParseVersion(&thisversion, utsname.release, true) < 0) {
VIR_ERROR(_("Could not determine kernel version from string %s"),
utsname.release);
return;
* 'iptables v1.4.16'
*/
if (!(tmp = strchr(lines[0], 'v')) ||
- virParseVersionString(tmp + 1, version, true) < 0) {
+ virStringParseVersion(version, tmp + 1, true) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Cannot parse version string '%s'"),
lines[0]);
if ((tmp = STRSKIP(tmp, "vzctl version ")) == NULL)
return -1;
- if (virParseVersionString(tmp, &version, true) < 0)
+ if (virStringParseVersion(&version, tmp, true) < 0)
return -1;
if (retversion)
virSkipToDigit(&p);
- if (virParseVersionString(p, &version, true) < 0)
+ if (virStringParseVersion(&version, p, true) < 0)
goto error;
if (version < DNSMASQ_MIN_MAJOR * 1000000 + DNSMASQ_MIN_MINOR * 1000) {
g_variant_get(reply, "(v)", &gvar);
g_variant_get(gvar, "&s", &versionStr);
- if (virParseVersionString(versionStr, version, false) < 0) {
+ if (virStringParseVersion(version, versionStr, false) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
_("Failed to parse firewalld version '%s'"),
versionStr);
/**
- * virParseVersionString:
- * @str: const char pointer to the version string
+ * virStringParseVersion:
* @version: unsigned 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
-virParseVersionString(const char *str, unsigned long *version,
+virStringParseVersion(unsigned long *version,
+ const char *str,
bool allowMissing)
{
unsigned int major, minor = 0, micro = 0;
bool *result)
G_GNUC_WARN_UNUSED_RESULT;
-int virParseVersionString(const char *str,
- unsigned long *version,
+int virStringParseVersion(unsigned long *version,
+ const char *str,
bool allowMissing);
gVBoxAPI.UPFN.Utf16ToUtf8(vbox_driver->pFuncs, versionUtf16, &vboxVersion);
- if (virParseVersionString(vboxVersion, &vbox_driver->version, false) >= 0)
+ if (virStringParseVersion(&vbox_driver->version, vboxVersion, false) >= 0)
ret = 0;
gVBoxAPI.UPFN.Utf8Free(vbox_driver->pFuncs, vboxVersion);
return -1;
}
- if (virParseVersionString(tmp, version, false) < 0) {
+ if (virStringParseVersion(version, tmp, false) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("version parsing error"));
return -1;
}
tmp[0] = '\0';
- if (virParseVersionString(sVer, &(driver->vzVersion), true) < 0) {
+ if (virStringParseVersion(&(driver->vzVersion), sVer, true) < 0) {
vzParseError();
goto cleanup;
}
if (!virStringStripSuffix(tmp, fullsuffix))
continue;
- if (virParseVersionString(tmp, &ver, false) < 0) {
+ if (virStringParseVersion(&ver, tmp, false) < 0) {
VIR_TEST_DEBUG("skipping caps file '%s'", ent->d_name);
continue;
}
unsigned long version;
for (i = 0; i < G_N_ELEMENTS(versions); ++i) {
- result = virParseVersionString(versions[i].string, &version,
+ result = virStringParseVersion(&version, versions[i].string,
versions[i].allowMissing);
if (result != versions[i].result) {
return VIR_HOST_VALIDATE_FAILURE(level);
}
- if (virParseVersionString(uts.release, &thisversion, true) < 0) {
+ if (virStringParseVersion(&thisversion, uts.release, true) < 0) {
virHostMsgFail(level, "%s", hint);
return VIR_HOST_VALIDATE_FAILURE(level);
}