Commit 942772a0 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

Save plugin cache to .cache/vlc/ rather than .cache/vlc/cache - fixes #1307

parent 770a2ac6
...@@ -60,7 +60,6 @@ int IsConfigStringType( int type ); ...@@ -60,7 +60,6 @@ int IsConfigStringType( int type );
# define CONFIG_DIR ".vlc" # define CONFIG_DIR ".vlc"
#endif #endif
#define CONFIG_FILE "vlcrc" #define CONFIG_FILE "vlcrc"
#define PLUGINSCACHE_DIR "cache"
# ifdef __cplusplus # ifdef __cplusplus
} }
......
...@@ -1667,7 +1667,7 @@ static void CacheLoad( vlc_object_t *p_this ) ...@@ -1667,7 +1667,7 @@ static void CacheLoad( vlc_object_t *p_this )
char *psz_filename, *psz_cachedir; char *psz_filename, *psz_cachedir;
FILE *file; FILE *file;
int i, j, i_size, i_read; int i, j, i_size, i_read;
char p_cachestring[sizeof(PLUGINSCACHE_DIR COPYRIGHT_MESSAGE)]; char p_cachestring[sizeof("cache " COPYRIGHT_MESSAGE)];
char p_cachelang[6], p_lang[6]; char p_cachelang[6], p_lang[6];
int i_cache; int i_cache;
module_cache_t **pp_cache = 0; module_cache_t **pp_cache = 0;
...@@ -1681,8 +1681,8 @@ static void CacheLoad( vlc_object_t *p_this ) ...@@ -1681,8 +1681,8 @@ static void CacheLoad( vlc_object_t *p_this )
return; return;
} }
i_size = asprintf( &psz_filename, "%s"DIR_SEP"%s"DIR_SEP"%s", i_size = asprintf( &psz_filename, "%s"DIR_SEP"%s",
psz_cachedir, PLUGINSCACHE_DIR, CacheName() ); psz_cachedir, CacheName() );
if( i_size <= 0 ) if( i_size <= 0 )
{ {
msg_Err( p_this, "out of memory" ); msg_Err( p_this, "out of memory" );
...@@ -1736,10 +1736,10 @@ static void CacheLoad( vlc_object_t *p_this ) ...@@ -1736,10 +1736,10 @@ static void CacheLoad( vlc_object_t *p_this )
fseek( file, sizeof(i_file_size), SEEK_SET ); fseek( file, sizeof(i_file_size), SEEK_SET );
/* Check the file is a plugins cache */ /* Check the file is a plugins cache */
i_size = sizeof(PLUGINSCACHE_DIR COPYRIGHT_MESSAGE) - 1; i_size = sizeof("cache " COPYRIGHT_MESSAGE) - 1;
i_read = fread( p_cachestring, 1, i_size, file ); i_read = fread( p_cachestring, 1, i_size, file );
if( i_read != i_size || if( i_read != i_size ||
memcmp( p_cachestring, PLUGINSCACHE_DIR COPYRIGHT_MESSAGE, i_size ) ) memcmp( p_cachestring, "cache " COPYRIGHT_MESSAGE, i_size ) )
{ {
msg_Warn( p_this, "This doesn't look like a valid plugins cache" ); msg_Warn( p_this, "This doesn't look like a valid plugins cache" );
fclose( file ); fclose( file );
...@@ -2021,7 +2021,7 @@ static void CacheSave( vlc_object_t *p_this ) ...@@ -2021,7 +2021,7 @@ static void CacheSave( vlc_object_t *p_this )
"# For information about cache directory tags, see:\r\n" "# For information about cache directory tags, see:\r\n"
"# http://www.brynosaurus.com/cachedir/\r\n"; "# http://www.brynosaurus.com/cachedir/\r\n";
char *psz_filename, *psz_cachedir; char *psz_cachedir;
FILE *file; FILE *file;
int i, j, i_cache; int i, j, i_cache;
module_cache_t **pp_cache; module_cache_t **pp_cache;
...@@ -2035,26 +2035,10 @@ static void CacheSave( vlc_object_t *p_this ) ...@@ -2035,26 +2035,10 @@ static void CacheSave( vlc_object_t *p_this )
return; return;
} }
psz_filename = char psz_filename[sizeof(DIR_SEP) + 32 + strlen(psz_cachedir)];
(char *)malloc( sizeof(DIR_SEP PLUGINSCACHE_DIR DIR_SEP ) + config_CreateDir( p_this, psz_cachedir );
strlen(psz_cachedir) + strlen(CacheName()) );
if( !psz_filename )
{
msg_Err( p_this, "out of memory" );
return;
}
sprintf( psz_filename, "%s", psz_cachedir );
config_CreateDir( p_this, psz_filename );
strcat( psz_filename, DIR_SEP PLUGINSCACHE_DIR );
config_CreateDir( p_this, psz_filename );
strcat( psz_filename, DIR_SEP"CACHEDIR.TAG" );
sprintf( psz_filename, "%s"DIR_SEP"CACHEDIR.TAG", psz_cachedir );
file = utf8_fopen( psz_filename, "wb" ); file = utf8_fopen( psz_filename, "wb" );
if( file ) if( file )
{ {
...@@ -2062,8 +2046,7 @@ static void CacheSave( vlc_object_t *p_this ) ...@@ -2062,8 +2046,7 @@ static void CacheSave( vlc_object_t *p_this )
fclose( file ); fclose( file );
} }
sprintf( psz_filename, "%s"DIR_SEP"%s"DIR_SEP"%s", psz_cachedir, sprintf( psz_filename, "%s"DIR_SEP"%s", psz_cachedir, CacheName() );
PLUGINSCACHE_DIR, CacheName() );
msg_Dbg( p_this, "saving plugins cache file %s", psz_filename ); msg_Dbg( p_this, "saving plugins cache file %s", psz_filename );
...@@ -2075,13 +2058,12 @@ static void CacheSave( vlc_object_t *p_this ) ...@@ -2075,13 +2058,12 @@ static void CacheSave( vlc_object_t *p_this )
free( psz_filename ); free( psz_filename );
return; return;
} }
free( psz_filename );
/* Empty space for file size */ /* Empty space for file size */
fwrite( &i_file_size, sizeof(char), sizeof(i_file_size), file ); fwrite( &i_file_size, sizeof(char), sizeof(i_file_size), file );
/* Contains version number */ /* Contains version number */
fprintf( file, "%s", PLUGINSCACHE_DIR COPYRIGHT_MESSAGE ); fprintf( file, "%s", "cache " COPYRIGHT_MESSAGE );
/* Sub-version number (to avoid breakage in the dev version when cache /* Sub-version number (to avoid breakage in the dev version when cache
* structure changes) */ * structure changes) */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment