Changeset 5d7f0d7838b7cf53100411da6083b38becc95166

Show
Ignore:
Timestamp:
11/11/06 17:49:41 (2 years ago)
Author:
Rémi Denis-Courmont <rem@videolan.org>
git-committer:
Rémi Denis-Courmont <rem@videolan.org> 1163263781 +0000
git-parent:

[de14672a43cbb0c236ecd9eba6a67f0b1d91e868]

git-author:
Rémi Denis-Courmont <rem@videolan.org> 1163263781 +0000
Message:

ToLocale? -> WideCharToMultiByte? (refs #817)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/access_filter/timeshift.c

    rcf4fe30 r5d7f0d7  
    565565    { 
    566566#ifdef WIN32 
    567         char psz_local_dir[MAX_PATH]; 
    568         int i_size; 
    569  
    570         i_size = GetTempPath( MAX_PATH, psz_local_dir ); 
    571         if( i_size <= 0 || i_size > MAX_PATH ) 
    572         { 
    573             if( !getcwd( psz_local_dir, MAX_PATH ) ) 
    574                 strcpy( psz_local_dir, "C:" ); 
    575         } 
    576  
    577         psz_dir = FromLocaleDup( psz_local_dir ); 
     567        DWORD ret = GetTempPathW (0, NULL); 
     568        wchar_t wdir[ret + 3]; // can at least old "C:" + nul 
     569        wchar_t *pwdir = wdir, pwdir_free = NULL; 
     570 
     571        if (GetTempPathW (ret + 1, wdir) == 0) 
     572        { 
     573            pwdir_free = pwdir = _wgetcwd (NULL, 0); 
     574            if (pwdir == NULL) 
     575                wcscpy (wdir, L"C:"); 
     576        } 
     577 
     578        ret = WideCharToMultiByte (CP_UTF8, 0, pwdir, -1, NULL, 0); 
     579        char mbdir[ret]; 
     580        WideCharToMultiByte (CP_UTF8, 0, pwdir, -1, mbdir, ret); 
     581        if (pwdir_free != NULL) 
     582            free (pwdir_free); 
    578583 
    579584        /* remove last \\ if any */ 
    580         if( psz_dir[strlen(psz_dir)-1] == '\\' ) 
    581             psz_dir[strlen(psz_dir)-1] = '\0'; 
     585        if (mbdir[strlen (mbdir) - 1] == '\\') 
     586            mbdir[strlen (mbdit) - 1] = '\0'; 
     587 
     588        psz_dir = strdup (mbdir); 
    582589#else 
    583590        psz_dir = strdup( "/tmp" );