diff options
author | Bastien Nocera <hadess@users.sourceforge.net> | 2004-04-15 00:14:56 +0000 |
---|---|---|
committer | Bastien Nocera <hadess@users.sourceforge.net> | 2004-04-15 00:14:56 +0000 |
commit | 5419e144c8c5dfef7f9b43cb2c28b86d64e7b648 (patch) | |
tree | 7cd9ea4abf5ad1fc65ab8a321e24b381c62a2d54 /src | |
parent | 00512219b700c8f0a6bfc3598804c72b0c984f0c (diff) | |
download | xine-lib-5419e144c8c5dfef7f9b43cb2c28b86d64e7b648.tar.gz xine-lib-5419e144c8c5dfef7f9b43cb2c28b86d64e7b648.tar.bz2 |
- generate events for "Permission denied" and "File not found" in the http and file plugins
CVS patchset: 6404
CVS date: 2004/04/15 00:14:56
Diffstat (limited to 'src')
-rw-r--r-- | src/input/input_file.c | 15 | ||||
-rw-r--r-- | src/input/input_http.c | 14 |
2 files changed, 26 insertions, 3 deletions
diff --git a/src/input/input_file.c b/src/input/input_file.c index 8a6b1bfbf..c04a79d76 100644 --- a/src/input/input_file.c +++ b/src/input/input_file.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: input_file.c,v 1.90 2004/04/10 15:45:11 mroi Exp $ + * $Id: input_file.c,v 1.91 2004/04/15 00:14:57 hadess Exp $ */ #ifdef HAVE_CONFIG_H @@ -261,8 +261,19 @@ static int file_plugin_open (input_plugin_t *this_gen ) { else this->fh = open(this->mrl, O_RDONLY|O_BINARY); - if (this->fh == -1) + if (this->fh == -1) { + if (errno == EACCES) { + _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, 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); + xine_log (this->stream->xine, XINE_LOG_MSG, + _("input_file: File not found: >%s<\n"), this->mrl); + } + return 0; + } } return 1; diff --git a/src/input/input_http.c b/src/input/input_http.c index d6afd9511..c7e426a2e 100644 --- a/src/input/input_http.c +++ b/src/input/input_http.c @@ -19,7 +19,7 @@ * * input plugin for http network streams * - * $Id: input_http.c,v 1.85 2004/04/10 15:45:11 mroi Exp $ + * $Id: input_http.c,v 1.86 2004/04/15 00:14:57 hadess Exp $ */ #ifdef HAVE_CONFIG_H @@ -790,6 +790,18 @@ static int http_plugin_open (input_plugin_t *this_gen ) { xine_log (this->stream->xine, XINE_LOG_MSG, _("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); + xine_log (this->stream->xine, XINE_LOG_MSG, + _("input_http: http status not 2xx: >%d %s<\n"), + httpcode, httpstatus); + return 0; + } else if (httpcode == 403) { + _x_message(this->stream, XINE_MSG_PERMISSION_ERROR, this->mrl, NULL); + xine_log (this->stream->xine, XINE_LOG_MSG, + _("input_http: http status not 2xx: >%d %s<\n"), + httpcode, httpstatus); + return 0; } else if (httpcode < 200 || httpcode >= 300) { _x_message(this->stream, XINE_MSG_CONNECTION_REFUSED, "http status not 2xx: ", httpstatus, NULL); |