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
}
/* Else try again with more space. */
- if (n == -1)
- size *= 2; /* twice the old size */
+ size *= 2; /* twice the old size */
if ((np = (char *) realloc (res, size)) == NULL)
{
#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
#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 */