<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>