Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Dec 2020 14:23:40 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 251767] wcswidth() from libc reports wrong string lenght (no unicode 9 support)
Message-ID:  <bug-251767-227-Dcs8MOUseH@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-251767-227@https.bugs.freebsd.org/bugzilla/>
References:  <bug-251767-227@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D251767

--- Comment #3 from dmilith <dmilith@me.com> ---
Ok, it's not that easy.
I rebuilt my system from stable/12 with widths.txt from CURRENT as you
suggested=E2=80=A6 but it didn't help. Here's my example C code that prints=
 "length 1"
for multibyte long char:

```C
#include <stdio.h>
#include <stddef.h>
#include <wchar.h>
#include <locale.h>

int main () {
  setlocale(LC_ALL, "en_US.UTF-8");
  const wchar_t* wc =3D L"=F0=9F=91=8C";
  int length =3D wcswidth(wc, 1);
  printf("%ls, length: %d\n", wc, length);
}
```

outputs:

=F0=9F=91=8C, length: 1

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-251767-227-Dcs8MOUseH>