<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/5e402aaae2eda13a8cc046abed2dad9af1e75480">https://github.com/macports/macports-base/commit/5e402aaae2eda13a8cc046abed2dad9af1e75480</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 5e402aaa vercomp.c: Tabs to spaces
</span>5e402aaa is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 5e402aaae2eda13a8cc046abed2dad9af1e75480
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Wed Feb 2 19:29:08 2022 -0600

<span style='display:block; white-space:pre;color:#404040;'>    vercomp.c: Tabs to spaces
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    The combination of tabs and spaces had caused gcc to issue a warning
</span><span style='display:block; white-space:pre;color:#404040;'>    about misleading indentation.
</span>---
 src/cregistry/vercomp.c | 198 ++++++++++++++++++++++++------------------------
 1 file changed, 99 insertions(+), 99 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/cregistry/vercomp.c b/src/cregistry/vercomp.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 280e056e..e208332a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/cregistry/vercomp.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/cregistry/vercomp.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -60,114 +60,114 @@
</span> static int vercmp (const char *versionA, int lengthA, const char *versionB,
         int lengthB) {
     const char *endA, *endB;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        const char *ptrA, *ptrB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   const char *eptrA, *eptrB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    const char *ptrA, *ptrB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    const char *eptrA, *eptrB;
</span> 
     if (lengthA < 0)
         lengthA = (int)strlen(versionA);
     if (lengthB < 0)
         lengthB = (int)strlen(versionB);
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        /* if versions equal, return zero */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if(lengthA == lengthB && !strncmp(versionA, versionB, (size_t)lengthA))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /* if versions equal, return zero */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if (lengthA == lengthB && !strncmp(versionA, versionB, (size_t)lengthA))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return 0;
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        ptrA = versionA;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   ptrB = versionB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ptrA = versionA;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    ptrB = versionB;
</span>     endA = versionA + lengthA;
     endB = versionB + lengthB;
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        while (ptrA != endA && ptrB != endB) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* skip all non-alphanumeric characters */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           while (ptrA != endB && !isalnum(*ptrA))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ptrA++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           while (ptrB != endB && !isalnum(*ptrB))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   ptrB++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           eptrA = ptrA;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           eptrB = ptrB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* Somewhat arbitrary rules as per RPM's implementation.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * This code could be more clever, but we're aiming
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * for clarity instead. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* If versionB's segment is not a digit segment, but
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * versionA's segment IS a digit segment, return 1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * (Added for redhat compatibility. See redhat bugzilla
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * #50977 for details) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           if (!isdigit(*ptrB)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   if (isdigit(*ptrA))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* Otherwise, if the segments are of different types,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * return -1 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           if ((isdigit(*ptrA) && isalpha(*ptrB)) || (isalpha(*ptrA) && isdigit(*ptrB)))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* Find the first segment composed of entirely alphabetical
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            * or numeric members */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           if (isalpha(*ptrA)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   while (eptrA != endA && isalpha(*eptrA))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           eptrA++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   while (eptrB != endB && isalpha(*eptrB))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           eptrB++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   int countA = 0, countB = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   while (eptrA != endA && isdigit(*eptrA)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           countA++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           eptrA++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   while (eptrB != endB && isdigit(*eptrB)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           countB++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           eptrB++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   /* skip leading '0' characters */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   while (ptrA != eptrA && *ptrA == '0') {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           ptrA++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           countA--;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   while (ptrB != eptrB && *ptrB == '0') {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           ptrB++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           countB--;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   /* If A is longer than B, return 1 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   if (countA > countB)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   /* If B is longer than A, return -1 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   if (countB > countA)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           return -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* Compare strings lexicographically */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           while (ptrA != eptrA && ptrB != eptrB && *ptrA == *ptrB) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           ptrA++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                           ptrB++;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           if (ptrA != eptrA && ptrB != eptrB)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   return *ptrA - *ptrB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           ptrA = eptrA;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           ptrB = eptrB;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* If both pointers are null, all alphanumeric
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * characters were identical and only separating
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * characters differed. According to RPM, these
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * version strings are equal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (ptrA == endA && ptrB == endB)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* If A has unchecked characters, return 1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * Otherwise, if B has remaining unchecked characters,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    * return -1 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if (ptrA != endA)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    while (ptrA != endA && ptrB != endB) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* skip all non-alphanumeric characters */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        while (ptrA != endB && !isalnum(*ptrA))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ptrA++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        while (ptrB != endB && !isalnum(*ptrB))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ptrB++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        eptrA = ptrA;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        eptrB = ptrB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* Somewhat arbitrary rules as per RPM's implementation.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * This code could be more clever, but we're aiming
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * for clarity instead. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* If versionB's segment is not a digit segment, but
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * versionA's segment IS a digit segment, return 1.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * (Added for redhat compatibility. See redhat bugzilla
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * #50977 for details) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (!isdigit(*ptrB)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (isdigit(*ptrA))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* Otherwise, if the segments are of different types,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * return -1 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if ((isdigit(*ptrA) && isalpha(*ptrB)) || (isalpha(*ptrA) && isdigit(*ptrB)))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* Find the first segment composed of entirely alphabetical
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         * or numeric members */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (isalpha(*ptrA)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while (eptrA != endA && isalpha(*eptrA))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                eptrA++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while (eptrB != endB && isalpha(*eptrB))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                eptrB++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            int countA = 0, countB = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while (eptrA != endA && isdigit(*eptrA)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                countA++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                eptrA++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while (eptrB != endB && isdigit(*eptrB)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                countB++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                eptrB++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            /* skip leading '0' characters */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while (ptrA != eptrA && *ptrA == '0') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ptrA++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                countA--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            while (ptrB != eptrB && *ptrB == '0') {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ptrB++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                countB--;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            /* If A is longer than B, return 1 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (countA > countB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            /* If B is longer than A, return -1 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (countB > countA)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        /* Compare strings lexicographically */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        while (ptrA != eptrA && ptrB != eptrB && *ptrA == *ptrB) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ptrA++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                ptrB++;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (ptrA != eptrA && ptrB != eptrB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return *ptrA - *ptrB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ptrA = eptrA;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ptrB = eptrB;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /* If both pointers are null, all alphanumeric
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     * characters were identical and only separating
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     * characters differed. According to RPM, these
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     * version strings are equal */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if (ptrA == endA && ptrB == endB)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /* If A has unchecked characters, return 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     * Otherwise, if B has remaining unchecked characters,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     * return -1 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if (ptrA != endA)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return -1;
</span> }
 
 /**
</pre><pre style='margin:0'>

</pre>