qt: playlist: use item title if available
[vlc.git] / src / text / iso_lang.c
1 /*****************************************************************************
2  * iso_lang.c: function to decode language code (in dvd or a52 for instance).
3  *****************************************************************************
4  * Copyright (C) 1998-2004 VLC authors and VideoLAN
5  *
6  * Author: St├ęphane Borel <stef@via.ecp.fr>
7  *         Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23
24 /*****************************************************************************
25  * Preamble
26  *****************************************************************************/
27
28 #ifdef HAVE_CONFIG_H
29 # include "config.h"
30 #endif
31
32 #include <stdio.h>
33
34 #include <vlc_common.h>
35
36 #include "vlc_iso_lang.h"
37
38 /*****************************************************************************
39  * Local tables
40  *****************************************************************************/
41 #include "iso-639_def.h"
42
43 static const iso639_lang_t unknown_language =
44     { "Unknown", "??", "???", "???" };
45
46 const iso639_lang_t * GetLang_1( const char * psz_code )
47 {
48     const iso639_lang_t *p_lang;
49
50     for( p_lang = p_languages; p_lang->psz_eng_name; p_lang++ )
51         if( !strncasecmp( p_lang->psz_iso639_1, psz_code, 2 ) )
52             return p_lang;
53
54     return &unknown_language;
55 }
56
57 const iso639_lang_t * GetLang_2T( const char * psz_code )
58 {
59     const iso639_lang_t *p_lang;
60
61     for( p_lang = p_languages; p_lang->psz_eng_name; p_lang++ )
62         if( !strncasecmp( p_lang->psz_iso639_2T, psz_code, 3 ) )
63             return p_lang;
64
65     return &unknown_language;
66 }
67
68 const iso639_lang_t * GetLang_2B( const char * psz_code )
69 {
70     const iso639_lang_t *p_lang;
71
72     for( p_lang = p_languages; p_lang->psz_eng_name; p_lang++ )
73         if( !strncasecmp( p_lang->psz_iso639_2B, psz_code, 3 ) )
74             return p_lang;
75
76     return &unknown_language;
77 }
78