<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/6f0fec0b43503ead769e410cdb19b7aa846735e0">https://github.com/macports/macports-base/commit/6f0fec0b43503ead769e410cdb19b7aa846735e0</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 6f0fec0b43503ead769e410cdb19b7aa846735e0
</span>Author: Eitan Adler <lists@eitanadler.com>
AuthorDate: Sun Dec 17 06:58:17 2017 -0800

<span style='display:block; white-space:pre;color:#404040;'>    strcasecmp cleanup
</span>---
 src/pextlib1.0/Makefile.in  |  1 -
 src/pextlib1.0/filemap.c    |  3 +-
 src/pextlib1.0/strcasecmp.c | 94 ---------------------------------------------
 src/pextlib1.0/strcasecmp.h | 68 --------------------------------
 4 files changed, 2 insertions(+), 164 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/Makefile.in b/src/pextlib1.0/Makefile.in
</span><span style='display:block; white-space:pre;color:#808080;'>index 6c326de..5124f9e 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pextlib1.0/Makefile.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -21,7 +21,6 @@ OBJS= \
</span>   setmode.o \
        sha1cmd.o \
        sha256cmd.o \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        strcasecmp.o \
</span>   strsed.o \
        system.o \
        tracelib.o \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/filemap.c b/src/pextlib1.0/filemap.c
</span><span style='display:block; white-space:pre;color:#808080;'>index 7e9c22f..784bada 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/filemap.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/pextlib1.0/filemap.c
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -40,12 +40,13 @@
</span> #include <errno.h>
 #include <fcntl.h>
 #include <limits.h>
<span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#include <strings.h>
</span> #include <unistd.h>
 
 #include <tcl.h>
 
 #include "filemap.h"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-#include "strcasecmp.h"
</span> 
 /* ========================================================================= **
  * Definitions
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/strcasecmp.c b/src/pextlib1.0/strcasecmp.c
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5e3a636..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/strcasecmp.c
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,94 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * strcasecmp.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Copyright (c) 2004 Paul Guyot, The MacPorts Project.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Redistribution and use in source and binary forms, with or without
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * modification, are permitted provided that the following conditions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * are met:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 1. Redistributions of source code must retain the above copyright
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    notice, this list of conditions and the following disclaimer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 2. Redistributions in binary form must reproduce the above copyright
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    notice, this list of conditions and the following disclaimer in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    documentation and/or other materials provided with the distribution.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 3. Neither the name of MacPorts Team nor the names of its contributors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    may be used to endorse or promote products derived from this software
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    without specific prior written permission.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * POSSIBILITY OF SUCH DAMAGE.
</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;'>-#include <ctype.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <string.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include "strcasecmp.h"
</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;'>- * xstrcasecmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-xstrcasecmp(const char* inLeftString, const char* inRightString)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* the result */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int result = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* our two characters */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int leftChar, rightChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   do {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* we use tolower(3) to do the case insensitive comparison */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           leftChar = tolower(*inLeftString++);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           rightChar = tolower(*inRightString++);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* this corresponds to strcmp(3) semantics */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           result = leftChar - rightChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* either leftChar is 0 (to mean it's the end of the left string)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   or result is not 0 (to mean that strings differ).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   if it's the end of the right string but not the end of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   left string, then result won't be 0 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   } while ((leftChar != 0) && (result == 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return result;
</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;'>-/* ------------------------------------------------------------------------- **
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * xstrncasecmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ------------------------------------------------------------------------- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-xstrncasecmp(const char* inLeftString, const char* inRightString, size_t inMaxChars)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-{
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* xstrncasecmp is just the same with an additional decrement of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           maximum charcters */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* the result */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int result = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   /* our two characters */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   int leftChar, rightChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   do {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* we use tolower(3) to do the case insensitive comparison */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           leftChar = tolower(*inLeftString++);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           rightChar = tolower(*inRightString++);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* this corresponds to strcmp(3) semantics */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           result = leftChar - rightChar;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           /* either:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   - we tested inMaxChars and we must stop here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   - or leftChar is 0 (to mean it's the end of the left string)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   - or result is not 0 (to mean that strings differ).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   if it's the end of the right string but not the end of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                   left string, then result won't be 0 */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   } while ((--inMaxChars != 0) && (leftChar != 0) && (result == 0));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return result;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/pextlib1.0/strcasecmp.h b/src/pextlib1.0/strcasecmp.h
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 62166de..0000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/pextlib1.0/strcasecmp.h
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,68 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-/*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * strcasecmp.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Copyright (c) 2004 Paul Guyot, The MacPorts Project.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * All rights reserved.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Redistribution and use in source and binary forms, with or without
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * modification, are permitted provided that the following conditions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * are met:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 1. Redistributions of source code must retain the above copyright
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    notice, this list of conditions and the following disclaimer.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 2. Redistributions in binary form must reproduce the above copyright
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    notice, this list of conditions and the following disclaimer in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    documentation and/or other materials provided with the distribution.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 3. Neither the name of MacPorts Team nor the names of its contributors
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    may be used to endorse or promote products derived from this software
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *    without specific prior written permission.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * POSSIBILITY OF SUCH DAMAGE.
</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;'>-#ifdef HAVE_CONFIG_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <config.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <string.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#include <strings.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef HAVE_STRCASECMP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   #define strcasecmp xstrcasecmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#ifndef HAVE_STRNCASECMP
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   #define strncasecmp xstrncasecmp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#endif
</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;'>- * Compare two strings case insensitively.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * This function has the same semantics as ANSI strcmp.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @param inLeftString             first null terminated string to compare
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @param inRightString            second null terminated string to compare
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @return an integer greater than, equal to or less than 0 to mean that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * inLeftString is greater, equal or less than inRightString.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int xstrcasecmp(const char* inLeftString, const char* inRightString);
</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;'>- * Compare two strings case insensitively and at most n characters.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * This function has the same semantics as ANSI strncmp.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @param inLeftString             first string to compare
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @param inRightString            second string to compare
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @param inMaxChars               maximum number of characters to compare
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * @return an integer greater than, equal to or less than 0 to mean that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * inLeftString is greater, equal or less than inRightString.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-int xstrncasecmp(const char* inLeftString, const char* inRightString, size_t inMaxChars);
</span></pre><pre style='margin:0'>

</pre>