X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Faccess%2Fsmb.c;h=b7672a9ca6dc3fc1388e3983529f0b6a9a366115;hb=6ee1e193fd896ab9a4729fde14f009d9ce629815;hp=f9eca7de0943f4ffc956da5cb56ff59fcd824eb2;hpb=90a4caea90dbbb8c8b6d3a78f1671083b8694637;p=vlc diff --git a/modules/access/smb.c b/modules/access/smb.c index f9eca7de09..b7672a9ca6 100644 --- a/modules/access/smb.c +++ b/modules/access/smb.c @@ -24,10 +24,10 @@ /***************************************************************************** * Preamble *****************************************************************************/ -#include + #include -#include +#include #ifdef WIN32 #ifdef HAVE_FCNTL_H @@ -109,8 +109,8 @@ struct access_sys_t static void Win32AddConnection( access_t *, char *, char *, char *, char * ); #endif -void smb_auth( const char *srv, const char *shr, char *wg, int wglen, - char *un, int unlen, char *pw, int pwlen ) +static void smb_auth( const char *srv, const char *shr, char *wg, int wglen, + char *un, int unlen, char *pw, int pwlen ) { //wglen = unlen = pwlen = 0; } @@ -226,7 +226,7 @@ static int Open( vlc_object_t *p_this ) return VLC_EGENERIC; } - if( !(p_file = p_smb->open( p_smb, psz_uri, O_RDONLY, 0 )) ) + if( !(p_file = (p_smb->open)( p_smb, psz_uri, O_RDONLY, 0 )) ) { msg_Err( p_access, "open failed for '%s' (%s)", p_access->psz_path, strerror(errno) ); @@ -251,6 +251,14 @@ static int Open( vlc_object_t *p_this ) } #endif +/* +** some version of glibc defines open as a macro, causing havoc +** with other macros using 'open' under the hood, such as the +** following one: +*/ +#if defined(smbc_open) && defined(open) +# undef open +#endif if( (i_smb = smbc_open( psz_uri, O_RDONLY, 0 )) < 0 ) { msg_Err( p_access, "open failed for '%s' (%s)", @@ -466,7 +474,7 @@ static void Win32AddConnection( access_t *p_access, char *psz_path, { msg_Dbg( p_access, "connected to %s", psz_remote ); } - else if( i_result != ERROR_ALREADY_ASSIGNED && + else if( i_result != ERROR_ALREADY_ASSIGNED && i_result != ERROR_DEVICE_ALREADY_REMEMBERED ) { msg_Dbg( p_access, "already connected to %s", psz_remote );