diff options
author | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-14 20:45:30 +0000 |
---|---|---|
committer | bertrand <bertrand@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2001-12-14 20:45:30 +0000 |
commit | 3ea29912ef6367871359b6d2d66f23a1fc4e9c5c (patch) | |
tree | 01f4d0f63b788c4d59115c86736c23b15c0831b9 /libmpdemux/network.c | |
parent | 5b38c5c2515efe76b35259b817bcbb9deebf09bf (diff) | |
download | mpv-3ea29912ef6367871359b6d2d66f23a1fc4e9c5c.tar.bz2 mpv-3ea29912ef6367871359b6d2d66f23a1fc4e9c5c.tar.xz |
Applied the patch from Alban Bedel <albeu@free.fr>.
He added some errors checking on network code.
Added a check on the port number parsing in the url.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3495 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/network.c')
-rw-r--r-- | libmpdemux/network.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/libmpdemux/network.c b/libmpdemux/network.c index 53ce3c94d4..91d920ff57 100644 --- a/libmpdemux/network.c +++ b/libmpdemux/network.c @@ -137,6 +137,17 @@ connect2Server(char *host, int port) { // Turn back the socket as blocking fcntl( socket_server_fd, F_SETFL, fcntl(socket_server_fd, F_GETFL) & ~O_NONBLOCK ); + // Check if there were any error + err_len = sizeof(int); + ret = getsockopt(socket_server_fd,SOL_SOCKET,SO_ERROR,&err,&err_len); + if(ret < 0) { + printf("getsockopt failed : %s\n",strerror(errno)); + return -1; + } + if(err > 0) { + printf("Connect error : %s\n",strerror(err)); + return -1; + } return socket_server_fd; } @@ -356,8 +367,8 @@ printf("read %d bytes from buffer\n", len ); if( len<size ) { int ret; ret = read( fd, buffer+len, size-len ); - if( ret==0 ) { - printf("nop_streaming_read read 0 -ie- EOF\n"); + if( ret<0 ) { + printf("nop_streaming_read error : %s\n",strerror(errno)); } len += ret; //printf("read %d bytes from network\n", len ); |