Changeset 4f5b5ee95cec30c3bfe13e5b28790a9008dbcf03

Show
Ignore:
Timestamp:
01/08/07 01:41:45 (2 years ago)
Author:
Damien Fouilleul <damienf@videolan.org>
git-committer:
Damien Fouilleul <damienf@videolan.org> 1168216905 +0000
git-parent:

[9ed73544c60347d441b633200d0d681f56228f0d]

git-author:
Damien Fouilleul <damienf@videolan.org> 1168216905 +0000
Message:

- since DIR* on win32 is mapped to a private data type, rewinddir(), seekdir() and telldir() must also be mapped to their vlc_ equivalent. Should fix ticket #926

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • include/vlc_common.h

    r65d2183 r4f5b5ee  
    959959#   define readdir vlc_readdir 
    960960#   define closedir vlc_closedir 
     961#   define rewinddir vlc_rewindir 
     962#   define seekdir vlc_seekdir 
     963#   define telldir vlc_telldir 
    961964    VLC_EXPORT( void *, vlc_opendir, ( const char * ) ); 
    962965    VLC_EXPORT( void *, vlc_readdir, ( void * ) ); 
    963966    VLC_EXPORT( int, vlc_closedir, ( void * ) ); 
     967    VLC_INTERNAL( void, vlc_rewinddir, ( void * ) ); 
     968    VLC_INTERNAL( void, vlc_seekdir, ( void *, long ) ); 
     969    VLC_INTERNAL( long, vlc_telldir, ( void * ) ); 
    964970#else 
    965971    struct dirent;  /* forward declaration for vlc_symbols.h */ 
     
    976982VLC_INTERNAL( struct _wdirent *, vlc_wreaddir, ( void * ) ); 
    977983VLC_INTERNAL( int, vlc_wclosedir, ( void * ) ); 
     984VLC_INTERNAL( void, vlc_rewinddir, ( void * ) ); 
     985VLC_INTERNAL( void, vlc_seekdir, ( void *, long ) ); 
     986VLC_INTERNAL( long, vlc_telldir, ( void * ) ); 
    978987#   define opendir Use_utf8_opendir_or_vlc_wopendir_instead! 
    979988#   define readdir Use_utf8_readdir_or_vlc_wreaddir_instead! 
     
    981990#   define _wopendir vlc_wopendir 
    982991#   define _wreaddir vlc_wreaddir 
    983 #   define _wclosedir vlc_wclosedir 
     992#   define rewinddir vlc_rewinddir 
     993#   define seekdir vlc_seekdir 
     994#   define telldir vlc_telldir 
    984995#endif 
    985996 
  • src/extras/libc.c

    r1fbb363 r4f5b5ee  
    5656#   undef _wreaddir 
    5757#   undef _wclosedir 
     58#   undef rewinddir 
     59#   undef seekdir 
     60#   undef telldir 
    5861#   define WIN32_LEAN_AND_MEAN 
    5962#   include <windows.h> 
     
    483486    free( p_dir ); 
    484487    return i_ret; 
     488} 
     489 
     490void vlc_rewinddir( void *_p_dir ) 
     491{ 
     492    vlc_DIR *p_dir = (vlc_DIR *)_p_dir; 
     493 
     494    if ( p_dir->p_real_dir != NULL ) 
     495        _wrewinddir( p_dir->p_real_dir ); 
     496} 
     497 
     498void vlc_seekdir( void *_p_dir, long loc) 
     499{ 
     500    vlc_DIR *p_dir = (vlc_DIR *)_p_dir; 
     501 
     502    if ( p_dir->p_real_dir != NULL ) 
     503        _wseekdir( p_dir->p_real_dir, loc ); 
     504} 
     505 
     506long vlc_telldir( void *_p_dir ) 
     507{ 
     508    vlc_DIR *p_dir = (vlc_DIR *)_p_dir; 
     509 
     510    if ( p_dir->p_real_dir != NULL ) 
     511        return _wtelldir( p_dir->p_real_dir ); 
     512    return 0; 
    485513} 
    486514#endif