# HG changeset patch # User Brad Smith # Date 1234925917 0 # Node ID 976ed957ffe57de74b482f569012655f0c44d307 # Parent 678f7a60fde4d6522f848b91cc3da3c956d09a14 Fix NULL pointer usage with variable argument functions. diff --git a/src/demuxers/demux_asf.c b/src/demuxers/demux_asf.c --- a/src/demuxers/demux_asf.c +++ b/src/demuxers/demux_asf.c @@ -460,7 +460,7 @@ static int asf_read_header (demux_asf_t xine_log(this->stream->xine, XINE_LOG_MSG, _("demux_asf: warning: The stream id=%d is encrypted.\n"), asf_stream->stream_number); _x_message(this->stream, XINE_MSG_ENCRYPTED_SOURCE, - _("Media stream scrambled/encrypted"), NULL); + _("Media stream scrambled/encrypted"), (char *)NULL); this->mode = ASF_MODE_ENCRYPTED_CONTENT; } } diff --git a/src/demuxers/demux_mpeg_block.c b/src/demuxers/demux_mpeg_block.c --- a/src/demuxers/demux_mpeg_block.c +++ b/src/demuxers/demux_mpeg_block.c @@ -647,7 +647,7 @@ static int32_t parse_pes_for_pts(demux_m _("demux_mpeg_block: warning: PES header indicates that this stream " "may be encrypted (encryption mode %d)\n"), (p[6] & 0x30) >> 4); _x_message (this->stream, XINE_MSG_ENCRYPTED_SOURCE, - "Media stream scrambled/encrypted", NULL); + "Media stream scrambled/encrypted", (char *)NULL); this->status = DEMUX_FINISHED; buf->free_buffer(buf); return -1; diff --git a/src/demuxers/demux_mpeg_pes.c b/src/demuxers/demux_mpeg_pes.c --- a/src/demuxers/demux_mpeg_pes.c +++ b/src/demuxers/demux_mpeg_pes.c @@ -814,7 +814,7 @@ static int32_t parse_pes_for_pts(demux_m _("demux_mpeg_pes: warning: PES header indicates that " "this stream may be encrypted (encryption mode %d)\n"), (p[6] & 0x30) >> 4); _x_message (this->stream, XINE_MSG_ENCRYPTED_SOURCE, - "Media stream scrambled/encrypted", NULL); + "Media stream scrambled/encrypted", (char *)NULL); this->status = DEMUX_FINISHED; buf->free_buffer(buf); return -1; diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -3060,7 +3060,7 @@ static demux_plugin_t *open_plugin (demu /* special consideration for DRM-protected files */ if (this->qt->last_error == QT_DRM_NOT_SUPPORTED) _x_message (this->stream, XINE_MSG_ENCRYPTED_SOURCE, - "DRM-protected Quicktime file", NULL); + "DRM-protected Quicktime file", (char *)NULL); } else if (last_error != QT_OK) { diff --git a/src/input/input_dvb.c b/src/input/input_dvb.c --- a/src/input/input_dvb.c +++ b/src/input/input_dvb.c @@ -903,7 +903,7 @@ static channel_t *load_channels(xine_t * if (!f) { xprintf(xine, XINE_VERBOSITY_LOG, _("input_dvb: failed to open dvb channel file '%s': %s\n"), filename, strerror (errno)); if (!f && stream) - _x_message(stream, XINE_MSG_FILE_NOT_FOUND, filename, "Please run the dvbscan utility.", NULL); + _x_message(stream, XINE_MSG_FILE_NOT_FOUND, filename, "Please run the dvbscan utility.", (char *)NULL); return NULL; } if (fstat(fileno(f), &st) || !S_ISREG (st.st_mode)) { @@ -2585,7 +2585,7 @@ static off_t dvb_plugin_read (input_plug /* no data for several seconds - tell the user a possible reason */ if(this->read_failcount==5){ - _x_message(this->stream,1,"DVB Signal Lost. Please check connections.", NULL); + _x_message(this->stream,1,"DVB Signal Lost. Please check connections.", (char *)NULL); } #ifdef DVB_NO_BUFFERING if(this->newchannel){ diff --git a/src/input/input_dvd.c b/src/input/input_dvd.c --- a/src/input/input_dvd.c +++ b/src/input/input_dvd.c @@ -608,7 +608,7 @@ static buf_element_t *dvd_plugin_read_bl xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("input_dvd: Error getting next block from DVD (%s)\n"), dvdnav_err_to_string(this->dvdnav)); _x_message(this->stream, XINE_MSG_READ_ERROR, - dvdnav_err_to_string(this->dvdnav), NULL); + dvdnav_err_to_string(this->dvdnav), (char *)NULL); if (block != buf->mem) dvdnav_free_cache_block(this->dvdnav, block); buf->free_buffer(buf); return NULL; @@ -1499,7 +1499,7 @@ static int dvd_plugin_open (input_plugin xprintf(this->stream->xine, XINE_VERBOSITY_LOG, _("input_dvd: Error opening DVD device\n")); _x_message(this->stream, XINE_MSG_READ_ERROR, /* FIXME: see FIXME in dvd_parse_try_open() */ - (strlen(locator) && !(locator[0] == '/' && locator[1] == '\0')) ? locator : class->dvd_device, NULL); + (strlen(locator) && !(locator[0] == '/' && locator[1] == '\0')) ? locator : class->dvd_device, (char *)NULL); free (locator_orig); return 0; } diff --git a/src/input/input_file.c b/src/input/input_file.c --- a/src/input/input_file.c +++ b/src/input/input_file.c @@ -210,7 +210,7 @@ static buf_element_t *file_plugin_read_b xine_log (this->stream->xine, XINE_LOG_MSG, _("input_file: read error (%s)\n"), strerror(errno)); _x_message(this->stream, XINE_MSG_READ_ERROR, - this->mrl, NULL); + this->mrl, (char *)NULL); } buf->free_buffer (buf); buf = NULL; @@ -366,11 +366,11 @@ static int file_plugin_open (input_plugi if (this->fh == -1) { if (errno == EACCES) { - _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_file: Permission denied: >%s<\n"), this->mrl); } else if (errno == ENOENT) { - _x_message(this->stream, XINE_MSG_FILE_NOT_FOUND, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_FILE_NOT_FOUND, this->mrl, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_file: File not found: >%s<\n"), this->mrl); } @@ -407,7 +407,7 @@ static int file_plugin_open (input_plugi #endif if (file_plugin_get_length (this_gen) == 0) { - _x_message(this->stream, XINE_MSG_FILE_EMPTY, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_FILE_EMPTY, this->mrl, (char *)NULL); close (this->fh); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_file: File empty: >%s<\n"), this->mrl); diff --git a/src/input/input_http.c b/src/input/input_http.c --- a/src/input/input_http.c +++ b/src/input/input_http.c @@ -412,7 +412,7 @@ static off_t http_plugin_read_int (http_ error: if (!_x_action_pending(this->stream)) - _x_message (this->stream, XINE_MSG_READ_ERROR, this->host, NULL); + _x_message (this->stream, XINE_MSG_READ_ERROR, this->host, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: read error %d\n"), errno); return read_bytes; } @@ -685,7 +685,9 @@ static int http_plugin_open (input_plugi if (http_plugin_basicauth (this_class->proxyuser, this_class->proxypassword, this->proxyauth, BUFSIZE)) { - _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "proxy error", NULL); + _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "proxy error", (char *)NULL); +- _x_message(this->stream, XINE_MSG_GENERAL_WARNING, "malformed url", NULL); ++ _x_message(this->stream, XINE_MSG_GENERAL_WARNING, "malformed url", (char *)NULL); return 0; } } @@ -695,7 +697,7 @@ static int http_plugin_open (input_plugi if (!_x_parse_url(this->mrl, &this->proto, &this->host, &this->port, &this->user, &this->password, &this->uri, &this->user_agent)) { - _x_message(this->stream, XINE_MSG_GENERAL_WARNING, "malformed url", NULL); + _x_message(this->stream, XINE_MSG_GENERAL_WARNING, "malformed url", (char *)NULL); return 0; } use_proxy = use_proxy && _x_use_proxy(this_class, this->host); @@ -705,7 +707,7 @@ static int http_plugin_open (input_plugi if (this->user && strlen(this->user)) { if (http_plugin_basicauth (this->user, this->password, this->auth, BUFSIZE)) { - _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "basic auth error", NULL); + _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "basic auth error", (char *)NULL); return -1; } } @@ -759,7 +761,7 @@ static int http_plugin_open (input_plugi } while ((res == XIO_TIMEOUT) && (progress <= 100000)); if (res != XIO_READY) { - _x_message(this->stream, XINE_MSG_NETWORK_UNREACHABLE, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_NETWORK_UNREACHABLE, this->mrl, (char *)NULL); return -3; } } @@ -801,7 +803,7 @@ static int http_plugin_open (input_plugi this->user_agent ? " " : "", VERSION); if (_x_io_tcp_write (this->stream, this->fh, this->buf, buflen) != buflen) { - _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "couldn't send request", NULL); + _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "couldn't send request", (char *)NULL); xprintf(this_class->xine, XINE_VERBOSITY_DEBUG, "input_http: couldn't send request\n"); return -4; } @@ -845,7 +847,7 @@ static int http_plugin_open (input_plugi (sscanf(this->buf, "ICY %d %50[^\015\012]", /* icecast 1 ? */ &httpcode, httpstatus) != 2) ) { - _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "invalid http answer", NULL); + _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "invalid http answer", (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: invalid http answer\n")); return -6; @@ -856,20 +858,20 @@ static int http_plugin_open (input_plugi _("input_http: 3xx redirection: >%d %s<\n"), httpcode, httpstatus); } else if (httpcode == 404) { - _x_message(this->stream, XINE_MSG_FILE_NOT_FOUND, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_FILE_NOT_FOUND, this->mrl, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: http status not 2xx: >%d %s<\n"), httpcode, httpstatus); return -7; } else if (httpcode == 403 || httpcode == 401) { - _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: http status not 2xx: >%d %s<\n"), httpcode, httpstatus); return -8; } else if (httpcode < 200 || httpcode >= 300) { _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "http status not 2xx: ", - httpstatus, NULL); + httpstatus, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: http status not 2xx: >%d %s<\n"), httpcode, httpstatus); @@ -982,7 +984,7 @@ static int http_plugin_open (input_plugi } else len ++; if ( len >= BUFSIZE ) { - _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, NULL); + _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, (char *)NULL); xine_log (this->stream->xine, XINE_LOG_MSG, _("input_http: buffer exhausted after %d bytes."), BUFSIZE); return -10; diff --git a/src/input/input_net.c b/src/input/input_net.c --- a/src/input/input_net.c +++ b/src/input/input_net.c @@ -275,7 +275,7 @@ static off_t net_plugin_read (input_plug xprintf(this->stream->xine, XINE_VERBOSITY_DEBUG, "input_net: got %" PRIdMAX " bytes (%" PRIdMAX "/%" PRIdMAX " bytes read)\n", (intmax_t)n, (intmax_t)total, (intmax_t)len); if (n < 0) { - _x_message(this->stream, XINE_MSG_READ_ERROR, this->host_port, NULL); + _x_message(this->stream, XINE_MSG_READ_ERROR, this->host_port, (char *)NULL); return 0; } diff --git a/src/input/input_stdin_fifo.c b/src/input/input_stdin_fifo.c --- a/src/input/input_stdin_fifo.c +++ b/src/input/input_stdin_fifo.c @@ -106,7 +106,7 @@ static off_t stdin_plugin_read (input_pl lprintf ("got %"PRId64" bytes (%"PRId64"/%"PRId64" bytes read)\n", n,total,len); if (n < 0) { - _x_message(this->stream, XINE_MSG_READ_ERROR, NULL); + _x_message(this->stream, XINE_MSG_READ_ERROR, (char *)NULL); return 0; } diff --git a/src/input/media_helper.c b/src/input/media_helper.c --- a/src/input/media_helper.c +++ b/src/input/media_helper.c @@ -59,7 +59,7 @@ static int media_umount_media(const char pid=fork(); if (pid == 0) { - execl("/bin/umount", "umount", device, NULL); + execl("/bin/umount", "umount", device, (char *)NULL); exit(127); } do { diff --git a/src/libreal/real_common.c b/src/libreal/real_common.c --- a/src/libreal/real_common.c +++ b/src/libreal/real_common.c @@ -177,7 +177,7 @@ void *_x_real_codec_open(xine_stream_t * LOG_MODULE ": error loading %s: %s\n", codecpath, dlerror()); } - _x_message(stream, XINE_MSG_LIBRARY_LOAD_ERROR, codec_name, NULL); + _x_message(stream, XINE_MSG_LIBRARY_LOAD_ERROR, codec_name, (char *)NULL); return NULL; } diff --git a/src/xine-engine/audio_out.c b/src/xine-engine/audio_out.c --- a/src/xine-engine/audio_out.c +++ b/src/xine-engine/audio_out.c @@ -1089,7 +1089,7 @@ static void *ao_loop (void *this_gen) { in_buf->format.rate, in_buf->format.mode) == 0 ) { in_buf->stream->emergency_brake = 1; - _x_message (in_buf->stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, NULL); + _x_message (in_buf->stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, (char *)NULL); } } } @@ -1120,7 +1120,7 @@ static void *ao_loop (void *this_gen) { stream = xine_list_get_value (this->streams, ite); if( !stream->emergency_brake ) { stream->emergency_brake = 1; - _x_message (stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, NULL); + _x_message (stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, (char *)NULL); } } pthread_mutex_unlock(&this->streams_lock); @@ -1252,7 +1252,7 @@ static void *ao_loop (void *this_gen) { if( result < 0 ) { /* device unplugged. */ xprintf(this->xine, XINE_VERBOSITY_LOG, _("write to sound card failed. Assuming the device was unplugged.\n")); - _x_message (in_buf->stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, NULL); + _x_message (in_buf->stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, (char *)NULL); pthread_mutex_lock( &this->driver_lock ); if(this->driver_open) { @@ -1266,7 +1266,7 @@ static void *ao_loop (void *this_gen) { in_buf->format.rate, in_buf->format.mode) == 0) { in_buf->stream->emergency_brake = 1; - _x_message (in_buf->stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, NULL); + _x_message (in_buf->stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, (char *)NULL); } } pthread_mutex_unlock( &this->driver_lock ); @@ -1514,7 +1514,7 @@ static int ao_open(xine_audio_port_t *th if( !ret ) { stream->emergency_brake = 1; - _x_message (stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, NULL); + _x_message (stream, XINE_MSG_AUDIO_OUT_UNAVAILABLE, (char *)NULL); return 0; } } else { diff --git a/src/xine-engine/input_rip.c b/src/xine-engine/input_rip.c --- a/src/xine-engine/input_rip.c +++ b/src/xine-engine/input_rip.c @@ -565,7 +565,7 @@ input_plugin_t *_x_rip_plugin_get_instan xine_log(stream->xine, XINE_LOG_MSG, _("input_rip: target directory wasn't specified, please fill out the option 'media.capture.save_dir'\n")); _x_message(stream, XINE_MSG_SECURITY, - _("The stream save feature is disabled until you set media.capture.save_dir in the configuration."), NULL); + _("The stream save feature is disabled until you set media.capture.save_dir in the configuration."), (char *)NULL); return NULL; } @@ -574,7 +574,7 @@ input_plugin_t *_x_rip_plugin_get_instan xine_log(stream->xine, XINE_LOG_MSG, _("input_rip: ripping/caching of this source is not permitted!\n")); _x_message(stream, XINE_MSG_SECURITY, - _("xine is not allowed to save from this source. (possibly copyrighted material?)"), NULL); + _("xine is not allowed to save from this source. (possibly copyrighted material?)"), (char *)NULL); return NULL; } #endif diff --git a/src/xine-engine/io_helper.c b/src/xine-engine/io_helper.c --- a/src/xine-engine/io_helper.c +++ b/src/xine-engine/io_helper.c @@ -56,19 +56,19 @@ static int _x_io_tcp_connect_ipv4(xine_s h = gethostbyname(host); if (h == NULL) { - _x_message(stream, XINE_MSG_UNKNOWN_HOST, "unable to resolve", host, NULL); + _x_message(stream, XINE_MSG_UNKNOWN_HOST, "unable to resolve", host, (char *)NULL); return -1; } s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); if (s == -1) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "failed to create socket", strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "failed to create socket", strerror(errno), (char *)NULL); return -1; } #ifndef WIN32 if (fcntl (s, F_SETFL, fcntl (s, F_GETFL) | O_NONBLOCK) == -1) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), (char *)NULL); return -1; } #else @@ -79,7 +79,7 @@ static int _x_io_tcp_connect_ipv4(xine_s rc = ioctlsocket(s, FIONBIO, &non_block); if (rc == SOCKET_ERROR) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), (char *)NULL); return -1; } } @@ -102,7 +102,7 @@ static int _x_io_tcp_connect_ipv4(xine_s xprintf(stream->xine, XINE_VERBOSITY_DEBUG, "io_helper: WSAGetLastError() = %d\n", WSAGetLastError()); #endif /* WIN32 */ - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, strerror(errno), (char *)NULL); close(s); continue; } @@ -136,7 +136,7 @@ int _x_io_tcp_connect(xine_stream_t *str if (error) { _x_message(stream, XINE_MSG_UNKNOWN_HOST, - "unable to resolve", host, NULL); + "unable to resolve", host, (char *)NULL); return -1; } @@ -147,7 +147,7 @@ int _x_io_tcp_connect(xine_stream_t *str s = socket(tmpaddr->ai_family, SOCK_STREAM, IPPROTO_TCP); if (s == -1) { _x_message(stream, XINE_MSG_CONNECTION_REFUSED, - "failed to create socket", strerror(errno), NULL); + "failed to create socket", strerror(errno), (char *)NULL); tmpaddr = tmpaddr->ai_next; continue; } @@ -160,7 +160,7 @@ int _x_io_tcp_connect(xine_stream_t *str if ( ! tmpaddr->ai_next ) { #ifndef WIN32 if (fcntl (s, F_SETFL, fcntl (s, F_GETFL) | O_NONBLOCK) == -1) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), (char *)NULL); return -1; } #else @@ -170,7 +170,7 @@ int _x_io_tcp_connect(xine_stream_t *str rc = ioctlsocket(s, FIONBIO, &non_block); if (rc == SOCKET_ERROR) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, "can't put socket in non-blocking mode", strerror(errno), (char *)NULL); return -1; } #endif @@ -200,7 +200,7 @@ int _x_io_tcp_connect(xine_stream_t *str tmpaddr = tmpaddr->ai_next; } - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, strerror(error), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, strerror(error), (char *)NULL); return -1; #endif @@ -311,11 +311,11 @@ int _x_io_tcp_connect_finish(xine_stream int err; if ((getsockopt(fd, SOL_SOCKET, SO_ERROR, (void *)&err, &len)) == -1) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, _("failed to get status of socket"), strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, _("failed to get status of socket"), strerror(errno), (char *)NULL); return XIO_ERROR; } if (err) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, strerror(errno), NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, strerror(errno), (char *)NULL); return XIO_ERROR; } } @@ -383,15 +383,15 @@ static off_t xio_rw_abort(xine_stream_t continue; if (errno == EACCES) { - _x_message(stream, XINE_MSG_PERMISSION_ERROR, NULL, NULL); + _x_message(stream, XINE_MSG_PERMISSION_ERROR, NULL, (char *)NULL); xine_log (stream->xine, XINE_LOG_MSG, _("io_helper: Permission denied\n")); } else if (errno == ENOENT) { - _x_message(stream, XINE_MSG_FILE_NOT_FOUND, NULL, NULL); + _x_message(stream, XINE_MSG_FILE_NOT_FOUND, NULL, (char *)NULL); xine_log (stream->xine, XINE_LOG_MSG, _("io_helper: File not found\n")); } else if (errno == ECONNREFUSED) { - _x_message(stream, XINE_MSG_CONNECTION_REFUSED, NULL, NULL); + _x_message(stream, XINE_MSG_CONNECTION_REFUSED, NULL, (char *)NULL); xine_log (stream->xine, XINE_LOG_MSG, _("io_helper: Connection Refused\n")); } else { diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -1700,7 +1700,7 @@ static void config_save_cb (void *this_g pthread_mutex_lock(&this->streams_lock); if ( (ite = xine_list_front(this->streams)) ) { stream = xine_list_get_value(this->streams, ite); - _x_message(stream, XINE_MSG_SECURITY, _("The specified save_dir might be a security risk."), NULL); + _x_message(stream, XINE_MSG_SECURITY, _("The specified save_dir might be a security risk."), (char *)NULL); } pthread_mutex_unlock(&this->streams_lock); }