Changeset d7892111cd0b472b98175ee7db350edd5b5cafc8

Show
Ignore:
Timestamp:
03/14/07 18:40:40 (1 year ago)
Author:
Rémi Denis-Courmont <rem@videolan.org>
git-committer:
Rémi Denis-Courmont <rem@videolan.org> 1173894040 +0000
git-parent:

[ab8bf7fc2883288d46310a11bd47f3f47219c913]

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

Convert from locale before passing to LibVLC - closes #838

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/vlc.c

    r8353a94 rd789211  
    3333#include <locale.h> 
    3434 
     35/* Explicit HACK */ 
     36extern void LocaleFree (const char *); 
     37extern char *FromLocale (const char *); 
     38 
    3539 
    3640/***************************************************************************** 
     
    9094    if( i_ret < 0 ) 
    9195    { 
    92         return i_ret; 
     96        return -i_ret; 
    9397    } 
    9498 
     
    144148                    { 
    145149                        /* failed!, quit */ 
    146                         return -1; 
     150                        return 1; 
    147151                    } 
    148152                } 
     
    155159            { 
    156160                /* failed!, quit */ 
    157                 return -1; 
     161                return 1; 
    158162            } 
    159163        } 
    160164    } 
    161 #endif 
     165    else 
     166#endif 
     167    { 
     168        for (int i = 0; i < i_argc; i++) 
     169            if ((ppsz_argv[i] = FromLocale (ppsz_argv[i])) == NULL) 
     170                return 1; // BOOM! 
     171    } 
    162172 
    163173    /* Initialize libvlc */ 
     
    166176    { 
    167177        VLC_Destroy( 0 ); 
    168         return i_ret == VLC_EEXITSUCCESS ? 0 : i_ret; 
     178        return i_ret == VLC_EEXITSUCCESS ? 0 : -i_ret; 
    169179    } 
    170180 
     
    178188    /* Destroy the libvlc structure */ 
    179189    VLC_Destroy( 0 ); 
     190 
     191    for (int i = 0; i < i_argc; i++) 
     192        LocaleFree (ppsz_argv[i]); 
    180193 
    181194#if !defined(WIN32) && !defined(UNDER_CE) 
     
    190203#endif 
    191204 
    192     return i_ret; 
     205    return -i_ret; 
    193206} 
    194207