X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fconfig%2Fdirs.c;h=c8cfc822d1fded55ee43757ff99d67dc94871c3e;hb=4164da8033e507fc6b65f7f54cc0e06f5ccea631;hp=abeb537011618cc67262079429aaa66ee17700e5;hpb=35824733e305214dfada18dd6362cfa02a86dcd3;p=vlc diff --git a/src/config/dirs.c b/src/config/dirs.c index abeb537011..c8cfc822d1 100644 --- a/src/config/dirs.c +++ b/src/config/dirs.c @@ -28,9 +28,13 @@ #include #if defined( WIN32 ) -# define _WIN32_IE IE5 +# ifndef _WIN32_IE +# define _WIN32_IE 0x0501 +# endif # include +#ifndef UNDER_CE # include +#endif # include #else # include @@ -52,6 +56,7 @@ # define DIR_SHARE "share" #endif + /** * config_GetDataDir: find directory where shared data is installed * @@ -64,8 +69,7 @@ const char *config_GetDataDir( void ) if( *path == '\0' ) { - snprintf( path, sizeof( path ), "%s" DIR_SEP DIR_SHARE, - vlc_global()->psz_vlcpath ); + snprintf( path, sizeof( path ), "%s" DIR_SEP DIR_SHARE, psz_vlcpath ); path[sizeof( path ) - 1] = '\0'; } return path; @@ -83,12 +87,15 @@ 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 */ if( S_OK == SHGetFolderPathW( NULL, - (b_appdata ? CSIDL_APPDATA : - (b_common_appdata ? CSIDL_PERSONAL : CSIDL_COMMON_APPDATA)) + ( b_appdata ? CSIDL_APPDATA : + ( b_common_appdata ? CSIDL_COMMON_APPDATA: CSIDL_PERSONAL ) ) | CSIDL_FLAG_CREATE, NULL, SHGFP_TYPE_CURRENT, wdir ) ) # endif @@ -155,7 +162,7 @@ const char *config_GetConfDir( void ) if( *path == '\0' ) { snprintf( path, sizeof( path ), "%s"DIR_SEP DIR_SHARE, /* FIXME: Duh? */ - vlc_global()->psz_vlcpath ); + psz_vlcpath ); path[sizeof( path ) - 1] = '\0'; } return path; @@ -228,5 +235,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 }