# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
#include <vlc_plugin.h>
#include <vlc_access.h>
#define DOMAIN_LONGTEXT N_("Domain/Workgroup that " \
"will be used for the connection.")
-vlc_module_begin();
- set_shortname( "SMB" );
- set_description( N_("SMB input") );
- set_capability( "access", 0 );
- set_category( CAT_INPUT );
- set_subcategory( SUBCAT_INPUT_ACCESS );
+vlc_module_begin ()
+ set_shortname( "SMB" )
+ set_description( N_("SMB input") )
+ set_capability( "access", 0 )
+ set_category( CAT_INPUT )
+ set_subcategory( SUBCAT_INPUT_ACCESS )
add_integer( "smb-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL,
- CACHING_TEXT, CACHING_LONGTEXT, true );
+ CACHING_TEXT, CACHING_LONGTEXT, true )
add_string( "smb-user", NULL, NULL, USER_TEXT, USER_LONGTEXT,
- false );
+ false )
add_string( "smb-pwd", NULL, NULL, PASS_TEXT,
- PASS_LONGTEXT, false );
+ PASS_LONGTEXT, false )
add_string( "smb-domain", NULL, NULL, DOMAIN_TEXT,
- DOMAIN_LONGTEXT, false );
- add_shortcut( "smb" );
- set_callbacks( Open, Close );
-vlc_module_end();
+ DOMAIN_LONGTEXT, false )
+ add_shortcut( "smb" )
+ set_callbacks( Open, Close )
+vlc_module_end ()
/*****************************************************************************
* Local prototypes
#ifdef WIN32
static void Win32AddConnection( access_t *, char *, char *, char *, char * );
-#endif
-
+#else
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;
}
+#endif
/****************************************************************************
* Open: connect to smb server and ask for file
access_sys_t *p_sys;
struct stat filestat;
char *psz_path, *psz_uri;
- char *psz_user = 0, *psz_pwd = 0, *psz_domain = 0;
+ char *psz_user = NULL, *psz_pwd = NULL, *psz_domain = NULL;
int i_ret;
#ifdef USE_CTX
* smb://[[[domain;]user[:password@]]server[/share[/path[/file]]]] */
if( !psz_user ) psz_user = var_CreateGetString( p_access, "smb-user" );
- if( psz_user && !*psz_user ) { free( psz_user ); psz_user = 0; }
+ if( psz_user && !*psz_user ) { free( psz_user ); psz_user = NULL; }
if( !psz_pwd ) psz_pwd = var_CreateGetString( p_access, "smb-pwd" );
- if( psz_pwd && !*psz_pwd ) { free( psz_pwd ); psz_pwd = 0; }
+ if( psz_pwd && !*psz_pwd ) { free( psz_pwd ); psz_pwd = NULL; }
if( !psz_domain ) psz_domain = var_CreateGetString( p_access, "smb-domain" );
- if( psz_domain && !*psz_domain ) { free( psz_domain ); psz_domain = 0; }
+ if( psz_domain && !*psz_domain ) { free( psz_domain ); psz_domain = NULL; }
#ifdef WIN32
if( psz_user )
Win32AddConnection( p_access, psz_path, psz_user, psz_pwd, psz_domain);
- asprintf( &psz_uri, "//%s", psz_path );
+ i_ret = asprintf( &psz_uri, "//%s", psz_path );
#else
if( psz_user )
- asprintf( &psz_uri, "smb://%s%s%s%s%s@%s",
- psz_domain ? psz_domain : "", psz_domain ? ";" : "",
- psz_user, psz_pwd ? ":" : "",
- psz_pwd ? psz_pwd : "", psz_path );
+ i_ret = asprintf( &psz_uri, "smb://%s%s%s%s%s@%s",
+ psz_domain ? psz_domain : "", psz_domain ? ";" : "",
+ psz_user, psz_pwd ? ":" : "",
+ psz_pwd ? psz_pwd : "", psz_path );
else
- asprintf( &psz_uri, "smb://%s", psz_path );
+ i_ret = asprintf( &psz_uri, "smb://%s", psz_path );
#endif
free( psz_user );
free( psz_pwd );
free( psz_domain );
+ if( i_ret == -1 )
+ return VLC_ENOMEM;
+
#ifdef USE_CTX
if( !(p_smb = smbc_new_context()) )
{
- msg_Err( p_access, "out of memory" );
free( psz_uri );
return VLC_ENOMEM;
}
*pb_bool = true;
break;
- case ACCESS_GET_MTU:
- pi_int = (int*)va_arg( args, int * );
- *pi_int = 0;
- break;
-
case ACCESS_GET_PTS_DELAY:
pi_64 = (int64_t*)va_arg( args, int64_t * );
*pi_64 = (int64_t)var_GetInteger( p_access, "smb-caching" ) * 1000;
NETRESOURCE net_resource;
DWORD i_result;
char *psz_parser;
+ VLC_UNUSED( psz_domain );
HINSTANCE hdll = LoadLibrary(_T("MPR.DLL"));
if( !hdll )