]> git.sesse.net Git - vlc/blobdiff - modules/control/http/mvar.c
Why are this variable unused ? (commented out for the moment as it memleak)
[vlc] / modules / control / http / mvar.c
index 15d677024a79a0f469afb76913654549cdcf65af..e5252fffba260ba728abe4ecaabf3da79cd508b9 100644 (file)
@@ -29,6 +29,8 @@
 #include "http.h"
 #include <limits.h>
 
+#include <assert.h>
+
 /* Utility function for scandir */
 static int Filter( const char *foo )
 {
@@ -285,9 +287,9 @@ mvar_t *mvar_PlaylistSetNew( intf_thread_t *p_intf, char *name,
                                  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;
 }
 
@@ -503,37 +505,25 @@ mvar_t *mvar_FileSetNew( intf_thread_t *p_intf, char *name,
                              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;
@@ -581,7 +571,7 @@ mvar_t *mvar_FileSetNew( intf_thread_t *p_intf, char *name,
         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 );
@@ -602,13 +592,14 @@ mvar_t *mvar_FileSetNew( intf_thread_t *p_intf, char *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
@@ -630,8 +621,8 @@ mvar_t *mvar_FileSetNew( intf_thread_t *p_intf, char *name,
     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;
@@ -670,15 +661,14 @@ void mvar_VlmSetNewLoop( char *name, vlm_t *vlm, mvar_t *s, vlm_message_t *el, b
 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++ )
     {
@@ -704,6 +694,6 @@ mvar_t *mvar_VlmSetNew( char *name, vlm_t *vlm )
         }
     }
     vlm_MessageDelete( msg );
-
+#endif /* ENABLE_VLM */
     return s;
 }