X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=inline;f=include%2Fvlc_fixups.h;h=726bb9e2e02a2ecb335df69bbbbc68dd43855272;hb=60cc18a0326e9144fca3759048516b566cbba27f;hp=09c467be5aaf5bf696607e930e8ea071b7959023;hpb=07faebaf35bfa682913ac99f11562ecd8b974021;p=vlc diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 09c467be5a..726bb9e2e0 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -50,7 +50,7 @@ static inline int vasprintf (char **strp, const char *fmt, va_list ap) if (res == NULL) return -1; *strp = res; - return vsprintf (res, fmt, ap); + return vsnprintf (res, len, fmt, ap); #else /* HACK: vsnprintf in the WinCE API behaves like * the one in glibc 2.0 and doesn't return the number of characters @@ -151,7 +151,23 @@ static inline char *strndup (const char *str, size_t max) #endif #ifndef HAVE_STRSEP -# define strsep vlc_strsep +static inline char *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; +} #endif #ifndef HAVE_ATOLL @@ -281,4 +297,12 @@ typedef void *locale_t; #define N_(str) gettext_noop (str) #define gettext_noop(str) (str) +#ifdef UNDER_CE +static inline void rewind ( FILE *stream ) +{ + fseek(stream, 0L, SEEK_SET); + clearerr(stream); +} +#endif + #endif /* !LIBVLC_FIXUPS_H */