[vlc-commits] Fixed support for multi-volume archive.

Laurent Aimar git at videolan.org
Thu Feb 23 20:19:35 CET 2012


vlc | branch: master | Laurent Aimar <fenrir at videolan.org> | Thu Feb 23 20:13:39 2012 +0100| [1cc7a5c9a45e1d1b54afb310f68e43cdec32dc6f] | committer: Laurent Aimar

Fixed support for multi-volume archive.

09d1c6e1891cdc914d25279aabdd83c13baab227 was not working...

It fixes #6190.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=1cc7a5c9a45e1d1b54afb310f68e43cdec32dc6f
---

 modules/access/rar/rar.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/modules/access/rar/rar.c b/modules/access/rar/rar.c
index 0a6cac4..d833117 100644
--- a/modules/access/rar/rar.c
+++ b/modules/access/rar/rar.c
@@ -327,7 +327,7 @@ int RarParse(stream_t *s, int *count, rar_file_t ***file)
         }
 
         /* */
-        bool has_next = false;
+        int has_next = 1;
         for (;;) {
             rar_block_t bk;
             int ret;
@@ -350,11 +350,12 @@ int RarParse(stream_t *s, int *count, rar_file_t ***file)
             if (ret)
                 break;
         }
+        if (has_next < 0)
+            has_next = *count > 0 && !(*file)[*count -1]->is_complete;
         if (vol != s)
             stream_Delete(vol);
 
-        if (!has_next || !pattern ||
-            (*count > 0 && !(*file)[*count -1]->is_complete)) {
+        if (!has_next || !pattern) {
             free(volume_mrl);
             return VLC_SUCCESS;
         }



More information about the vlc-commits mailing list