set_subcategory( SUBCAT_INPUT_ACCESS );
add_integer( "smb-caching", 2 * DEFAULT_PTS_DELAY / 1000, NULL,
CACHING_TEXT, CACHING_LONGTEXT, VLC_TRUE );
+ change_safe();
add_string( "smb-user", NULL, NULL, USER_TEXT, USER_LONGTEXT,
VLC_FALSE );
+ change_safe();
add_string( "smb-pwd", NULL, NULL, PASS_TEXT,
PASS_LONGTEXT, VLC_FALSE );
+ change_safe();
add_string( "smb-domain", NULL, NULL, DOMAIN_TEXT,
DOMAIN_LONGTEXT, VLC_FALSE );
+ change_safe();
add_shortcut( "smb" );
set_callbacks( Open, Close );
vlc_module_end();
/*****************************************************************************
* Local prototypes
*****************************************************************************/
-static int Read( access_t *, uint8_t *, int );
+static ssize_t Read( access_t *, uint8_t *, size_t );
static int Seek( access_t *, int64_t );
static int Control( access_t *, int, va_list );
if( !smbc_init_context( p_smb ) )
{
- msg_Err( p_access, "cannot initialize context (%s)", strerror(errno) );
+ msg_Err( p_access, "cannot initialize context (%m)" );
smbc_free_context( p_smb, 1 );
free( psz_uri );
return VLC_EGENERIC;
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) );
+ msg_Err( p_access, "open failed for '%s' (%m)",
+ p_access->psz_path );
smbc_free_context( p_smb, 1 );
free( psz_uri );
return VLC_EGENERIC;
STANDARD_READ_ACCESS_INIT;
i_ret = p_smb->fstat( p_smb, p_file, &filestat );
- if( i_ret ) msg_Err( p_access, "stat failed (%s)", strerror(errno) );
+ if( i_ret ) msg_Err( p_access, "stat failed (%m)" );
else p_access->info.i_size = filestat.st_size;
#else
#endif
if( (i_smb = smbc_open( psz_uri, O_RDONLY, 0 )) < 0 )
{
- msg_Err( p_access, "open failed for '%s' (%s)",
- p_access->psz_path, strerror(errno) );
+ msg_Err( p_access, "open failed for '%s' (%m)",
+ p_access->psz_path );
free( psz_uri );
return VLC_EGENERIC;
}
STANDARD_READ_ACCESS_INIT;
i_ret = smbc_fstat( i_smb, &filestat );
- if( i_ret ) msg_Err( p_access, "stat failed (%s)", strerror(i_ret) );
+ if( i_ret )
+ {
+ errno = i_ret;
+ msg_Err( p_access, "stat failed (%m)" );
+ }
else p_access->info.i_size = filestat.st_size;
#endif
#endif
if( i_ret == -1 )
{
- msg_Err( p_access, "seek failed (%s)", strerror(errno) );
+ msg_Err( p_access, "seek failed (%m)" );
return VLC_EGENERIC;
}
/*****************************************************************************
* Read:
*****************************************************************************/
-static int Read( access_t *p_access, uint8_t *p_buffer, int i_len )
+static ssize_t Read( access_t *p_access, uint8_t *p_buffer, size_t i_len )
{
access_sys_t *p_sys = p_access->p_sys;
int i_read;
#endif
if( i_read < 0 )
{
- msg_Err( p_access, "read failed (%s)", strerror(errno) );
+ msg_Err( p_access, "read failed (%m)" );
return -1;
}
case ACCESS_SET_TITLE:
case ACCESS_SET_SEEKPOINT:
case ACCESS_SET_PRIVATE_ID_STATE:
+ case ACCESS_GET_CONTENT_TYPE:
return VLC_EGENERIC;
default: