]> git.sesse.net Git - vlc/commitdiff
LUA: fopen/fclose -> stat
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 6 Feb 2010 13:44:06 +0000 (15:44 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 6 Feb 2010 13:58:29 +0000 (15:58 +0200)
modules/misc/lua/intf.c

index 7a80ef4d67eebc2733e4a74a219f4bd8e42a74dd..70e590a2c7fe121390707d995e60290a7e146305 100644 (file)
@@ -39,6 +39,8 @@
 #include <vlc_interface.h>
 #include <vlc_playlist.h>
 #include <vlc_aout.h>
+#include <sys/types.h>
+#include <sys/stat.h>
 
 #include <lua.h>        /* Low level lua C API */
 #include <lauxlib.h>    /* Higher level C API */
@@ -65,17 +67,18 @@ static char *FindFile( vlc_object_t *p_this, const char *psz_name )
     for( ppsz_dir = ppsz_dir_list; *ppsz_dir; ppsz_dir++ )
     {
         char *psz_filename;
-        FILE *fp;
+        struct stat st;
+
         if( asprintf( &psz_filename, "%s"DIR_SEP"%s.lua", *ppsz_dir,
                       psz_name ) < 0 )
         {
             vlclua_dir_list_free( ppsz_dir_list );
             return NULL;
         }
-        fp = fopen( psz_filename, "r" );
-        if( fp )
+
+        if( utf8_stat( psz_filename, &st ) == 0
+         && S_ISREG( st.st_mode ) )
         {
-            fclose( fp );
             vlclua_dir_list_free( ppsz_dir_list );
             return psz_filename;
         }