| Index: fusl/src/multibyte/c16rtomb.c
|
| diff --git a/fusl/src/multibyte/c16rtomb.c b/fusl/src/multibyte/c16rtomb.c
|
| index 5ebfbc29b70f9a87a3a821a5fd556bf8962a8e17..e3baa02340b3dca661c2d175faec5a683e7d46c1 100644
|
| --- a/fusl/src/multibyte/c16rtomb.c
|
| +++ b/fusl/src/multibyte/c16rtomb.c
|
| @@ -2,34 +2,37 @@
|
| #include <errno.h>
|
| #include <wchar.h>
|
|
|
| -size_t c16rtomb(char *restrict s, char16_t c16, mbstate_t *restrict ps)
|
| -{
|
| - static unsigned internal_state;
|
| - if (!ps) ps = (void *)&internal_state;
|
| - unsigned *x = (unsigned *)ps;
|
| - wchar_t wc;
|
| +size_t c16rtomb(char* restrict s, char16_t c16, mbstate_t* restrict ps) {
|
| + static unsigned internal_state;
|
| + if (!ps)
|
| + ps = (void*)&internal_state;
|
| + unsigned* x = (unsigned*)ps;
|
| + wchar_t wc;
|
|
|
| - if (!s) {
|
| - if (*x) goto ilseq;
|
| - return 1;
|
| - }
|
| + if (!s) {
|
| + if (*x)
|
| + goto ilseq;
|
| + return 1;
|
| + }
|
|
|
| - if (!*x && c16 - 0xd800u < 0x400) {
|
| - *x = (c16 - 0xd7c0) << 10;
|
| - return 0;
|
| - }
|
| + if (!*x && c16 - 0xd800u < 0x400) {
|
| + *x = (c16 - 0xd7c0) << 10;
|
| + return 0;
|
| + }
|
|
|
| - if (*x) {
|
| - if (c16 - 0xdc00u >= 0x400) goto ilseq;
|
| - else wc = *x + c16 - 0xdc00;
|
| - *x = 0;
|
| - } else {
|
| - wc = c16;
|
| - }
|
| - return wcrtomb(s, wc, 0);
|
| + if (*x) {
|
| + if (c16 - 0xdc00u >= 0x400)
|
| + goto ilseq;
|
| + else
|
| + wc = *x + c16 - 0xdc00;
|
| + *x = 0;
|
| + } else {
|
| + wc = c16;
|
| + }
|
| + return wcrtomb(s, wc, 0);
|
|
|
| ilseq:
|
| - *x = 0;
|
| - errno = EILSEQ;
|
| - return -1;
|
| + *x = 0;
|
| + errno = EILSEQ;
|
| + return -1;
|
| }
|
|
|