Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
475b627e
Commit
475b627e
authored
Sep 14, 2009
by
Marian Ďurkovič
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Provide local routine for ISO_6937 ->
UTF-8
conversions
parent
2631cc77
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
292 additions
and
0 deletions
+292
-0
src/extras/libc.c
src/extras/libc.c
+292
-0
No files found.
src/extras/libc.c
View file @
475b627e
...
...
@@ -210,11 +210,294 @@ char *vlc_gettext( const char *msgid )
#endif
}
/*****************************************************************************
* Local conversion routine from ISO_6937 to UTF-8 charset. Support for this
* is still missing in libiconv, hence multiple operating systems lack it.
* The conversion table adds Euro sign (0xA4) as per ETSI EN 300 468 Annex A
*****************************************************************************/
#ifndef __linux__
static
const
uint16_t
to_ucs4
[
128
]
=
{
/* 0x80 */
0x0080
,
0x0081
,
0x0082
,
0x0083
,
0x0084
,
0x0085
,
0x0086
,
0x0087
,
/* 0x88 */
0x0088
,
0x0089
,
0x008a
,
0x008b
,
0x008c
,
0x008d
,
0x008e
,
0x008f
,
/* 0x90 */
0x0090
,
0x0091
,
0x0092
,
0x0093
,
0x0094
,
0x0095
,
0x0096
,
0x0097
,
/* 0x98 */
0x0098
,
0x0099
,
0x009a
,
0x009b
,
0x009c
,
0x009d
,
0x009e
,
0x009f
,
/* 0xa0 */
0x00a0
,
0x00a1
,
0x00a2
,
0x00a3
,
0x20ac
,
0x00a5
,
0x0000
,
0x00a7
,
/* 0xa8 */
0x00a4
,
0x2018
,
0x201c
,
0x00ab
,
0x2190
,
0x2191
,
0x2192
,
0x2193
,
/* 0xb0 */
0x00b0
,
0x00b1
,
0x00b2
,
0x00b3
,
0x00d7
,
0x00b5
,
0x00b6
,
0x00b7
,
/* 0xb8 */
0x00f7
,
0x2019
,
0x201d
,
0x00bb
,
0x00bc
,
0x00bd
,
0x00be
,
0x00bf
,
/* 0xc0 */
0x0000
,
0xffff
,
0xffff
,
0xffff
,
0xffff
,
0xffff
,
0xffff
,
0xffff
,
/* 0xc8 */
0xffff
,
0x0000
,
0xffff
,
0xffff
,
0x0000
,
0xffff
,
0xffff
,
0xffff
,
/* 0xd0 */
0x2014
,
0x00b9
,
0x00ae
,
0x00a9
,
0x2122
,
0x266a
,
0x00ac
,
0x00a6
,
/* 0xd8 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x215b
,
0x215c
,
0x215d
,
0x215e
,
/* 0xe0 */
0x2126
,
0x00c6
,
0x00d0
,
0x00aa
,
0x0126
,
0x0000
,
0x0132
,
0x013f
,
/* 0xe8 */
0x0141
,
0x00d8
,
0x0152
,
0x00ba
,
0x00de
,
0x0166
,
0x014a
,
0x0149
,
/* 0xf0 */
0x0138
,
0x00e6
,
0x0111
,
0x00f0
,
0x0127
,
0x0131
,
0x0133
,
0x0140
,
/* 0xf8 */
0x0142
,
0x00f8
,
0x0153
,
0x00df
,
0x00fe
,
0x0167
,
0x014b
,
0x00ad
};
/* The outer array range runs from 0xc1 to 0xcf, the inner range from 0x40
to 0x7f. */
static
const
uint16_t
to_ucs4_comb
[
15
][
64
]
=
{
/* 0xc1 */
{
/* 0x40 */
0x0000
,
0x00c0
,
0x0000
,
0x0000
,
0x0000
,
0x00c8
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x00cc
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00d2
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00d9
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x00e0
,
0x0000
,
0x0000
,
0x0000
,
0x00e8
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x00ec
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00f2
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00f9
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc2 */
{
/* 0x40 */
0x0000
,
0x00c1
,
0x0000
,
0x0106
,
0x0000
,
0x00c9
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x00cd
,
0x0000
,
0x0000
,
0x0139
,
0x0000
,
0x0143
,
0x00d3
,
/* 0x50 */
0x0000
,
0x0000
,
0x0154
,
0x015a
,
0x0000
,
0x00da
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x00dd
,
0x0179
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x00e1
,
0x0000
,
0x0107
,
0x0000
,
0x00e9
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x00ed
,
0x0000
,
0x0000
,
0x013a
,
0x0000
,
0x0144
,
0x00f3
,
/* 0x70 */
0x0000
,
0x0000
,
0x0155
,
0x015b
,
0x0000
,
0x00fa
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x00fd
,
0x017a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc3 */
{
/* 0x40 */
0x0000
,
0x00c2
,
0x0000
,
0x0108
,
0x0000
,
0x00ca
,
0x0000
,
0x011c
,
/* 0x48 */
0x0124
,
0x00ce
,
0x0134
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00d4
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x015c
,
0x0000
,
0x00db
,
0x0000
,
0x0174
,
/* 0x58 */
0x0000
,
0x0176
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x00e2
,
0x0000
,
0x0109
,
0x0000
,
0x00ea
,
0x0000
,
0x011d
,
/* 0x68 */
0x0125
,
0x00ee
,
0x0135
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00f4
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x015d
,
0x0000
,
0x00fb
,
0x0000
,
0x0175
,
/* 0x78 */
0x0000
,
0x0177
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc4 */
{
/* 0x40 */
0x0000
,
0x00c3
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x0128
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00d1
,
0x00d5
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0168
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x00e3
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x0129
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00f1
,
0x00f5
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0169
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc5 */
{
/* 0x40 */
0x0000
,
0x0100
,
0x0000
,
0x0000
,
0x0000
,
0x0112
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x012a
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x014c
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x016a
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0101
,
0x0000
,
0x0000
,
0x0000
,
0x0113
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x012b
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x014d
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x016b
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc6 */
{
/* 0x40 */
0x0000
,
0x0102
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x011e
,
/* 0x48 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x016c
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0103
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x011f
,
/* 0x68 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x016d
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc7 */
{
/* 0x40 */
0x0000
,
0x0000
,
0x0000
,
0x010a
,
0x0000
,
0x0116
,
0x0000
,
0x0120
,
/* 0x48 */
0x0000
,
0x0130
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x017b
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0000
,
0x0000
,
0x010b
,
0x0000
,
0x0117
,
0x0000
,
0x0121
,
/* 0x68 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x017c
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc8 */
{
/* 0x40 */
0x0000
,
0x00c4
,
0x0000
,
0x0000
,
0x0000
,
0x00cb
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x00cf
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00d6
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00dc
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0178
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x00e4
,
0x0000
,
0x0000
,
0x0000
,
0x00eb
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x00ef
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00f6
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x00fc
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x00ff
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xc9 */
{
0x0000
,
},
/* 0xca */
{
/* 0x40 */
0x0000
,
0x00c5
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x016e
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x00e5
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x016f
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xcb */
{
/* 0x40 */
0x0000
,
0x0000
,
0x0000
,
0x00c7
,
0x0000
,
0x0000
,
0x0000
,
0x0122
,
/* 0x48 */
0x0000
,
0x0000
,
0x0000
,
0x0136
,
0x013b
,
0x0000
,
0x0145
,
0x0000
,
/* 0x50 */
0x0000
,
0x0000
,
0x0156
,
0x015e
,
0x0162
,
0x0000
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0000
,
0x0000
,
0x00e7
,
0x0000
,
0x0000
,
0x0000
,
0x0123
,
/* 0x68 */
0x0000
,
0x0000
,
0x0000
,
0x0137
,
0x013c
,
0x0000
,
0x0146
,
0x0000
,
/* 0x70 */
0x0000
,
0x0000
,
0x0157
,
0x015f
,
0x0163
,
0x0000
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xcc */
{
0x0000
,
},
/* 0xcd */
{
/* 0x40 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0150
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0170
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0151
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0171
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xce */
{
/* 0x40 */
0x0000
,
0x0104
,
0x0000
,
0x0000
,
0x0000
,
0x0118
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x012e
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x50 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0172
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0105
,
0x0000
,
0x0000
,
0x0000
,
0x0119
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x012f
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x70 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0173
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
},
/* 0xcf */
{
/* 0x40 */
0x0000
,
0x0000
,
0x0000
,
0x010c
,
0x010e
,
0x011a
,
0x0000
,
0x0000
,
/* 0x48 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x013d
,
0x0000
,
0x0147
,
0x0000
,
/* 0x50 */
0x0000
,
0x0000
,
0x0158
,
0x0160
,
0x0164
,
0x0000
,
0x0000
,
0x0000
,
/* 0x58 */
0x0000
,
0x0000
,
0x017d
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
/* 0x60 */
0x0000
,
0x0000
,
0x0000
,
0x010d
,
0x010f
,
0x011b
,
0x0000
,
0x0000
,
/* 0x68 */
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x013e
,
0x0000
,
0x0148
,
0x0000
,
/* 0x70 */
0x0000
,
0x0000
,
0x0159
,
0x0161
,
0x0165
,
0x0000
,
0x0000
,
0x0000
,
/* 0x78 */
0x0000
,
0x0000
,
0x017e
,
0x0000
,
0x0000
,
0x0000
,
0x0000
,
0x0000
}
};
static
size_t
ISO6937toUTF8
(
const
unsigned
char
**
inbuf
,
size_t
*
inbytesleft
,
unsigned
char
**
outbuf
,
size_t
*
outbytesleft
)
{
if
(
!
inbuf
||
!
(
*
inbuf
)
)
return
(
size_t
)(
0
);
/* Reset state requested */
const
unsigned
char
*
iptr
=
*
inbuf
;
const
unsigned
char
*
iend
=
iptr
+
*
inbytesleft
;
unsigned
char
*
optr
=
*
outbuf
;
unsigned
char
*
oend
=
optr
+
*
outbytesleft
;
uint16_t
ch
;
int
err
=
0
;
while
(
iptr
<
iend
)
{
if
(
*
iptr
<
0x80
)
{
if
(
optr
>=
oend
)
{
err
=
E2BIG
;
break
;
/* No space in outbuf */
}
*
optr
++
=
*
iptr
++
;
continue
;
}
if
(
optr
+
2
>=
oend
)
{
err
=
E2BIG
;
break
;
/* No space in outbuf for multibyte char */
}
ch
=
to_ucs4
[
*
iptr
-
0x80
];
if
(
ch
==
0xffff
)
{
/* Composed character */
if
(
iptr
+
1
>=
iend
)
{
err
=
EINVAL
;
break
;
/* No next character */
}
if
(
iptr
[
1
]
<
0x40
||
iptr
[
1
]
>=
0x80
||
!
(
ch
=
to_ucs4_comb
[
iptr
[
0
]
-
0xc1
][
iptr
[
1
]
-
0x40
])
)
{
err
=
EILSEQ
;
break
;
/* Illegal combination */
}
iptr
+=
2
;
}
else
{
if
(
!
ch
)
{
err
=
EILSEQ
;
break
;
}
iptr
++
;
}
if
(
ch
<
0x800
)
{
optr
[
1
]
=
0x80
|
(
ch
&
0x3f
);
optr
[
0
]
=
0xc0
|
(
ch
>>
6
);
optr
+=
2
;
}
else
{
optr
[
2
]
=
0x80
|
(
ch
&
0x3f
);
ch
>>=
6
;
optr
[
1
]
=
0x80
|
(
ch
&
0x3f
);
optr
[
0
]
=
0xe0
|
(
ch
>>
6
);
optr
+=
3
;
}
}
*
inbuf
=
iptr
;
*
outbuf
=
optr
;
*
inbytesleft
=
iend
-
iptr
;
*
outbytesleft
=
oend
-
optr
;
if
(
err
)
{
errno
=
err
;
return
(
size_t
)(
-
1
);
}
return
(
size_t
)(
0
);
}
#endif
/*****************************************************************************
* iconv wrapper
*****************************************************************************/
vlc_iconv_t
vlc_iconv_open
(
const
char
*
tocode
,
const
char
*
fromcode
)
{
#ifndef __linux__
if
(
!
strcasecmp
(
tocode
,
"UTF-8"
)
&&
!
strcasecmp
(
fromcode
,
"ISO_6937"
)
)
return
(
vlc_iconv_t
)(
-
2
);
#endif
#if defined(HAVE_ICONV)
return
iconv_open
(
tocode
,
fromcode
);
#else
...
...
@@ -225,6 +508,11 @@ vlc_iconv_t vlc_iconv_open( const char *tocode, const char *fromcode )
size_t
vlc_iconv
(
vlc_iconv_t
cd
,
const
char
**
inbuf
,
size_t
*
inbytesleft
,
char
**
outbuf
,
size_t
*
outbytesleft
)
{
#ifndef __linux__
if
(
cd
==
(
vlc_iconv_t
)(
-
2
)
)
return
ISO6937toUTF8
(
(
const
unsigned
char
**
)
inbuf
,
inbytesleft
,
(
unsigned
char
**
)
outbuf
,
outbytesleft
);
#endif
#if defined(HAVE_ICONV)
return
iconv
(
cd
,
(
ICONV_CONST
char
**
)
inbuf
,
inbytesleft
,
outbuf
,
outbytesleft
);
...
...
@@ -235,6 +523,10 @@ size_t vlc_iconv( vlc_iconv_t cd, const char **inbuf, size_t *inbytesleft,
int
vlc_iconv_close
(
vlc_iconv_t
cd
)
{
#ifndef __linux__
if
(
cd
==
(
vlc_iconv_t
)(
-
2
)
)
return
0
;
#endif
#if defined(HAVE_ICONV)
return
iconv_close
(
cd
);
#else
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment