Truncate the string to first character before invalid UTF-8 one instead of replacing non ascii characters by spaces. --- profiles/audio/mcp.c | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/profiles/audio/mcp.c b/profiles/audio/mcp.c index d3ccb97c5..5fe7ef82a 100644 --- a/profiles/audio/mcp.c +++ b/profiles/audio/mcp.c @@ -72,21 +72,12 @@ static void mcp_debug(const char *str, void *user_data) static char *name2utf8(const uint8_t *name, uint16_t len) { char utf8_name[HCI_MAX_NAME_LENGTH + 2]; - int i; - - if (g_utf8_validate((const char *) name, len, NULL)) - return g_strndup((char *) name, len); len = MIN(len, sizeof(utf8_name) - 1); memset(utf8_name, 0, sizeof(utf8_name)); strncpy(utf8_name, (char *) name, len); - - /* Assume ASCII, and replace all non-ASCII with spaces */ - for (i = 0; utf8_name[i] != '\0'; i++) { - if (!isascii(utf8_name[i])) - utf8_name[i] = ' '; - } + strtoutf8(utf8_name, len); /* Remove leading and trailing whitespace characters */ g_strstrip(utf8_name); -- 2.43.0