[vlc-commits] nfs: keep private flag for EOF
Rémi Denis-Courmont
git at videolan.org
Thu Jul 21 21:30:15 CEST 2016
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Tue Jul 19 21:52:17 2016 +0300| [24b991c5c47e9dca313b5ca54fe631fcd1a4b887] | committer: Rémi Denis-Courmont
nfs: keep private flag for EOF
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=24b991c5c47e9dca313b5ca54fe631fcd1a4b887
---
modules/access/nfs.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/modules/access/nfs.c b/modules/access/nfs.c
index 2f1e52c..754085b 100644
--- a/modules/access/nfs.c
+++ b/modules/access/nfs.c
@@ -75,6 +75,7 @@ struct access_sys_t
vlc_url_t encoded_url;
char * psz_url_decoded;
char * psz_url_decoded_slash;
+ bool b_eof;
bool b_error;
bool b_auto_guid;
@@ -182,7 +183,7 @@ nfs_read_cb(int i_status, struct nfs_context *p_nfs, void *p_data,
return;
if (i_status == 0)
- p_access->info.b_eof = true;
+ p_sys->b_eof = true;
else
{
p_sys->res.read.i_len = i_status;
@@ -194,7 +195,7 @@ static bool
nfs_read_finished_cb(access_t *p_access)
{
access_sys_t *p_sys = p_access->p_sys;
- return p_sys->res.read.i_len > 0 || p_access->info.b_eof;
+ return p_sys->res.read.i_len > 0 || p_sys->b_eof;
}
static ssize_t
@@ -202,6 +203,9 @@ FileRead(access_t *p_access, void *p_buf, size_t i_len)
{
access_sys_t *p_sys = p_access->p_sys;
+ if (p_sys->b_eof)
+ return 0;
+
p_sys->res.read.i_len = 0;
p_sys->res.read.p_buf = p_buf;
if (nfs_read_async(p_sys->p_nfs, p_sys->p_nfsfh, i_len, nfs_read_cb,
More information about the vlc-commits
mailing list