lib: charset: remove obsolete functions

Remove functions:
- utf8_to_utf16()
- utf16_strcpy()
- utf16_strdup()

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
Heinrich Schuchardt 2018-08-31 21:31:34 +02:00 committed by Alexander Graf
parent 7086a71aa8
commit 75cb1cd248
2 changed files with 0 additions and 102 deletions

View File

@ -167,16 +167,6 @@ size_t u16_strlen(const u16 *in);
*/ */
size_t u16_strnlen(const u16 *in, size_t count); size_t u16_strnlen(const u16 *in, size_t count);
/**
* utf16_strcpy() - UTF16 equivalent of strcpy()
*/
uint16_t *utf16_strcpy(uint16_t *dest, const uint16_t *src);
/**
* utf16_strdup() - UTF16 equivalent of strdup()
*/
uint16_t *utf16_strdup(const uint16_t *s);
/** /**
* utf16_to_utf8() - Convert an utf16 string to utf8 * utf16_to_utf8() - Convert an utf16 string to utf8
* *
@ -193,17 +183,4 @@ uint16_t *utf16_strdup(const uint16_t *s);
*/ */
uint8_t *utf16_to_utf8(uint8_t *dest, const uint16_t *src, size_t size); uint8_t *utf16_to_utf8(uint8_t *dest, const uint16_t *src, size_t size);
/**
* utf8_to_utf16() - Convert an utf8 string to utf16
*
* Converts up to 'size' characters of the utf16 string 'src' to utf8
* written to the 'dest' buffer. Stops at 0x00.
*
* @dest the destination buffer to write the utf8 characters
* @src the source utf16 string
* @size maximum number of utf16 characters to convert
* @return the pointer to the first unwritten byte in 'dest'
*/
uint16_t *utf8_to_utf16(uint16_t *dest, const uint8_t *src, size_t size);
#endif /* __CHARSET_H_ */ #endif /* __CHARSET_H_ */

View File

@ -256,29 +256,6 @@ size_t u16_strnlen(const u16 *in, size_t count)
return i; return i;
} }
uint16_t *utf16_strcpy(uint16_t *dest, const uint16_t *src)
{
uint16_t *tmp = dest;
while ((*dest++ = *src++) != '\0')
/* nothing */;
return tmp;
}
uint16_t *utf16_strdup(const uint16_t *s)
{
uint16_t *new;
if (!s)
return NULL;
new = malloc((u16_strlen(s) + 1) * 2);
if (!new)
return NULL;
utf16_strcpy(new, s);
return new;
}
/* Convert UTF-16 to UTF-8. */ /* Convert UTF-16 to UTF-8. */
uint8_t *utf16_to_utf8(uint8_t *dest, const uint16_t *src, size_t size) uint8_t *utf16_to_utf8(uint8_t *dest, const uint16_t *src, size_t size)
{ {
@ -331,59 +308,3 @@ uint8_t *utf16_to_utf8(uint8_t *dest, const uint16_t *src, size_t size)
return dest; return dest;
} }
uint16_t *utf8_to_utf16(uint16_t *dest, const uint8_t *src, size_t size)
{
while (size--) {
int extension_bytes;
uint32_t code;
extension_bytes = 0;
if (*src <= 0x7f) {
code = *src++;
/* Exit on zero byte */
if (!code)
size = 0;
} else if (*src <= 0xbf) {
/* Illegal code */
code = '?';
} else if (*src <= 0xdf) {
code = *src++ & 0x1f;
extension_bytes = 1;
} else if (*src <= 0xef) {
code = *src++ & 0x0f;
extension_bytes = 2;
} else if (*src <= 0xf7) {
code = *src++ & 0x07;
extension_bytes = 3;
} else {
/* Illegal code */
code = '?';
}
for (; extension_bytes && size; --size, --extension_bytes) {
if ((*src & 0xc0) == 0x80) {
code <<= 6;
code |= *src++ & 0x3f;
} else {
/* Illegal code */
code = '?';
++src;
--size;
break;
}
}
if (code < 0x10000) {
*dest++ = code;
} else {
/*
* Simplified expression for
* (((code - 0x10000) >> 10) & 0x3ff) | 0xd800
*/
*dest++ = (code >> 10) + 0xd7c0;
*dest++ = (code & 0x3ff) | 0xdc00;
}
}
return dest;
}