[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