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 ** ) ) );
# 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)
{
}
#endif
-#ifndef HAVE_STRNLEN
-# define strnlen vlc_strnlen
-#endif
-
#ifndef HAVE_STRLCPY
# define strlcpy vlc_strlcpy
#endif
# 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
*****************************************************************************/
vlc_strcasestr
vlc_strlcpy
vlc_strncasecmp
-vlc_strnlen
vlc_strtoll
vlc_submodule_create
__vlc_thread_create