From cccd5463141e1ab89871f3f725c2908f962b65ab Mon Sep 17 00:00:00 2001 From: Geoffroy Couprie Date: Mon, 28 Dec 2009 17:07:59 +0100 Subject: [PATCH] mp4: Factorize --- modules/demux/mp4/drms.c | 44 ++++++++-------------------------------- 1 file changed, 8 insertions(+), 36 deletions(-) diff --git a/modules/demux/mp4/drms.c b/modules/demux/mp4/drms.c index 48e70681c7..4f78415589 100644 --- a/modules/demux/mp4/drms.c +++ b/modules/demux/mp4/drms.c @@ -1563,42 +1563,14 @@ static int GetSCIData( char *psz_ipod, uint32_t **pp_sci, if( psz_ipod == NULL ) { #ifdef WIN32 - const wchar_t *wfile = - L"\\Apple Computer\\iTunes\\SC Info\\SC Info.sidb"; - typedef HRESULT (WINAPI *SHGETFOLDERPATH)( HWND, int, HANDLE, DWORD, - LPWSTR ); - HINSTANCE shfolder_dll = NULL; - SHGETFOLDERPATH dSHGetFolderPath = NULL; - wchar_t wpath[PATH_MAX]; - - if( ( shfolder_dll = LoadLibrary( _T("SHFolder.dll") ) ) != NULL ) - { - dSHGetFolderPath = - (SHGETFOLDERPATH)GetProcAddress( shfolder_dll, - _T("SHGetFolderPathW") ); - } - - if( dSHGetFolderPath != NULL && - SUCCEEDED( dSHGetFolderPath( NULL, CSIDL_COMMON_APPDATA, - NULL, 0, wpath ) ) ) - { - if (wcslen( wpath ) + wcslen( wfile ) >= PATH_MAX ) - { - return -1; - } - wcscat( wpath, wfile ); - - psz_path = FromWide( wpath ); - strncpy( p_tmp, psz_path, sizeof( p_tmp ) - 1 ); - p_tmp[sizeof( p_tmp ) - 1] = '\0'; - free( psz_path ); - psz_path = p_tmp; - } - - if( shfolder_dll != NULL ) - { - FreeLibrary( shfolder_dll ); - } + const char *SCIfile = + "\\Apple Computer\\iTunes\\SC Info\\SC Info.sidb"; + strncpy(p_tmp, config_GetConfDir(), sizeof(p_tmp -1)); + if( strlen( p_tmp ) + strlen( SCIfile ) >= PATH_MAX ) + return -1; + strcat(p_tmp, SCIfile); + p_tmp[sizeof( p_tmp ) - 1] = '\0'; + psz_path = p_tmp; #endif } else -- 2.39.2