]> git.sesse.net Git - vlc/blobdiff - src/extras/libc.c
Move remaining replacement to static import library
[vlc] / src / extras / libc.c
index df6e37f399264bb053bf403373500f9c55528d1e..3bb0b5654b27f8ede3258ba74b04e5c48ba167ef 100644 (file)
@@ -47,9 +47,7 @@
 #   include <dirent.h>
 #endif
 
-#ifdef HAVE_SIGNAL_H
-#   include <signal.h>
-#endif
+#include <signal.h>
 
 #ifdef HAVE_FORK
 #   include <sys/time.h>
 #   include <windows.h>
 #endif
 
-/******************************************************************************
- * strcasestr: find a substring (little) in another substring (big)
- * Case sensitive. Return NULL if not found, return big if little == null
- *****************************************************************************/
-char * vlc_strcasestr( const char *psz_big, const char *psz_little )
-{
-#if defined (HAVE_STRCASESTR) || defined (HAVE_STRISTR)
-    return strcasestr (psz_big, psz_little);
-#else
-    char *p_pos = (char *)psz_big;
-
-    if( !psz_big || !psz_little || !*psz_little ) return p_pos;
-    while( *p_pos )
-    {
-        if( toupper( *p_pos ) == toupper( *psz_little ) )
-        {
-            char * psz_cur1 = p_pos + 1;
-            char * psz_cur2 = (char *)psz_little + 1;
-            while( *psz_cur1 && *psz_cur2 &&
-                   toupper( *psz_cur1 ) == toupper( *psz_cur2 ) )
-            {
-                psz_cur1++;
-                psz_cur2++;
-            }
-            if( !*psz_cur2 ) return p_pos;
-        }
-        p_pos++;
-    }
-    return NULL;
-#endif
-}
-
-/*****************************************************************************
- * strtoll: convert a string to a 64 bits int.
- *****************************************************************************/
-long long vlc_strtoll( const char *nptr, char **endptr, int base )
-{
-#if defined( HAVE_STRTOLL )
-    return strtoll( nptr, endptr, base );
-#else
-    long long i_value = 0;
-    int sign = 1, newbase = base ? base : 10;
-
-    while( isspace(*nptr) ) nptr++;
-
-    if( *nptr == '-' )
-    {
-        sign = -1;
-        nptr++;
-    }
-
-    /* Try to detect base */
-    if( *nptr == '0' )
-    {
-        newbase = 8;
-        nptr++;
-
-        if( *nptr == 'x' )
-        {
-            newbase = 16;
-            nptr++;
-        }
-    }
-
-    if( base && newbase != base )
-    {
-        if( endptr ) *endptr = (char *)nptr;
-        return i_value;
-    }
-
-    switch( newbase )
-    {
-        case 10:
-            while( *nptr >= '0' && *nptr <= '9' )
-            {
-                i_value *= 10;
-                i_value += ( *nptr++ - '0' );
-            }
-            if( endptr ) *endptr = (char *)nptr;
-            break;
-
-        case 16:
-            while( (*nptr >= '0' && *nptr <= '9') ||
-                   (*nptr >= 'a' && *nptr <= 'f') ||
-                   (*nptr >= 'A' && *nptr <= 'F') )
-            {
-                int i_valc = 0;
-                if(*nptr >= '0' && *nptr <= '9') i_valc = *nptr - '0';
-                else if(*nptr >= 'a' && *nptr <= 'f') i_valc = *nptr - 'a' +10;
-                else if(*nptr >= 'A' && *nptr <= 'F') i_valc = *nptr - 'A' +10;
-                i_value *= 16;
-                i_value += i_valc;
-                nptr++;
-            }
-            if( endptr ) *endptr = (char *)nptr;
-            break;
-
-        default:
-            i_value = strtol( nptr, endptr, newbase );
-            break;
-    }
-
-    return i_value * sign;
-#endif
-}
-
-/**
- * Copy a string to a sized buffer. The result is always nul-terminated
- * (contrary to strncpy()).
- *
- * @param dest destination buffer
- * @param src string to be copied
- * @param len maximum number of characters to be copied plus one for the
- * terminating nul.
- *
- * @return strlen(src)
- */
-extern size_t vlc_strlcpy (char *tgt, const char *src, size_t bufsize)
-{
-#ifdef HAVE_STRLCPY
-    return strlcpy (tgt, src, bufsize);
-#else
-    size_t length;
-
-    for (length = 1; (length < bufsize) && *src; length++)
-        *tgt++ = *src++;
-
-    if (bufsize)
-        *tgt = '\0';
-
-    while (*src++)
-        length++;
-
-    return length - 1;
-#endif
-}
-
-/**
- * Extract a token from string.
- * It is a replacement for strsep if not present.
- */
-char *vlc_strsep( char **ppsz_string, const char *psz_delimiters )
-{
-    char *psz_string = *ppsz_string;
-    if( !psz_string )
-        return NULL;
-
-    char *p = strpbrk( psz_string, psz_delimiters );
-    if( !p )
-    {
-        *ppsz_string = NULL;
-        return psz_string;
-    }
-    *p++ = '\0';
-
-    *ppsz_string = p;
-    return psz_string;
-}
-
 /*****************************************************************************
  * vlc_*dir_wrapper: wrapper under Windows to return the list of drive letters
  * when called with an empty argument or just '\'
@@ -286,7 +124,6 @@ void *vlc_wopendir( const wchar_t *wpath )
 struct _wdirent *vlc_wreaddir( void *_p_dir )
 {
     vlc_DIR *p_dir = (vlc_DIR *)_p_dir;
-    unsigned int i;
     DWORD i_drives;
 
     if ( p_dir->p_real_dir != NULL )
@@ -311,6 +148,7 @@ struct _wdirent *vlc_wreaddir( void *_p_dir )
     swprintf( p_dir->dd_dir.d_name, L"\\");
     p_dir->dd_dir.d_namlen = wcslen(p_dir->dd_dir.d_name);
 #else
+    unsigned int i;
     if ( !i_drives )
         return NULL; /* end */