X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc_fixups.h;h=43405838835added01ec226c2c9c700aba1431d1;hb=4ca46b853b5de015f57621bd6c823abba1b4fa08;hp=9a3ed8a270e0471c6adca7f3d8eb6b7db159e6e6;hpb=e228d34ca5a6d47dc86b31ac9cea45ae19959a0e;p=vlc diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 9a3ed8a270..4340583883 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -44,12 +44,12 @@ typedef struct #endif #if !defined (HAVE_REWIND) || \ - !defined (HAVE_GETDELIM) || \ - defined (__APPLE__) + !defined (HAVE_GETDELIM) # include /* FILE */ #endif -#if !defined (HAVE_STRLCPY) || \ +#if !defined (HAVE_POSIX_MEMALIGN) || \ + !defined (HAVE_STRLCPY) || \ !defined (HAVE_STRNDUP) || \ !defined (HAVE_STRNLEN) # include /* size_t */ @@ -59,7 +59,7 @@ typedef struct # include /* va_list */ #endif -#if !defined (HAVE_GETDELIM) || defined (__APPLE__) || \ +#if !defined (HAVE_GETDELIM) || \ !defined (HAVE_GETPID) || \ !defined (HAVE_SWAB) # include /* ssize_t, pid_t */ @@ -71,7 +71,10 @@ typedef struct #endif #ifdef __cplusplus +# define VLC_NOTHROW throw () extern "C" { +#else +# define VLC_NOTHROW #endif /* stdio.h */ @@ -89,11 +92,7 @@ int putc_unlocked (int, FILE *); int putchar_unlocked (int); #endif -/* we always need our implementation on Darwin, since native support for getline - * was added lately to Darwin 11 (OS X Lion) only. - * However, we want binaries created on this OS to be executable on previous - * releases. */ -#if !defined HAVE_GETDELIM +#ifndef HAVE_GETDELIM ssize_t getdelim (char **, size_t *, int, FILE *); ssize_t getline (char **, size_t *, FILE *); #endif @@ -119,8 +118,8 @@ char *strcasestr (const char *, const char *); char *strdup (const char *); #endif -#ifndef HAVE_STRNCASECMP -int strncasecmp (const char *, const char *, size_t); +#ifndef HAVE_STRVERSCMP +int strverscmp (const char *, const char *); #endif #ifndef HAVE_STRNLEN @@ -179,7 +178,7 @@ struct tm *localtime_r (const time_t *, struct tm *); /* unistd.h */ #ifndef HAVE_GETPID -pid_t getpid (void); +pid_t getpid (void) VLC_NOTHROW; #endif #ifndef HAVE_FSYNC @@ -213,6 +212,10 @@ int setenv (const char *, const char *, int); int unsetenv (const char *); #endif +#ifndef HAVE_POSIX_MEMALIGN +int posix_memalign (void **, size_t, size_t); +#endif + /* locale.h */ #ifndef HAVE_USELOCALE #define LC_NUMERIC_MASK 0 @@ -234,6 +237,11 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) } #endif +#if !defined (HAVE_STATIC_ASSERT) +# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) +# define static_assert _Static_assert +#endif + /* Alignment of critical static data structures */ #ifdef ATTRIBUTE_ALIGNED_MAX # define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) @@ -274,6 +282,10 @@ struct pollfd unsigned revents; }; #endif +#ifndef HAVE_POLL +struct pollfd; +int poll (struct pollfd *, unsigned, int); +#endif #ifndef HAVE_IF_NAMEINDEX #include @@ -325,18 +337,6 @@ long jrand48 (unsigned short subi[3]); long nrand48 (unsigned short subi[3]); #endif -#ifdef __ANDROID__ -# undef __linux__ -# ifndef __cplusplus -# define __cplusplus 0 -# endif -# include -# if __cplusplus == 0 -# undef __cplusplus -# endif -char *tempnam(const char *, const char *); -#endif // ANDROID - #ifdef __OS2__ # undef HAVE_FORK /* Implementation of fork() is imperfect on OS/2 */ #endif