mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-25 20:50:03 +01:00
Update rpmvercmp with bugfixes from RPM
Grab two minor bugfixes from RPM's rpmvercmp.
This commit is contained in:
parent
66d49f1375
commit
726f8e4c13
1 changed files with 5 additions and 1 deletions
6
pkg.c
6
pkg.c
|
|
@ -1323,6 +1323,9 @@ static int rpmvercmp(const char * a, const char * b) {
|
||||||
while (*one && !isalnum((guchar)*one)) one++;
|
while (*one && !isalnum((guchar)*one)) one++;
|
||||||
while (*two && !isalnum((guchar)*two)) two++;
|
while (*two && !isalnum((guchar)*two)) two++;
|
||||||
|
|
||||||
|
/* If we ran to the end of either, we are finished with the loop */
|
||||||
|
if (!(*one && *two)) break;
|
||||||
|
|
||||||
str1 = one;
|
str1 = one;
|
||||||
str2 = two;
|
str2 = two;
|
||||||
|
|
||||||
|
|
@ -1349,7 +1352,8 @@ static int rpmvercmp(const char * a, const char * b) {
|
||||||
/* take care of the case where the two version segments are */
|
/* take care of the case where the two version segments are */
|
||||||
/* different types: one numeric and one alpha */
|
/* different types: one numeric and one alpha */
|
||||||
if (one == str1) return -1; /* arbitrary */
|
if (one == str1) return -1; /* arbitrary */
|
||||||
if (two == str2) return -1;
|
/* XXX See patch #60884 (and details) from bugzilla #50977. */
|
||||||
|
if (two == str2) return (isnum ? 1 : -1);
|
||||||
|
|
||||||
if (isnum) {
|
if (isnum) {
|
||||||
/* this used to be done by converting the digit segments */
|
/* this used to be done by converting the digit segments */
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue