]> xenbits.xensource.com Git - libvirt.git/commitdiff
util: virParseVersionString: move to virstring.c
authorJán Tomko <jtomko@redhat.com>
Sun, 23 Feb 2020 23:44:01 +0000 (00:44 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 3 Feb 2022 13:10:03 +0000 (14:10 +0100)
Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
src/libvirt_private.syms
src/util/virstring.c
src/util/virstring.h
src/util/virutil.c
src/util/virutil.h

index 9bc3d9530b345d21d7b2a23ba4532d8084578089..2f6df7ada1ca8b67d6ad8e2bbe48038473db0229 100644 (file)
@@ -3303,6 +3303,7 @@ virStorageFileParseBackingStoreStr;
 
 
 # util/virstring.h
+virParseVersionString;
 virSkipSpaces;
 virSkipSpacesAndBackslash;
 virSkipSpacesBackwards;
@@ -3549,7 +3550,6 @@ virMemoryLimitIsSet;
 virMemoryLimitTruncate;
 virMemoryMaxValue;
 virParseOwnershipIds;
-virParseVersionString;
 virPipe;
 virPipeNonBlock;
 virPipeQuiet;
index cee56debcaa097e5f7b7214632d95936438b89d9..a7ce5669633f56c1f78fed9bbaf2bc616317fd8f 100644 (file)
@@ -1019,3 +1019,50 @@ int virStringParseYesNo(const char *str, bool *result)
 
     return 0;
 }
+
+
+/**
+ * virParseVersionString:
+ * @str: const char pointer to the version string
+ * @version: unsigned long pointer to output the version number
+ * @allowMissing: true to treat 3 like 3.0.0, false to error out on
+ * missing minor or micro
+ *
+ * Parse an unsigned version number from a version string. Expecting
+ * 'major.minor.micro' format, ignoring an optional suffix.
+ *
+ * The major, minor and micro numbers are encoded into a single version number:
+ *
+ *   1000000 * major + 1000 * minor + micro
+ *
+ * Returns the 0 for success, -1 for error.
+ */
+int
+virParseVersionString(const char *str, unsigned long *version,
+                      bool allowMissing)
+{
+    unsigned int major, minor = 0, micro = 0;
+    char *tmp;
+
+    if (virStrToLong_ui(str, &tmp, 10, &major) < 0)
+        return -1;
+
+    if (!allowMissing && *tmp != '.')
+        return -1;
+
+    if ((*tmp == '.') && virStrToLong_ui(tmp + 1, &tmp, 10, &minor) < 0)
+        return -1;
+
+    if (!allowMissing && *tmp != '.')
+        return -1;
+
+    if ((*tmp == '.') && virStrToLong_ui(tmp + 1, &tmp, 10, &micro) < 0)
+        return -1;
+
+    if (major > UINT_MAX / 1000000 || minor > 999 || micro > 999)
+        return -1;
+
+    *version = 1000000 * major + 1000 * minor + micro;
+
+    return 0;
+}
index 45f07ddd7ad7bca466aac19399fa721f5c6b2eb6..1dbeb7445ff6390b4e7b3102b6642fe42dfd768f 100644 (file)
@@ -135,3 +135,7 @@ int virStringParsePort(const char *str,
 int virStringParseYesNo(const char *str,
                         bool *result)
     G_GNUC_WARN_UNUSED_RESULT;
+
+int virParseVersionString(const char *str,
+                          unsigned long *version,
+                          bool allowMissing);
index 8a6efd4d5c05b28156ffc419adbc699e70d25802..fe5500726e98785ebbe0ceccbfc04cffa5fabf0a 100644 (file)
@@ -231,52 +231,6 @@ virScaleInteger(unsigned long long *value, const char *suffix,
 }
 
 
-/**
- * virParseVersionString:
- * @str: const char pointer to the version string
- * @version: unsigned long pointer to output the version number
- * @allowMissing: true to treat 3 like 3.0.0, false to error out on
- * missing minor or micro
- *
- * Parse an unsigned version number from a version string. Expecting
- * 'major.minor.micro' format, ignoring an optional suffix.
- *
- * The major, minor and micro numbers are encoded into a single version number:
- *
- *   1000000 * major + 1000 * minor + micro
- *
- * Returns the 0 for success, -1 for error.
- */
-int
-virParseVersionString(const char *str, unsigned long *version,
-                      bool allowMissing)
-{
-    unsigned int major, minor = 0, micro = 0;
-    char *tmp;
-
-    if (virStrToLong_ui(str, &tmp, 10, &major) < 0)
-        return -1;
-
-    if (!allowMissing && *tmp != '.')
-        return -1;
-
-    if ((*tmp == '.') && virStrToLong_ui(tmp + 1, &tmp, 10, &minor) < 0)
-        return -1;
-
-    if (!allowMissing && *tmp != '.')
-        return -1;
-
-    if ((*tmp == '.') && virStrToLong_ui(tmp + 1, &tmp, 10, &micro) < 0)
-        return -1;
-
-    if (major > UINT_MAX / 1000000 || minor > 999 || micro > 999)
-        return -1;
-
-    *version = 1000000 * major + 1000 * minor + micro;
-
-    return 0;
-}
-
 /**
  * Format @val as a base-10 decimal number, in the
  * buffer @buf of size @buflen. To allocate a suitable
index 6bb55918ad5f67528966adc594aabdbe71927afa..6adebde242403003b8563381ead96113ba05dc7d 100644 (file)
@@ -44,9 +44,6 @@ int virScaleInteger(unsigned long long *value, const char *suffix,
                     unsigned long long scale, unsigned long long limit)
     ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;
 
-int virParseVersionString(const char *str, unsigned long *version,
-                          bool allowMissing);
-
 char *virFormatIntDecimal(char *buf, size_t buflen, int val)
     ATTRIBUTE_NONNULL(1) G_GNUC_WARN_UNUSED_RESULT;