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>
lime2-spi
Heinrich Schuchardt 6 years ago committed by Alexander Graf
parent 7086a71aa8
commit 75cb1cd248
  1. 23
      include/charset.h
  2. 79
      lib/charset.c

@ -168,16 +168,6 @@ size_t u16_strlen(const u16 *in);
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
*
* Converts 'size' characters of the utf16 string 'src' 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);
/**
* 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_ */

@ -256,29 +256,6 @@ size_t u16_strnlen(const u16 *in, size_t count)
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. */
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;
}
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;
}

Loading…
Cancel
Save