]> git.sesse.net Git - vlc/blobdiff - src/config/dirs.c
config: Change the caching directories of VLC Mac OS X to Library/Caches/VLC
[vlc] / src / config / dirs.c
index 16cbf8134c85f4f26b506be6a3e741ff7da7d862..a241ff57becb929f02709d3190d587d339ab708c 100644 (file)
@@ -30,7 +30,9 @@
 #if defined( WIN32 )
 # define _WIN32_IE IE5
 # include <w32api.h>
+#ifndef UNDER_CE
 # include <direct.h>
+#endif
 # include <shlobj.h>
 #else
 # include <unistd.h>
@@ -52,6 +54,7 @@
 # define DIR_SHARE "share"
 #endif
 
+
 /**
  * config_GetDataDir: find directory where shared data is installed
  *
@@ -82,6 +85,9 @@ static const char *GetDir( bool b_appdata, bool b_common_appdata )
     wchar_t wdir[MAX_PATH];
 
 # if defined (UNDER_CE)
+    /*There are some errors in cegcc headers*/
+#undef SHGetSpecialFolderPath
+    BOOL WINAPI SHGetSpecialFolderPath(HWND,LPWSTR,int,BOOL);
     if( SHGetSpecialFolderPath( NULL, wdir, CSIDL_APPDATA, 1 ) )
 # else
     /* Get the "Application Data" folder for the current user */
@@ -227,5 +233,15 @@ char *config_GetUserDataDir( void )
  */
 char *config_GetCacheDir( void )
 {
+#if defined(__APPLE__)
+    char *psz_dir;
+    const char *psz_parent = GetDir (true, false);
+
+    if( asprintf( &psz_dir, "%s" DIR_SEP CACHES_DIR, psz_parent ) == -1 )
+        psz_dir = NULL;
+
+    return psz_dir;
+#else
     return config_GetFooDir ("CACHE", ".cache");
+#endif
 }