]> git.sesse.net Git - vlc/blob - src/text/iso_lang.c
libvlc: use vlc_common.h (libvlccore) instead of vlc/vlc.h
[vlc] / 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 the VideoLAN team
5  * $Id$
6  *
7  * Author: Stéphane Borel <stef@via.ecp.fr>
8  *         Arnaud de Bossoreille de Ribou <bozo@via.ecp.fr>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24
25 /*****************************************************************************
26  * Preamble
27  *****************************************************************************/
28 #include <stdio.h>
29
30 #ifdef HAVE_CONFIG_H
31 # include "config.h"
32 #endif
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", "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( !strncmp( 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( !strncmp( 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( !strncmp( p_lang->psz_iso639_2B, psz_code, 3 ) )
74             return p_lang;
75
76     return &unknown_language;
77 }
78