[vlc-devel] commit: win32: fix %zu fixups - dont use mingw's vsnprintf (David Flynn )

xxcv xxcv07 at gmail.com
Sat Apr 4 14:21:44 CEST 2009


David Flynn wrote:
> On 2009-04-04, xxcv <xxcv07 at gmail.com> wrote:
>   
>> Jean-Baptiste Kempf wrote:
>>     
>>> On Sat, Apr 04, 2009 at 08:28:37PM +1100, xxcv wrote :
>>>   
>>>       
>>>> git version control wrote:
>>>>     
>>>>         
>>>>> vlc | branch: master | David Flynn <davidf at rd.bbc.co.uk> | Wed Apr  1 
>>>>> 21:40:02 2009 +0000| [151982aab503fa812cd4d6e830df34e78871c106] | 
>>>>> committer: Jean-Baptiste Kempf 
>>>>> win32: fix %zu fixups - dont use mingw's vsnprintf
>>>>>
>>>>> Traditionally, MSVCRT has provided vsnprintf as _vsnprintf;
>>>>> to 'aid' portability/standards compliance, mingw provide a
>>>>> static version of [v]snprintf that is buggy.
>>>>>
>>>>>       
>>>>>           
>> Indeed that there's 2 problems with wmv one is with these patch series.
>>     
>
> On the *printf problem, are you either able to identify which module it
> dies in? or grab a stack trace?
>
>   

Call stack:
68447D90  libasf_plugin.dll:68447D90  ASF_ObjectDumpDebug  libasf.c:1506

I know it crash from modules/demux/libasf.c

    snprintf( str + 5*i_level, 1024,
             "+ '%s' GUID "GUID_FMT" size:%"PRIu64"pos:%"PRIu64,
             psz_name,
             GUID_PRINT( p_node->i_object_id ),
             p_node->i_object_size, p_node->i_object_pos );

    msg_Dbg( p_obj, "%s", str );

    for( p_child = p_node->p_first; p_child != NULL;
                                             p_child = p_child->common.p_next )
    {
        ASF_ObjectDumpDebug( p_obj, &p_child->common, i_level + 1 );
    }

And after reverting these 4 patches you sent the issue went away.

> The problem is usually down to a a conflict between vlc being written in
> c99 and microsoft who write to god knows what. ie, a format specifier
> that MS don't understand is used.
>
> There is a further patch (yet to be written), that requires
> mingw-runtime > 3.13 and deactivates the using of msvcrt _vsnprintf.
>
> The problem is complicated by wince, which doesn't use the mingw-runtime
> so needs some form of compatability.  One solution is to provide a
> vsnprintf implementation for rubbish platforms, i got most of the way
> there, but lost the will to live at implementing c99 compliant double
> handling.
>
> ..david
>
>   
The other issue is with avcodec I think because I just updated ffmpeg to 
18328 today. (because the wmv files works fine with my yesterday's binary)

Going to revert ffmpeg and see what happens.

Regards.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090404/bd56fe26/attachment.html>


More information about the vlc-devel mailing list