summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorphintuka <phintuka>2009-06-04 10:16:00 +0000
committerphintuka <phintuka>2009-06-04 10:16:00 +0000
commit0563c230793799ec4427cd6a91bf308ee00433b5 (patch)
tree7dd4b273f22c8896eda8b5cba46c63f23efeb7ec
parent3307036c26d9af667c95334c8b7e000bfa24adc7 (diff)
downloadxineliboutput-unlabeled-1.1.2.tar.gz
xineliboutput-unlabeled-1.1.2.tar.bz2
Merge from trunk:unlabeled-1.1.2
revision 1.4 date: 2009/05/29 14:25:06; author: phintuka; state: Exp; lines: +3 -4 Eliminated warning (dereferencing type-punned pointer will break strict-aliasing rules)
-rw-r--r--tools/iso639.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/tools/iso639.h b/tools/iso639.h
index c0a0caf8..2f88f12f 100644
--- a/tools/iso639.h
+++ b/tools/iso639.h
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: iso639.h,v 1.1.2.2 2009-06-04 10:15:19 phintuka Exp $
+ * $Id: iso639.h,v 1.1.2.3 2009-06-04 10:16:00 phintuka Exp $
*
*/
@@ -160,7 +160,7 @@ static const char *iso639_2_to_iso639_1(const char *lang)
if (lang && lang[0]) {
if (lang[1] && !lang[2]) {
for (unsigned int i = 0 ; i < sizeof(ISO639_map) / sizeof(ISO639_map[0]); i++)
- if (((uint16_t*)ISO639_map[i].iso639_1)[0] == ((uint16_t*)lang)[0])
+ if (!memcmp(ISO639_map[i].iso639_1, lang, 2))
return ISO639_map[i].iso639_2;
LOGMSG("Unknown iso639-2 code: %s", lang);
}
@@ -174,8 +174,7 @@ static const char *iso639_1_to_iso639_2(const char *lang)
if (lang && lang[0]) {
if (lang[1] && lang[2] && !lang[3]) {
for (unsigned int i = 0 ; i < sizeof(ISO639_map) / sizeof(ISO639_map[0]); i++)
- if (((uint16_t*)ISO639_map[i].iso639_2)[0] == ((uint16_t*)lang)[0] &&
- ((uint8_t *)ISO639_map[i].iso639_2)[2] == ((uint8_t *)lang)[2])
+ if (!memcmp(ISO639_map[i].iso639_2, lang, 3))
return ISO639_map[i].iso639_1;
LOGMSG("Unknown iso639-1 code: %s", lang);
}