[vlc-devel] commit: Simplify, fix and inline strcasecmp and strncasecmp ( Rémi Denis-Courmont )
git version control
git at videolan.org
Sat May 24 11:44:19 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rem at videolan.org> | Sat May 24 12:40:57 2008 +0300| [22fe2438b98e2d041b4481c0c8706096a8f160ce]
Simplify, fix and inline strcasecmp and strncasecmp
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=22fe2438b98e2d041b4481c0c8706096a8f160ce
---
include/vlc_common.h | 2 --
include/vlc_fixups.h | 22 ++++++++++++++++++++--
src/extras/libc.c | 46 ----------------------------------------------
src/libvlccore.sym | 2 --
4 files changed, 20 insertions(+), 52 deletions(-)
diff --git a/include/vlc_common.h b/include/vlc_common.h
index 99166d4..87f2e90 100644
--- a/include/vlc_common.h
+++ b/include/vlc_common.h
@@ -728,8 +728,6 @@ struct dirent;
VLC_EXPORT( int, vlc_scandir, ( const char *name, struct dirent ***namelist, int (*filter) ( const struct dirent * ), int (*compar) ( const struct dirent **, const struct dirent ** ) ) );
VLC_EXPORT( int, vlc_alphasort, ( const struct dirent **a, const struct dirent **b ) );
-VLC_EXPORT( int, vlc_strcasecmp, ( const char *s1, const char *s2 ) );
-VLC_EXPORT( int, vlc_strncasecmp, ( const char *s1, const char *s2, size_t n ) );
VLC_EXPORT( char *, vlc_strcasestr, ( const char *s1, const char *s2 ) );
#if defined(WIN32) || defined(UNDER_CE)
diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h
index cd7dc82..10f5448 100644
--- a/include/vlc_fixups.h
+++ b/include/vlc_fixups.h
@@ -117,7 +117,16 @@ static inline getenv (const char *name)
#ifndef HAVE_STRCASECMP
# ifndef HAVE_STRICMP
-# define strcasecmp vlc_strcasecmp
+# include <ctype.h>
+static inline int strcasecmp (const char *s1, const char *s2)
+{
+ for (size_t i = 0;; i++)
+ {
+ int d = tolower (s1[i]) - tolower (s2[i]);
+ if (d) return d;
+ }
+ return 0;
+}
# else
# define strcasecmp stricmp
# endif
@@ -125,7 +134,16 @@ static inline getenv (const char *name)
#ifndef HAVE_STRNCASECMP
# ifndef HAVE_STRNICMP
-# define strncasecmp vlc_strncasecmp
+# include <ctype.h>
+static inline int strncasecmp (const char *s1, const char *s2, size_t n)
+{
+ for (size_t i = 0; i < n; i++)
+ {
+ int d = tolower (s1[i]) - tolower (s2[i]);
+ if (d) return d;
+ }
+ return 0;
+}
# else
# define strncasecmp strnicmp
# endif
diff --git a/src/extras/libc.c b/src/extras/libc.c
index 0c10039..5b8e9b2 100644
--- a/src/extras/libc.c
+++ b/src/extras/libc.c
@@ -74,52 +74,6 @@
# define strcoll strcmp
#endif
-/*****************************************************************************
- * strcasecmp: compare two strings ignoring case
- *****************************************************************************/
-#if !defined( HAVE_STRCASECMP ) && !defined( HAVE_STRICMP )
-int vlc_strcasecmp( const char *s1, const char *s2 )
-{
- int c1, c2;
- if( !s1 || !s2 ) return -1;
-
- while( *s1 && *s2 )
- {
- c1 = tolower(*s1);
- c2 = tolower(*s2);
-
- if( c1 != c2 ) return (c1 < c2 ? -1 : 1);
- s1++; s2++;
- }
-
- if( !*s1 && !*s2 ) return 0;
- else return (*s1 ? 1 : -1);
-}
-#endif
-
-/*****************************************************************************
- * strncasecmp: compare n chars from two strings ignoring case
- *****************************************************************************/
-#if !defined( HAVE_STRNCASECMP ) && !defined( HAVE_STRNICMP )
-int vlc_strncasecmp( const char *s1, const char *s2, size_t n )
-{
- int c1, c2;
- if( !s1 || !s2 ) return -1;
-
- while( n > 0 && *s1 && *s2 )
- {
- c1 = tolower(*s1);
- c2 = tolower(*s2);
-
- if( c1 != c2 ) return (c1 < c2 ? -1 : 1);
- s1++; s2++; n--;
- }
-
- if( !n || (!*s1 && !*s2) ) return 0;
- else return (*s1 ? 1 : -1);
-}
-#endif
-
/******************************************************************************
* strcasestr: find a substring (little) in another substring (big)
* Case sensitive. Return NULL if not found, return big if little == null
diff --git a/src/libvlccore.sym b/src/libvlccore.sym
index 24392c1..0f4a141 100644
--- a/src/libvlccore.sym
+++ b/src/libvlccore.sym
@@ -438,10 +438,8 @@ vlc_recvmsg
vlc_scandir
vlc_sdp_Start
vlc_sendmsg
-vlc_strcasecmp
vlc_strcasestr
vlc_strlcpy
-vlc_strncasecmp
vlc_strtoll
vlc_submodule_create
__vlc_thread_create
More information about the vlc-devel
mailing list