pkg: make pkgconf_compare_version consistent
The code taken from rpmvercmp in pkg-config returns -1 if a is less than b, 0 if a is equal to b, and 1 if a is greater than b. This matches the expectations of the comparison operators that use this function. However, the tilde handling, the NULL handling, and the docstring all do the opposite. This fixes the tilde handling, the NULL handling, and the docstring to match the behavior of the rpmvercmp code and the expectations of the comparison operators.pull/249/head
parent
eb5c6b49d6
commit
08db74c474
|
@ -826,7 +826,7 @@ out:
|
||||||
*
|
*
|
||||||
* :param char* a: The first version to compare in the pair.
|
* :param char* a: The first version to compare in the pair.
|
||||||
* :param char* b: The second version to compare in the pair.
|
* :param char* b: The second version to compare in the pair.
|
||||||
* :return: -1 if the first version is greater, 0 if both versions are equal, 1 if the second version is greater.
|
* :return: -1 if the first version is less than, 0 if both versions are equal, 1 if the second version is less than.
|
||||||
* :rtype: int
|
* :rtype: int
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
|
@ -841,10 +841,10 @@ pkgconf_compare_version(const char *a, const char *b)
|
||||||
|
|
||||||
/* optimization: if version matches then it's the same version. */
|
/* optimization: if version matches then it's the same version. */
|
||||||
if (a == NULL)
|
if (a == NULL)
|
||||||
return 1;
|
return -1;
|
||||||
|
|
||||||
if (b == NULL)
|
if (b == NULL)
|
||||||
return -1;
|
return 1;
|
||||||
|
|
||||||
if (!strcasecmp(a, b))
|
if (!strcasecmp(a, b))
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -865,9 +865,9 @@ pkgconf_compare_version(const char *a, const char *b)
|
||||||
if (*one == '~' || *two == '~')
|
if (*one == '~' || *two == '~')
|
||||||
{
|
{
|
||||||
if (*one != '~')
|
if (*one != '~')
|
||||||
return -1;
|
|
||||||
if (*two != '~')
|
|
||||||
return 1;
|
return 1;
|
||||||
|
if (*two != '~')
|
||||||
|
return -1;
|
||||||
|
|
||||||
one++;
|
one++;
|
||||||
two++;
|
two++;
|
||||||
|
|
Loading…
Reference in New Issue