#include "http.h"
#include <limits.h>
+#include <assert.h>
+
/* Utility function for scandir */
static int Filter( const char *foo )
{
playlist_t *p_pl )
{
mvar_t *s = mvar_New( name, "set" );
- vlc_mutex_lock( &p_pl->object_lock );
+ vlc_object_lock( p_pl );
PlaylistListNode( p_intf, p_pl, p_pl->p_root_category , name, s, 0 );
- vlc_mutex_unlock( &p_pl->object_lock );
+ vlc_object_unlock( p_pl );
return s;
}
char *psz_dir )
{
mvar_t *s = mvar_New( name, "set" );
-#ifdef HAVE_SYS_STAT_H
- struct stat stat_info;
-#endif
char **ppsz_dir_content;
int i_dir_content, i;
- psz_dir = RealPath( p_intf, psz_dir );
-
-#ifdef HAVE_SYS_STAT_H
- if( (utf8_stat( psz_dir, &stat_info ) == -1 )
- || !S_ISDIR( stat_info.st_mode )
-# if defined( WIN32 )
- && psz_dir[0] != '\0' && (psz_dir[0] != '\\' || psz_dir[1] != '\0')
-# endif
- )
- {
- free( psz_dir );
- return s;
- }
-#endif
+ psz_dir = RealPath( psz_dir );
/* parse psz_src dir */
if( ( i_dir_content = utf8_scandir( psz_dir, &ppsz_dir_content, Filter,
InsensitiveAlphasort ) ) == -1 )
{
- msg_Warn( p_intf, "error while scanning dir %s (%m)", psz_dir );
+ if( errno != ENOENT && errno != ENOTDIR )
+ msg_Warn( p_intf, "error while scanning dir %s (%m)", psz_dir );
free( psz_dir );
return s;
}
for( i = 0; i < i_dir_content; i++ )
{
+#ifdef HAVE_SYS_STAT_H
+ struct stat stat_info;
+#endif
char *psz_name = ppsz_dir_content[i], *psz_ext, *psz_dummy;
char psz_tmp[strlen( psz_dir ) + 1 + strlen( psz_name ) + 1];
mvar_t *f;
else
#endif
{
- char psz_ctime[26];
+ char psz_buf[26];
char psz_tmp[strlen( psz_dir ) + 1 + strlen( psz_name ) + 1];
sprintf( psz_tmp, "%s"DIR_SEP"%s", psz_dir, psz_name );
mvar_AppendNewVar( f, "type", "unknown" );
}
- sprintf( psz_ctime, "%"PRId64, (int64_t)stat_info.st_size );
- mvar_AppendNewVar( f, "size", psz_ctime );
+ snprintf( psz_buf, sizeof( psz_buf ), "%"PRId64,
+ (int64_t)stat_info.st_size );
+ mvar_AppendNewVar( f, "size", psz_buf );
/* FIXME memory leak FIXME */
# ifdef HAVE_CTIME_R
- ctime_r( &stat_info.st_mtime, psz_ctime );
- mvar_AppendNewVar( f, "date", psz_ctime );
+ ctime_r( &stat_info.st_mtime, psz_buf );
+ mvar_AppendNewVar( f, "date", psz_buf );
# else
mvar_AppendNewVar( f, "date", ctime( &stat_info.st_mtime ) );
# endif
return s;
}
-void mvar_VlmSetNewLoop( char *name, vlm_t *vlm, mvar_t *s, vlm_message_t *el, bool b_name );
-void mvar_VlmSetNewLoop( char *name, vlm_t *vlm, mvar_t *s, vlm_message_t *el, bool b_name )
+static void mvar_VlmSetNewLoop( char *name, vlm_t *vlm, mvar_t *s,
+ vlm_message_t *el, bool b_name )
{
/* Over name */
mvar_t *set;
mvar_t *mvar_VlmSetNew( char *name, vlm_t *vlm )
{
mvar_t *s = mvar_New( name, "set" );
+#ifdef ENABLE_VLM
vlm_message_t *msg;
int i;
if( vlm == NULL ) return s;
if( vlm_ExecuteCommand( vlm, "show", &msg ) )
- {
return s;
- }
for( i = 0; i < msg->i_child; i++ )
{
}
}
vlm_MessageDelete( msg );
-
+#endif /* ENABLE_VLM */
return s;
}