/*****************************************************************************
* Preamble
*****************************************************************************/
-#define _GNU_SOURCE
-#include <stdlib.h>
#include <vlc/vlc.h>
-#include <vlc/input.h>
+#include <vlc_access.h>
#ifdef WIN32
#ifdef HAVE_FCNTL_H
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;
}
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) );
}
#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)",
{
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 );