summaryrefslogtreecommitdiffstats
path: root/src/version.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/version.c')
-rw-r--r--src/version.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/version.c b/src/version.c
index c270f68..57f9a22 100644
--- a/src/version.c
+++ b/src/version.c
@@ -174,16 +174,20 @@ int apk_version_validate(apk_blob_t ver)
return t == TOKEN_END;
}
-int apk_version_compare(apk_blob_t a, apk_blob_t b)
+int apk_version_compare(const char *str1, const char *str2)
{
int at = TOKEN_DIGIT, bt = TOKEN_DIGIT;
int av = 0, bv = 0;
+ apk_blob_t a, b;
- if (APK_BLOB_IS_NULL(a) || APK_BLOB_IS_NULL(b)) {
- if (APK_BLOB_IS_NULL(a) && APK_BLOB_IS_NULL(b))
+ if (str1 == NULL || str2 == NULL) {
+ if (str1 == NULL && str2 == NULL)
return APK_VERSION_EQUAL;
return APK_VERSION_EQUAL | APK_VERSION_GREATER | APK_VERSION_LESS;
}
+
+ a = APK_BLOB_STR(str1);
+ b = APK_BLOB_STR(str2);
while (at == bt && at != TOKEN_END && at != TOKEN_INVALID && av == bv) {
av = get_token(&at, &a);