From c24bbb10f56b5822e661de6c33e2500ac43fb905 Mon Sep 17 00:00:00 2001
From: patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>
Date: Sat, 15 Aug 2009 19:31:30 +0000
Subject: [PATCH] Fix strcasecmp

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2019 42af7a65-404d-4744-a932-0658087f49c3
---
 ChangeLog                |  5 +++++
 Documentation/NuttX.html | 12 +++++++++---
 lib/lib_strcasecmp.c     | 11 ++++++++---
 lib/lib_strncasecmp.c    |  7 +++++--
 4 files changed, 27 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d303c3ac05..df05833a70 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -841,3 +841,8 @@
 
 0.4.11 2009-xx-xx Gregory Nutt <spudmonkey@racsa.co.cr>
 
+	* fs/fs_read.c and fs/fs_write.c.  read() and write() to socket is the
+	  same as recv() and send() with flags = 0.  Fixed!
+	* net/recvfrom.c: Fix errors in return value from non-blocking socket read.
+	* lib/lib_strcasecmp.c and lib/lib_strncasecmp.c.  Use of post-incremented
+	  argument to macro caused strcasecmp() and strncasecmp() to fail.
diff --git a/Documentation/NuttX.html b/Documentation/NuttX.html
index 968c2c1d34..509b770aa5 100644
--- a/Documentation/NuttX.html
+++ b/Documentation/NuttX.html
@@ -8,7 +8,7 @@
   <tr align="center" bgcolor="#e4e4e4">
     <td>
       <h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
-      <p>Last Updated: August 8, 2009</p>
+      <p>Last Updated: August 15, 2009</p>
     </td>
   </tr>
 </table>
@@ -1435,7 +1435,7 @@ Other memory:
   </tr>
 </table>
 
-<pre><ul>
+<ul><pre>
 nuttx-0.4.10 2009-08-08 Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
 
 	* lib/: Added some basic regex-subset, pattern matching functions
@@ -1499,9 +1499,15 @@ buildroot-0.1.7 2009-06-26 &lt;spudmonkey@racsa.co.cr&gt;
   </tr>
 </table>
 
-<pre><ul>
+<ul><pre>
 nuttx-0.4.11 2009-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
 
+	* fs/fs_read.c and fs/fs_write.c.  read() and write() to socket is the
+	  same as recv() and send() with flags = 0.  Fixed!
+	* net/recvfrom.c: Fix errors in return value from non-blocking socket read.
+	* lib/lib_strcasecmp.c and lib/lib_strncasecmp.c.  Use of post-incremented
+	  argument to macro caused strcasecmp() and strncasecmp() to fail.
+
 pascal-0.1.3 2009-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
 
 buildroot-0.1.8 2009-xx-xx &lt;spudmonkey@racsa.co.cr&gt;
diff --git a/lib/lib_strcasecmp.c b/lib/lib_strcasecmp.c
index e5d14bda9c..425a3e639f 100644
--- a/lib/lib_strcasecmp.c
+++ b/lib/lib_strcasecmp.c
@@ -1,7 +1,7 @@
 /****************************************************************************
  * lib/lib_strcasecmp.c
  *
- *   Copyright (C) 2008 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2008-2009 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,8 +57,13 @@ int strcasecmp(const char *cs, const char *ct)
   register signed char result;
   for (;;)
     {
-      if ((result = toupper(*cs) - toupper(*ct++)) != 0 || !*cs++)
-	break;
+      if ((result = toupper(*cs) - toupper(*ct)) != 0 || !*cs)
+        {
+          break;
+        }
+
+      cs++;
+      ct++;
     }
   return result;
 }
diff --git a/lib/lib_strncasecmp.c b/lib/lib_strncasecmp.c
index 11d4991616..5b35bfff1e 100644
--- a/lib/lib_strncasecmp.c
+++ b/lib/lib_strncasecmp.c
@@ -1,7 +1,7 @@
 /****************************************************************************
  * lib/lib_strncasecmp.c
  *
- *   Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved.
+ *   Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
  *   Author: Gregory Nutt <spudmonkey@racsa.co.cr>
  *
  * Redistribution and use in source and binary forms, with or without
@@ -57,10 +57,13 @@ int strncasecmp(const char *cs, const char *ct, size_t nb)
   register signed char result = 0;
   for (; nb > 0; nb--)
     {
-      if ((result = toupper(*cs) - toupper(*ct++)) != 0 || !*cs++)
+      if ((result = toupper(*cs) - toupper(*ct)) != 0 || !*cs)
         {
           break;
         }
+
+      cs++;
+      ct++;
     }
   return result;
 }
-- 
GitLab