summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBastien Nocera <hadess@users.sourceforge.net>2004-04-15 00:14:56 +0000
committerBastien Nocera <hadess@users.sourceforge.net>2004-04-15 00:14:56 +0000
commit5419e144c8c5dfef7f9b43cb2c28b86d64e7b648 (patch)
tree7cd9ea4abf5ad1fc65ab8a321e24b381c62a2d54 /src
parent00512219b700c8f0a6bfc3598804c72b0c984f0c (diff)
downloadxine-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.c15
-rw-r--r--src/input/input_http.c14
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);