From 30ef9de4fe0ba3b1fcd98d39c267b952bbfb31f0 Mon Sep 17 00:00:00 2001 From: faust3 Date: Thu, 12 May 2005 22:07:11 +0000 Subject: fix segfaults caused by socket and file descriptor mismatches on windows git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15422 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpdemux/stream.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'libmpdemux/stream.c') diff --git a/libmpdemux/stream.c b/libmpdemux/stream.c index 60e174bb9c..d1e3320afe 100644 --- a/libmpdemux/stream.c +++ b/libmpdemux/stream.c @@ -444,7 +444,14 @@ void free_stream(stream_t *s){ default: if(s->close) s->close(s); } - if(s->fd>0) closesocket(s->fd); + if(s->fd>0){ + /* on unix we define closesocket to close + on windows however we have to distinguish between + network socket and file */ + if(s->url && strstr(s->url,"://")) + closesocket(s->fd); + else close(s->fd); + } #ifdef HAVE_WINSOCK2 mp_msg(MSGT_STREAM,MSGL_V,"WINSOCK2 uninit\n"); WSACleanup(); // there might be a better place for this (-> later) -- cgit v1.2.3