From 692caf875937756db6d3f87dc24fa61d28fe0d9c Mon Sep 17 00:00:00 2001 From: Tomas Mlcoch Date: Fri, 22 May 2015 12:31:24 +0200 Subject: [PATCH] misc: Rename elements in cr_Version structure --- src/misc.c | 47 ++++++++++++++++++---------------------- src/misc.h | 4 ++-- tests/test_misc.c | 64 +++++++++++++++++++++++++++---------------------------- 3 files changed, 55 insertions(+), 60 deletions(-) diff --git a/src/misc.c b/src/misc.c index ba9d2d6..17d95d1 100644 --- a/src/misc.c +++ b/src/misc.c @@ -800,19 +800,19 @@ cr_str_to_version(const char *str) char *endptr; const char *ptr = str; struct cr_Version ver; - ver.version = 0; - ver.release = 0; - ver.patch = 0; - ver.suffix = NULL; + ver.major = 0; + ver.minor = 0; + ver.patch = 0; + ver.suffix = NULL; if (!str || str[0] == '\0') { return ver; } - // Version chunk + // Major chunk - ver.version = strtol(ptr, &endptr, 10); + ver.major = strtol(ptr, &endptr, 10); if (!endptr || endptr[0] == '\0') { // Whole string has been converted successfully return ver; @@ -827,9 +827,9 @@ cr_str_to_version(const char *str) } - // Release chunk + // Minor chunk - ver.release = strtol(ptr, &endptr, 10); + ver.minor = strtol(ptr, &endptr, 10); if (!endptr || endptr[0] == '\0') { // Whole string has been converted successfully return ver; @@ -875,39 +875,34 @@ int cr_cmp_version_str(const char* str1, const char *str2) { struct cr_Version ver1, ver2; + int strcmp_res = 0; - if (!str1 && !str2) { + if (!str1 && !str2) return 0; - } // Get version ver1 = cr_str_to_version(str1); ver2 = cr_str_to_version(str2); + strcmp_res = g_strcmp0(ver1.suffix, ver2.suffix); + g_free(ver1.suffix); + g_free(ver2.suffix); - if (ver1.version > ver2.version) { + if (ver1.major > ver2.major) return 1; - } else if (ver1.version < ver2.version) { + if (ver1.major < ver2.major) return 2; - } else if (ver1.release > ver2.release) { + if (ver1.minor > ver2.minor) return 1; - } else if (ver1.release < ver2.release) { + if (ver1.minor < ver2.minor) return 2; - } else if (ver1.patch > ver2. patch) { + if (ver1.patch > ver2.patch) return 1; - } else if (ver1.patch < ver2.patch) { + if (ver1.patch < ver2.patch) return 2; - } - - int strcmp_res = g_strcmp0(ver1.suffix, ver2.suffix); - - g_free(ver1.suffix); - g_free(ver2.suffix); - - if (strcmp_res > 0) { + if (strcmp_res > 0) return 1; - } else if (strcmp_res < 0) { + if (strcmp_res < 0) return 2; - } return 0; } diff --git a/src/misc.h b/src/misc.h index f6c78a3..4f9d208 100644 --- a/src/misc.h +++ b/src/misc.h @@ -76,8 +76,8 @@ typedef struct { * e.g. for openssl-devel-1.0.0i = version: 1, release: 0, patch: 0, suffix: i */ struct cr_Version { - long version; /*!< version */ - long release; /*!< release */ + long major; /*!< version */ + long minor; /*!< release */ long patch; /*!< patch */ char *suffix; /*!< rest of version string after conversion */ }; diff --git a/tests/test_misc.c b/tests/test_misc.c index 79ccc3d..aacff0d 100644 --- a/tests/test_misc.c +++ b/tests/test_misc.c @@ -785,106 +785,106 @@ test_cr_str_to_version(void) struct cr_Version ver; ver = cr_str_to_version(NULL); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version(""); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version("abcd"); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "abcd"); g_free(ver.suffix); ver = cr_str_to_version("0.0.0"); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version("9"); - g_assert_cmpint(ver.version, ==, 9); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 9); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version("3beta"); - g_assert_cmpint(ver.version, ==, 3); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 3); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "beta"); g_free(ver.suffix); ver = cr_str_to_version("5.2gamma"); - g_assert_cmpint(ver.version, ==, 5); - g_assert_cmpint(ver.release, ==, 2); + g_assert_cmpint(ver.major, ==, 5); + g_assert_cmpint(ver.minor, ==, 2); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "gamma"); g_free(ver.suffix); ver = cr_str_to_version("0.0.0b"); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "b"); g_free(ver.suffix); ver = cr_str_to_version("2.3.4"); - g_assert_cmpint(ver.version, ==, 2); - g_assert_cmpint(ver.release, ==, 3); + g_assert_cmpint(ver.major, ==, 2); + g_assert_cmpint(ver.minor, ==, 3); g_assert_cmpint(ver.patch, ==, 4); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version("11.33.123"); - g_assert_cmpint(ver.version, ==, 11); - g_assert_cmpint(ver.release, ==, 33); + g_assert_cmpint(ver.major, ==, 11); + g_assert_cmpint(ver.minor, ==, 33); g_assert_cmpint(ver.patch, ==, 123); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version("1234567.0987654.45678"); - g_assert_cmpint(ver.version, ==, 1234567); - g_assert_cmpint(ver.release, ==, 987654); + g_assert_cmpint(ver.major, ==, 1234567); + g_assert_cmpint(ver.minor, ==, 987654); g_assert_cmpint(ver.patch, ==, 45678); g_assert_cmpstr(ver.suffix, ==, NULL); ver = cr_str_to_version("1.0.2i"); - g_assert_cmpint(ver.version, ==, 1); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 1); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 2); g_assert_cmpstr(ver.suffix, ==, "i"); g_free(ver.suffix); ver = cr_str_to_version("1..3"); - g_assert_cmpint(ver.version, ==, 1); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 1); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 3); g_assert_cmpstr(ver.suffix, ==, NULL); g_free(ver.suffix); ver = cr_str_to_version("..alpha"); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "alpha"); g_free(ver.suffix); ver = cr_str_to_version("alpha"); - g_assert_cmpint(ver.version, ==, 0); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 0); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "alpha"); g_free(ver.suffix); ver = cr_str_to_version("1-2-3"); - g_assert_cmpint(ver.version, ==, 1); - g_assert_cmpint(ver.release, ==, 0); + g_assert_cmpint(ver.major, ==, 1); + g_assert_cmpint(ver.minor, ==, 0); g_assert_cmpint(ver.patch, ==, 0); g_assert_cmpstr(ver.suffix, ==, "-2-3"); g_free(ver.suffix); -- 2.7.4