Added configure check for str[n]casecmp.

diff --git a/configure b/configure
index 25ac0ef..abb6cfd 100755
--- a/configure
+++ b/configure
@@ -4407,8 +4407,9 @@
 	rfork \
 	sendmsg \
 	sigaltstack \
+	strcasecmp \
 	strerror \
-	stricmp \
+	strncasecmp \
 	tcgetattr \
 	timegm \
 	usleep \
@@ -4418,12 +4419,12 @@
 
 do
 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:4422: checking for $ac_func" >&5
+echo "configure:4423: checking for $ac_func" >&5
 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4427 "configure"
+#line 4428 "configure"
 #include "confdefs.h"
 /* System header to define __stub macros and hopefully few prototypes,
     which can conflict with char $ac_func(); below.  */
@@ -4446,7 +4447,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:4450: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:4451: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
   rm -rf conftest*
   eval "ac_cv_func_$ac_func=yes"
 else
@@ -4509,17 +4510,17 @@
 do
 ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:4513: checking for $ac_hdr" >&5
+echo "configure:4514: checking for $ac_hdr" >&5
 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4518 "configure"
+#line 4519 "configure"
 #include "confdefs.h"
 #include <$ac_hdr>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4523: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4524: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4546,12 +4547,12 @@
 done
 
 echo $ac_n "checking whether stat file-mode macros are broken""... $ac_c" 1>&6
-echo "configure:4550: checking whether stat file-mode macros are broken" >&5
+echo "configure:4551: checking whether stat file-mode macros are broken" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stat_broken'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4555 "configure"
+#line 4556 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -4604,12 +4605,12 @@
 
 
 echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:4608: checking for working const" >&5
+echo "configure:4609: checking for working const" >&5
 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4613 "configure"
+#line 4614 "configure"
 #include "confdefs.h"
 
 int main() {
@@ -4658,7 +4659,7 @@
 
 ; return 0; }
 EOF
-if { (eval echo configure:4662: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4663: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_const=yes
 else
@@ -4679,21 +4680,21 @@
 fi
 
 echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:4683: checking for inline" >&5
+echo "configure:4684: checking for inline" >&5
 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   ac_cv_c_inline=no
 for ac_kw in inline __inline__ __inline; do
   cat > conftest.$ac_ext <<EOF
-#line 4690 "configure"
+#line 4691 "configure"
 #include "confdefs.h"
 
 int main() {
 } $ac_kw foo() {
 ; return 0; }
 EOF
-if { (eval echo configure:4697: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4698: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_inline=$ac_kw; break
 else
@@ -4719,12 +4720,12 @@
 esac
 
 echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:4723: checking for ANSI C header files" >&5
+echo "configure:4724: checking for ANSI C header files" >&5
 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4728 "configure"
+#line 4729 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 #include <stdarg.h>
@@ -4732,7 +4733,7 @@
 #include <float.h>
 EOF
 ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:4736: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:4737: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
 ac_err=`grep -v '^ *+' conftest.out`
 if test -z "$ac_err"; then
   rm -rf conftest*
@@ -4749,7 +4750,7 @@
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4753 "configure"
+#line 4754 "configure"
 #include "confdefs.h"
 #include <string.h>
 EOF
@@ -4767,7 +4768,7 @@
 if test $ac_cv_header_stdc = yes; then
   # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
 cat > conftest.$ac_ext <<EOF
-#line 4771 "configure"
+#line 4772 "configure"
 #include "confdefs.h"
 #include <stdlib.h>
 EOF
@@ -4788,7 +4789,7 @@
   :
 else
   cat > conftest.$ac_ext <<EOF
-#line 4792 "configure"
+#line 4793 "configure"
 #include "confdefs.h"
 #include <ctype.h>
 #define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
@@ -4799,7 +4800,7 @@
 exit (0); }
 
 EOF
-if { (eval echo configure:4803: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4804: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   :
 else
@@ -4823,12 +4824,12 @@
 fi
 
 echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:4827: checking for size_t" >&5
+echo "configure:4828: checking for size_t" >&5
 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4832 "configure"
+#line 4833 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #if STDC_HEADERS
@@ -4856,7 +4857,7 @@
 fi
 
 echo $ac_n "checking size of long long""... $ac_c" 1>&6
-echo "configure:4860: checking size of long long" >&5
+echo "configure:4861: checking size of long long" >&5
 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -4864,7 +4865,7 @@
   ac_cv_sizeof_long_long=0
 else
   cat > conftest.$ac_ext <<EOF
-#line 4868 "configure"
+#line 4869 "configure"
 #include "confdefs.h"
 #include <stdio.h>
 main()
@@ -4875,7 +4876,7 @@
   exit(0);
 }
 EOF
-if { (eval echo configure:4879: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:4880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_sizeof_long_long=`cat conftestval`
 else
@@ -4898,12 +4899,12 @@
 if test "$ac_cv_header_linux_joystick_h" = "yes"
 then
    echo $ac_n "checking "whether linux/joystick.h uses the Linux 2.2+ API"""... $ac_c" 1>&6
-echo "configure:4902: checking "whether linux/joystick.h uses the Linux 2.2+ API"" >&5
+echo "configure:4903: checking "whether linux/joystick.h uses the Linux 2.2+ API"" >&5
 if eval "test \"`echo '$''{'wine_cv_linux_joystick_22_api'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4907 "configure"
+#line 4908 "configure"
 #include "confdefs.h"
 
 	#include <sys/ioctl.h>
@@ -4915,7 +4916,7 @@
 /*empty*/
 ; return 0; }
 EOF
-if { (eval echo configure:4919: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   wine_cv_linux_joystick_22_api=yes
 else
@@ -4942,12 +4943,12 @@
 if test "$ac_cv_header_sys_vfs_h" = "yes"
 then
     echo $ac_n "checking "whether sys/vfs.h defines statfs"""... $ac_c" 1>&6
-echo "configure:4946: checking "whether sys/vfs.h defines statfs"" >&5
+echo "configure:4947: checking "whether sys/vfs.h defines statfs"" >&5
 if eval "test \"`echo '$''{'wine_cv_sys_vfs_has_statfs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 4951 "configure"
+#line 4952 "configure"
 #include "confdefs.h"
 
 	#include <sys/types.h>
@@ -4964,7 +4965,7 @@
 	
 ; return 0; }
 EOF
-if { (eval echo configure:4968: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:4969: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   wine_cv_sys_vfs_has_statfs=yes
 else
@@ -4991,12 +4992,12 @@
 if test "$ac_cv_header_sys_statfs_h" = "yes"
 then
     echo $ac_n "checking "whether sys/statfs.h defines statfs"""... $ac_c" 1>&6
-echo "configure:4995: checking "whether sys/statfs.h defines statfs"" >&5
+echo "configure:4996: checking "whether sys/statfs.h defines statfs"" >&5
 if eval "test \"`echo '$''{'wine_cv_sys_statfs_has_statfs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5000 "configure"
+#line 5001 "configure"
 #include "confdefs.h"
 
 	#include <sys/types.h>
@@ -5011,7 +5012,7 @@
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5015: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5016: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   wine_cv_sys_statfs_has_statfs=yes
 else
@@ -5038,12 +5039,12 @@
 if test "$ac_cv_header_sys_mount_h" = "yes"
 then
     echo $ac_n "checking "whether sys/mount.h defines statfs"""... $ac_c" 1>&6
-echo "configure:5042: checking "whether sys/mount.h defines statfs"" >&5
+echo "configure:5043: checking "whether sys/mount.h defines statfs"" >&5
 if eval "test \"`echo '$''{'wine_cv_sys_mount_has_statfs'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5047 "configure"
+#line 5048 "configure"
 #include "confdefs.h"
 
 	#include <sys/types.h>
@@ -5058,7 +5059,7 @@
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5062: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5063: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   wine_cv_sys_mount_has_statfs=yes
 else
@@ -5084,7 +5085,7 @@
 
 
 echo $ac_n "checking "for statfs.f_bfree"""... $ac_c" 1>&6
-echo "configure:5088: checking "for statfs.f_bfree"" >&5
+echo "configure:5089: checking "for statfs.f_bfree"" >&5
 if eval "test \"`echo '$''{'wine_cv_statfs_bfree'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5093,7 +5094,7 @@
         wine_cv_statfs_bfree=no
     else
     	cat > conftest.$ac_ext <<EOF
-#line 5097 "configure"
+#line 5098 "configure"
 #include "confdefs.h"
 
 	#include <sys/types.h>
@@ -5120,7 +5121,7 @@
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5124: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5125: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   wine_cv_statfs_bfree=yes
 else
@@ -5144,7 +5145,7 @@
 fi
 
 echo $ac_n "checking "for statfs.f_bavail"""... $ac_c" 1>&6
-echo "configure:5148: checking "for statfs.f_bavail"" >&5
+echo "configure:5149: checking "for statfs.f_bavail"" >&5
 if eval "test \"`echo '$''{'wine_cv_statfs_bavail'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5153,7 +5154,7 @@
         wine_cv_statfs_bavail=no
     else
     	cat > conftest.$ac_ext <<EOF
-#line 5157 "configure"
+#line 5158 "configure"
 #include "confdefs.h"
 
 	#include <sys/types.h>
@@ -5180,7 +5181,7 @@
 	
 ; return 0; }
 EOF
-if { (eval echo configure:5184: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5185: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   wine_cv_statfs_bavail=yes
 else
@@ -5205,7 +5206,7 @@
 
 
 echo $ac_n "checking "for working sigaltstack"""... $ac_c" 1>&6
-echo "configure:5209: checking "for working sigaltstack"" >&5
+echo "configure:5210: checking "for working sigaltstack"" >&5
 if eval "test \"`echo '$''{'ac_cv_c_working_sigaltstack'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5214,7 +5215,7 @@
 
 else
   cat > conftest.$ac_ext <<EOF
-#line 5218 "configure"
+#line 5219 "configure"
 #include "confdefs.h"
 
 	#include <stdio.h>
@@ -5252,7 +5253,7 @@
 	}
 	
 EOF
-if { (eval echo configure:5256: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
+if { (eval echo configure:5257: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
 then
   ac_cv_c_working_sigaltstack="yes"
 else
@@ -5279,12 +5280,12 @@
 
 
 echo $ac_n "checking "for msg_accrights in struct msghdr"""... $ac_c" 1>&6
-echo "configure:5283: checking "for msg_accrights in struct msghdr"" >&5
+echo "configure:5284: checking "for msg_accrights in struct msghdr"" >&5
 if eval "test \"`echo '$''{'ac_cv_c_msg_accrights'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5288 "configure"
+#line 5289 "configure"
 #include "confdefs.h"
 #include <sys/types.h>
 #include <sys/socket.h>
@@ -5292,7 +5293,7 @@
 struct msghdr hdr; hdr.msg_accrights=0
 ; return 0; }
 EOF
-if { (eval echo configure:5296: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+if { (eval echo configure:5297: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
   rm -rf conftest*
   ac_cv_c_msg_accrights="yes"
 else
@@ -5315,12 +5316,12 @@
 
 
 echo $ac_n "checking "whether we need to define __i386__"""... $ac_c" 1>&6
-echo "configure:5319: checking "whether we need to define __i386__"" >&5
+echo "configure:5320: checking "whether we need to define __i386__"" >&5
 if eval "test \"`echo '$''{'ac_cv_cpp_def_i386'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
   cat > conftest.$ac_ext <<EOF
-#line 5324 "configure"
+#line 5325 "configure"
 #include "confdefs.h"
 #if (defined(i386) || defined(__i386)) && !defined(__i386__)
 yes
diff --git a/configure.in b/configure.in
index d61acfb..287cff5 100644
--- a/configure.in
+++ b/configure.in
@@ -487,8 +487,9 @@
 	rfork \
 	sendmsg \
 	sigaltstack \
+	strcasecmp \
 	strerror \
-	stricmp \
+	strncasecmp \
 	tcgetattr \
 	timegm \
 	usleep \
diff --git a/include/config.h.in b/include/config.h.in
index 04082d9..0108554 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -160,11 +160,14 @@
 /* Define if you have the sigaltstack function.  */
 #undef HAVE_SIGALTSTACK
 
+/* Define if you have the strcasecmp function.  */
+#undef HAVE_STRCASECMP
+
 /* Define if you have the strerror function.  */
 #undef HAVE_STRERROR
 
-/* Define if you have the stricmp function.  */
-#undef HAVE_STRICMP
+/* Define if you have the strncasecmp function.  */
+#undef HAVE_STRNCASECMP
 
 /* Define if you have the tcgetattr function.  */
 #undef HAVE_TCGETATTR
diff --git a/include/wine/winestring.h b/include/wine/winestring.h
index 7a1ffe4..a8eca1b 100644
--- a/include/wine/winestring.h
+++ b/include/wine/winestring.h
@@ -3,14 +3,13 @@
 
 #include "windef.h"
 
-INT16       WINAPI WideCharToLocal16(LPSTR,LPWSTR,INT16);
 INT         WINAPI WideCharToLocal(LPSTR,LPWSTR,INT);
-INT16       WINAPI LocalToWideChar16(LPWSTR,LPSTR,INT16);
 INT         WINAPI LocalToWideChar(LPWSTR,LPSTR,INT);
-INT         WINAPI lstrncmpiA(LPCSTR,LPCSTR,INT);
 LPWSTR      WINAPI lstrcpyAtoW(LPWSTR,LPCSTR);
 LPSTR       WINAPI lstrcpyWtoA(LPSTR,LPCWSTR);
 LPWSTR      WINAPI lstrcpynAtoW(LPWSTR,LPCSTR,INT);
 LPSTR       WINAPI lstrcpynWtoA(LPSTR,LPCWSTR,INT);
 
+#define lstrncmpiA strncasecmp
+
 #endif /* __WINE_WINE_WINESTRING_H */
diff --git a/memory/string.c b/memory/string.c
index 6ceeba4..a90621a 100644
--- a/memory/string.c
+++ b/memory/string.c
@@ -389,23 +389,6 @@
 
 
 /***********************************************************************
- *           lstrncmpi32A   (Not a Windows API)
- */
-INT WINAPI lstrncmpiA( LPCSTR str1, LPCSTR str2, INT n )
-{
-    INT res;
-
-    TRACE("strncmpi %s and %s for %d chars\n",
-		   debugstr_an (str1, n), debugstr_an (str2, n), n);
-    if (!n) return 0;
-    while ((--n > 0) && *str1)
-      if ( (res = toupper(*str1++) - toupper(*str2++)) ) return res;
-
-    return toupper(*str1) - toupper(*str2);
-}
-
-
-/***********************************************************************
  *           lstrcpyAtoW   (Not a Windows API)
  */
 LPWSTR WINAPI lstrcpyAtoW( LPWSTR dst, LPCSTR src )
diff --git a/misc/port.c b/misc/port.c
index 9d0a0aa..fb07e0e 100644
--- a/misc/port.c
+++ b/misc/port.c
@@ -6,6 +6,7 @@
 
 #include "config.h"
 
+#include <ctype.h>
 #include <stdio.h>
 #include <string.h>
 #include <unistd.h>
@@ -104,6 +105,25 @@
 #endif  /* !HAVE_CLONE && __linux__ */
 
 
+#ifndef HAVE_STRCASECMP
+int strcasecmp( const char *str1, const char *str2 )
+{
+    while (*str1 && toupper(*str1) == toupper(*str2)) { str1++; str2++; }
+    return toupper(*str1) - toupper(*str2);
+}
+#endif /* HAVE_STRCASECMP */
+
+#ifndef HAVE_STRNCASECMP
+int strncasecmp( const char *str1, const char *str2, size_t n )
+{
+    int res;
+    if (!n) return 0;
+    while ((--n > 0) && *str1)
+      if ((res = toupper(*str1++) - toupper(*str2++))) return res;
+    return toupper(*str1) - toupper(*str2);
+}
+#endif /* HAVE_STRNCASECMP */
+
 /** 
  *  It looks like the openpty that comes with glibc in RedHat 5.0
  *  is buggy (second call returns what looks like a dup of 0 and 1