Commit 045ddc89 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman

NLS: raname "maxlen" to "maxout" in UTF conversion routines

As requested by NamJae Jeon, this patch (as1503) changes the name of
the "maxlen" parameters to "maxout" in the various UTF conversion
routines.  This should make the role of that parameter more clear.

The patch also renames the "len" parameters to "inlen", for the same
reason.
Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Reviewed-by: default avatarNamJae Jeon <linkinjeon@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 56898711
......@@ -52,7 +52,7 @@ static const struct utf8_table utf8_table[] =
#define SURROGATE_LOW 0x00000400
#define SURROGATE_BITS 0x000003ff
int utf8_to_utf32(const u8 *s, int len, unicode_t *pu)
int utf8_to_utf32(const u8 *s, int inlen, unicode_t *pu)
{
unsigned long l;
int c0, c, nc;
......@@ -71,7 +71,7 @@ int utf8_to_utf32(const u8 *s, int len, unicode_t *pu)
*pu = (unicode_t) l;
return nc;
}
if (len <= nc)
if (inlen <= nc)
return -1;
s++;
c = (*s ^ 0x80) & 0xFF;
......@@ -83,7 +83,7 @@ int utf8_to_utf32(const u8 *s, int len, unicode_t *pu)
}
EXPORT_SYMBOL(utf8_to_utf32);
int utf32_to_utf8(unicode_t u, u8 *s, int maxlen)
int utf32_to_utf8(unicode_t u, u8 *s, int maxout)
{
unsigned long l;
int c, nc;
......@@ -97,7 +97,7 @@ int utf32_to_utf8(unicode_t u, u8 *s, int maxlen)
return -1;
nc = 0;
for (t = utf8_table; t->cmask && maxlen; t++, maxlen--) {
for (t = utf8_table; t->cmask && maxout; t++, maxout--) {
nc++;
if (l <= t->lmask) {
c = t->shift;
......@@ -129,24 +129,24 @@ static inline void put_utf16(wchar_t *s, unsigned c, enum utf16_endian endian)
}
}
int utf8s_to_utf16s(const u8 *s, int len, enum utf16_endian endian,
wchar_t *pwcs, int maxlen)
int utf8s_to_utf16s(const u8 *s, int inlen, enum utf16_endian endian,
wchar_t *pwcs, int maxout)
{
u16 *op;
int size;
unicode_t u;
op = pwcs;
while (len > 0 && maxlen > 0 && *s) {
while (inlen > 0 && maxout > 0 && *s) {
if (*s & 0x80) {
size = utf8_to_utf32(s, len, &u);
size = utf8_to_utf32(s, inlen, &u);
if (size < 0)
return -EINVAL;
s += size;
len -= size;
inlen -= size;
if (u >= PLANE_SIZE) {
if (maxlen < 2)
if (maxout < 2)
break;
u -= PLANE_SIZE;
put_utf16(op++, SURROGATE_PAIR |
......@@ -156,15 +156,15 @@ int utf8s_to_utf16s(const u8 *s, int len, enum utf16_endian endian,
SURROGATE_LOW |
(u & SURROGATE_BITS),
endian);
maxlen -= 2;
maxout -= 2;
} else {
put_utf16(op++, u, endian);
maxlen--;
maxout--;
}
} else {
put_utf16(op++, *s++, endian);
len--;
maxlen--;
inlen--;
maxout--;
}
}
return op - pwcs;
......@@ -183,27 +183,27 @@ static inline unsigned long get_utf16(unsigned c, enum utf16_endian endian)
}
}
int utf16s_to_utf8s(const wchar_t *pwcs, int len, enum utf16_endian endian,
u8 *s, int maxlen)
int utf16s_to_utf8s(const wchar_t *pwcs, int inlen, enum utf16_endian endian,
u8 *s, int maxout)
{
u8 *op;
int size;
unsigned long u, v;
op = s;
while (len > 0 && maxlen > 0) {
while (inlen > 0 && maxout > 0) {
u = get_utf16(*pwcs, endian);
if (!u)
break;
pwcs++;
len--;
inlen--;
if (u > 0x7f) {
if ((u & SURROGATE_MASK) == SURROGATE_PAIR) {
if (u & SURROGATE_LOW) {
/* Ignore character and move on */
continue;
}
if (len <= 0)
if (inlen <= 0)
break;
v = get_utf16(*pwcs, endian);
if ((v & SURROGATE_MASK) != SURROGATE_PAIR ||
......@@ -214,18 +214,18 @@ int utf16s_to_utf8s(const wchar_t *pwcs, int len, enum utf16_endian endian,
u = PLANE_SIZE + ((u & SURROGATE_BITS) << 10)
+ (v & SURROGATE_BITS);
pwcs++;
len--;
inlen--;
}
size = utf32_to_utf8(u, op, maxlen);
size = utf32_to_utf8(u, op, maxout);
if (size == -1) {
/* Ignore character and move on */
} else {
op += size;
maxlen -= size;
maxout -= size;
}
} else {
*op++ = (u8) u;
maxlen--;
maxout--;
}
}
return op - s;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment