[vlc-devel] [vlc-commits] se/archive: use readdir_helper

KO Myung-Hun komh78 at gmail.com
Fri Oct 13 15:03:03 CEST 2017


Thanks a lot. :)

Thomas Guillem wrote:
> Crashes with skins2 are fixed now.
> 
> On Wed, Oct 11, 2017, at 18:07, Thomas Guillem wrote:
>> OK, got it, thanks for the report.
>>
>> On Wed, Oct 11, 2017, at 17:45, Thomas Guillem wrote:
>>> Is it possible to have a gdb backtrace ?
>>>
>>> On Tue, Oct 10, 2017, at 16:24, KO Myung-Hun wrote:
>>>> Hi/2.
>>>>
>>>> This commit causes skins2 interface to crash due to SIGSEGV.
>>>>
>>>> Thomas Guillem wrote:
>>>>> vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Wed Sep 20 10:39:35 2017 +0200| [a913906b1327e3a4705c8e85d9989222bf5f7e1a] | committer: Thomas Guillem
>>>>>
>>>>> se/archive: use readdir_helper
>>>>>
>>>>>> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a913906b1327e3a4705c8e85d9989222bf5f7e1a
>>>>> ---
>>>>>
>>>>>  modules/stream_extractor/archive.c | 26 +++++++++++---------------
>>>>>  1 file changed, 11 insertions(+), 15 deletions(-)
>>>>>
>>>>> diff --git a/modules/stream_extractor/archive.c b/modules/stream_extractor/archive.c
>>>>> index b2bf4f9d47..9796d0b7bd 100644
>>>>> --- a/modules/stream_extractor/archive.c
>>>>> +++ b/modules/stream_extractor/archive.c
>>>>> @@ -505,6 +505,8 @@ static int ReadDir( stream_directory_t* p_directory, input_item_node_t* p_node )
>>>>>      private_sys_t* p_sys = p_directory->p_sys;
>>>>>      libarchive_t* p_arc = p_sys->p_archive;
>>>>>  
>>>>> +    struct vlc_readdir_helper rdh;
>>>>> +    vlc_readdir_helper_init( &rdh, p_directory, p_node);
>>>>>      struct archive_entry* entry;
>>>>>      int archive_status;
>>>>>  
>>>>> @@ -517,28 +519,22 @@ static int ReadDir( stream_directory_t* p_directory, input_item_node_t* p_node )
>>>>>          char*       mrl  = vlc_stream_extractor_CreateMRL( p_directory, path );
>>>>>  
>>>>>          if( unlikely( !mrl ) )
>>>>> -            return VLC_ENOMEM;
>>>>> -
>>>>> -        input_item_t* p_item = input_item_New( mrl, path );
>>>>> +            break;
>>>>>  
>>>>> +        if( vlc_readdir_helper_additem( &rdh, mrl, path, NULL, ITEM_TYPE_FILE,
>>>>> +                                        ITEM_LOCAL ) )
>>>>> +        {
>>>>> +            free( mrl );
>>>>> +            break;
>>>>> +        }
>>>>>          free( mrl );
>>>>>  
>>>>> -        if( unlikely( !p_item ) )
>>>>> -            return VLC_ENOMEM;
>>>>> -
>>>>> -
>>>>> -        input_item_CopyOptions( p_node->p_item, p_item );
>>>>> -        input_item_node_AppendItem( p_node, p_item );
>>>>> -        input_item_Release( p_item );
>>>>> -
>>>>>          if( archive_read_data_skip( p_arc ) )
>>>>>              break;
>>>>>      }
>>>>>  
>>>>> -    if( archive_status != ARCHIVE_EOF )
>>>>> -        return VLC_EGENERIC;
>>>>> -
>>>>> -    return VLC_SUCCESS;
>>>>> +    vlc_readdir_helper_finish( &rdh, archive_status == ARCHIVE_EOF );
>>>>> +    return archive_status == ARCHIVE_EOF ? VLC_SUCCESS : VLC_EGENERIC;
>>>>>  }
>>>>>  
>>>>>  static ssize_t Read( stream_extractor_t *p_extractor, void* p_data, size_t i_size )
>>>>>
>>>>> _______________________________________________
>>>>> vlc-commits mailing list
>>>>> vlc-commits at videolan.org
>>>>> https://mailman.videolan.org/listinfo/vlc-commits
>>>>
>>>> -- 
>>>> KO Myung-Hun
>>>>
>>>> Using Mozilla SeaMonkey 2.7.2
>>>> Under OS/2 Warp 4 for Korean with FixPak #15
>>>> In VirtualBox v4.1.32 on Intel Core i7-3615QM 2.30GHz with 8GB RAM
>>>>
>>>> Korean OS/2 User Community : http://www.os2.kr/
>>>>
>>>> _______________________________________________
>>>> vlc-devel mailing list
>>>> To unsubscribe or modify your subscription options:
>>>> https://mailman.videolan.org/listinfo/vlc-devel
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel

-- 
KO Myung-Hun

Using Mozilla SeaMonkey 2.7.2
Under OS/2 Warp 4 for Korean with FixPak #15
In VirtualBox v4.1.32 on Intel Core i7-3615QM 2.30GHz with 8GB RAM

Korean OS/2 User Community : http://www.os2.kr/



More information about the vlc-devel mailing list