From 224cd3a6d96fd943d3375e0385841972e29e95d0 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Mon, 9 Jun 2008 21:18:54 +0100 Subject: Fix Shoutcast NSV detection. Leading whitespace could prevent this from working. --- src/input/input_http.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/input') diff --git a/src/input/input_http.c b/src/input/input_http.c index dab7310c3..cbc2e8140 100644 --- a/src/input/input_http.c +++ b/src/input/input_http.c @@ -919,7 +919,10 @@ static int http_plugin_open (input_plugin_t *this_gen ) { /* content type */ if (!strncasecmp(this->buf, TAG_CONTENT_TYPE, sizeof(TAG_CONTENT_TYPE) - 1)) { - if (!strncasecmp(this->buf + sizeof(TAG_CONTENT_TYPE) - 1, "video/nsv", 9)) { + const char *type = this->buf + sizeof (TAG_CONTENT_TYPE) - 1; + while (isspace (*type)) + ++type; + if (!strncasecmp (type, "video/nsv", 9)) { lprintf("shoutcast nsv detected\n"); this->is_nsv = 1; } -- cgit v1.2.3 From abf81e0f348655b62a3e784572c269aab5c8e352 Mon Sep 17 00:00:00 2001 From: Darren Salt Date: Wed, 11 Jun 2008 18:19:51 +0100 Subject: Fix va_list-related breakage. Multiple use needs va_copy(). --- src/input/vcd/xine-extra.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src/input') diff --git a/src/input/vcd/xine-extra.c b/src/input/vcd/xine-extra.c index 79c962a79..e3b6da912 100644 --- a/src/input/vcd/xine-extra.c +++ b/src/input/vcd/xine-extra.c @@ -45,8 +45,10 @@ static xine_t *my_xine = NULL; void xine_vlog_msg(xine_t *this, int buf, const char *format, va_list args) { + va_list copy; + va_copy (copy, args); xine_vlog(this, buf, format, args); - vfprintf(stdout, format, args); + vfprintf(stdout, format, copy); } /*! This routine is like xine_log, except it takes a va_list instead @@ -59,8 +61,10 @@ xine_vlog_msg(xine_t *this, int buf, const char *format, va_list args) void xine_vlog_err(xine_t *this, int buf, const char *format, va_list args) { + va_list copy; + va_copy (copy, args); xine_vlog(this, buf, format, args); - vfprintf(stderr, format, args); + vfprintf(stderr, format, copy); } /*! Call this before calling any of the xine_log_msg or xine_log_err @@ -116,8 +120,8 @@ xine_log_err(const char *format, ...) { va_list args; - va_start(args, format); if (NULL == my_xine) return false; + va_start(args, format); xine_vlog_err(my_xine, XINE_LOG_MSG, format, args); va_end(args); return true; -- cgit v1.2.3