Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(501)

Unified Diff: fusl/src/multibyte/wcsrtombs.c

Issue 1714623002: [fusl] clang-format fusl (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: headers too Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: fusl/src/multibyte/wcsrtombs.c
diff --git a/fusl/src/multibyte/wcsrtombs.c b/fusl/src/multibyte/wcsrtombs.c
index 30be415d0683f287bf575a5b33e8c493f9b42434..97cd4f47b7d0cba16126d9069d30dbd57a1a873f 100644
--- a/fusl/src/multibyte/wcsrtombs.c
+++ b/fusl/src/multibyte/wcsrtombs.c
@@ -1,4 +1,4 @@
-/*
+/*
* This code was written by Rich Felker in 2010; no copyright is claimed.
* This code is in the public domain. Attribution is appreciated but
* unnecessary.
@@ -6,56 +6,63 @@
#include <wchar.h>
-size_t wcsrtombs(char *restrict s, const wchar_t **restrict ws, size_t n, mbstate_t *restrict st)
-{
- const wchar_t *ws2;
- char buf[4];
- size_t N = n, l;
- if (!s) {
- for (n=0, ws2=*ws; *ws2; ws2++) {
- if (*ws2 >= 0x80u) {
- l = wcrtomb(buf, *ws2, 0);
- if (!(l+1)) return -1;
- n += l;
- } else n++;
- }
- return n;
- }
- while (n>=4) {
- if (**ws-1u >= 0x7fu) {
- if (!**ws) {
- *s = 0;
- *ws = 0;
- return N-n;
- }
- l = wcrtomb(s, **ws, 0);
- if (!(l+1)) return -1;
- s += l;
- n -= l;
- } else {
- *s++ = **ws;
- n--;
- }
- (*ws)++;
- }
- while (n) {
- if (**ws-1u >= 0x7fu) {
- if (!**ws) {
- *s = 0;
- *ws = 0;
- return N-n;
- }
- l = wcrtomb(buf, **ws, 0);
- if (!(l+1)) return -1;
- if (l>n) return N-n;
- wcrtomb(s, **ws, 0);
- s += l;
- n -= l;
- } else {
- *s++ = **ws;
- n--;
- }
- (*ws)++;
- }
- return N;
+size_t wcsrtombs(char* restrict s,
+ const wchar_t** restrict ws,
+ size_t n,
+ mbstate_t* restrict st) {
+ const wchar_t* ws2;
+ char buf[4];
+ size_t N = n, l;
+ if (!s) {
+ for (n = 0, ws2 = *ws; *ws2; ws2++) {
+ if (*ws2 >= 0x80u) {
+ l = wcrtomb(buf, *ws2, 0);
+ if (!(l + 1))
+ return -1;
+ n += l;
+ } else
+ n++;
+ }
+ return n;
+ }
+ while (n >= 4) {
+ if (**ws - 1u >= 0x7fu) {
+ if (!**ws) {
+ *s = 0;
+ *ws = 0;
+ return N - n;
+ }
+ l = wcrtomb(s, **ws, 0);
+ if (!(l + 1))
+ return -1;
+ s += l;
+ n -= l;
+ } else {
+ *s++ = **ws;
+ n--;
+ }
+ (*ws)++;
+ }
+ while (n) {
+ if (**ws - 1u >= 0x7fu) {
+ if (!**ws) {
+ *s = 0;
+ *ws = 0;
+ return N - n;
+ }
+ l = wcrtomb(buf, **ws, 0);
+ if (!(l + 1))
+ return -1;
+ if (l > n)
+ return N - n;
+ wcrtomb(s, **ws, 0);
+ s += l;
+ n -= l;
+ } else {
+ *s++ = **ws;
+ n--;
+ }
+ (*ws)++;
+ }
+ return N;
}

Powered by Google App Engine
This is Rietveld 408576698