mirror of
https://github.com/adulau/aha.git
synced 2024-12-28 11:46:19 +00:00
[PATCH] isofs endianness annotations
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
6ca1584173
commit
d02d48d865
1 changed files with 5 additions and 5 deletions
|
@ -14,9 +14,9 @@
|
||||||
* Convert Unicode 16 to UTF-8 or ASCII.
|
* Convert Unicode 16 to UTF-8 or ASCII.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
uni16_to_x8(unsigned char *ascii, u16 *uni, int len, struct nls_table *nls)
|
uni16_to_x8(unsigned char *ascii, __be16 *uni, int len, struct nls_table *nls)
|
||||||
{
|
{
|
||||||
wchar_t *ip, ch;
|
__be16 *ip, ch;
|
||||||
unsigned char *op;
|
unsigned char *op;
|
||||||
|
|
||||||
ip = uni;
|
ip = uni;
|
||||||
|
@ -24,8 +24,8 @@ uni16_to_x8(unsigned char *ascii, u16 *uni, int len, struct nls_table *nls)
|
||||||
|
|
||||||
while ((ch = get_unaligned(ip)) && len) {
|
while ((ch = get_unaligned(ip)) && len) {
|
||||||
int llen;
|
int llen;
|
||||||
ch = be16_to_cpu(ch);
|
llen = nls->uni2char(be16_to_cpu(ch), op, NLS_MAX_CHARSET_SIZE);
|
||||||
if ((llen = nls->uni2char(ch, op, NLS_MAX_CHARSET_SIZE)) > 0)
|
if (llen > 0)
|
||||||
op += llen;
|
op += llen;
|
||||||
else
|
else
|
||||||
*op++ = '?';
|
*op++ = '?';
|
||||||
|
@ -82,7 +82,7 @@ get_joliet_filename(struct iso_directory_record * de, unsigned char *outname, st
|
||||||
len = wcsntombs_be(outname, de->name,
|
len = wcsntombs_be(outname, de->name,
|
||||||
de->name_len[0] >> 1, PAGE_SIZE);
|
de->name_len[0] >> 1, PAGE_SIZE);
|
||||||
} else {
|
} else {
|
||||||
len = uni16_to_x8(outname, (u16 *) de->name,
|
len = uni16_to_x8(outname, (__be16 *) de->name,
|
||||||
de->name_len[0] >> 1, nls);
|
de->name_len[0] >> 1, nls);
|
||||||
}
|
}
|
||||||
if ((len > 2) && (outname[len-2] == ';') && (outname[len-1] == '1')) {
|
if ((len > 2) && (outname[len-2] == ';') && (outname[len-1] == '1')) {
|
||||||
|
|
Loading…
Reference in a new issue