mirror of
https://gitlab.freedesktop.org/pkg-config/pkg-config.git
synced 2025-12-20 04:20:04 +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 (*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;
|
||||
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 */
|
||||
/* different types: one numeric and one alpha */
|
||||
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) {
|
||||
/* this used to be done by converting the digit segments */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue