Browse Source

Inline strnlen() and use it

pull/2/head
Rémi Denis-Courmont 18 years ago
parent
commit
287081caeb
  1. 1
      include/vlc_common.h
  2. 15
      include/vlc_fixups.h
  3. 11
      src/extras/libc.c
  4. 1
      src/libvlccore.sym

1
include/vlc_common.h

@ -723,7 +723,6 @@ VLC_EXPORT( int, vlc_vasprintf, (char **, const char *, va_list ) );
VLC_EXPORT( int, vlc_asprintf, (char **, const char *, ... ) ATTRIBUTE_FORMAT( 2, 3 ) );
VLC_EXPORT( size_t, vlc_strlcpy, ( char *, const char *, size_t ) );
VLC_EXPORT( int64_t, vlc_strtoll, ( const char *nptr, char **endptr, int base ) );
VLC_EXPORT( size_t, vlc_strnlen, ( const char *, size_t ) );
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 ** ) ) );

15
include/vlc_fixups.h

@ -47,11 +47,18 @@ static inline char *strdup (const char *str)
# define asprintf vlc_asprintf
#endif
#ifndef HAVE_STRNLEN
static inline size_t strnlen (const char *str, size_t max)
{
const char *end = memchr (str, 0, max);
return end ? (size_t)(end - str) : max;
}
#endif
#ifndef HAVE_STRNDUP
static inline char *strndup (const char *str, size_t max)
{
const char *end = memchr (str, '\0', max);
size_t len = end ? (size_t)(end - str) : max;
size_t len = strnlen (str, max);
char *res = malloc (len + 1);
if (res)
{
@ -62,10 +69,6 @@ static inline char *strndup (const char *str, size_t max)
}
#endif
#ifndef HAVE_STRNLEN
# define strnlen vlc_strnlen
#endif
#ifndef HAVE_STRLCPY
# define strlcpy vlc_strlcpy
#endif

11
src/extras/libc.c

@ -74,17 +74,6 @@
# define strcoll strcmp
#endif
/*****************************************************************************
* strnlen:
*****************************************************************************/
#if !defined( HAVE_STRNLEN )
size_t vlc_strnlen( const char *psz, size_t n )
{
const char *psz_end = memchr( psz, 0, n );
return psz_end ? (size_t)( psz_end - psz ) : n;
}
#endif
/*****************************************************************************
* strcasecmp: compare two strings ignoring case
*****************************************************************************/

1
src/libvlccore.sym

@ -442,7 +442,6 @@ vlc_strcasecmp
vlc_strcasestr
vlc_strlcpy
vlc_strncasecmp
vlc_strnlen
vlc_strtoll
vlc_submodule_create
__vlc_thread_create

Loading…
Cancel
Save