Last change
on this file since 413 was 398, checked in by coas-nagasima, 5 years ago |
mbedTLS版Azure IoT Hub接続サンプルのソースコードを追加
|
-
Property svn:eol-style
set to
native
-
Property svn:mime-type
set to
text/x-csrc;charset=UTF-8
|
File size:
812 bytes
|
Line | |
---|
1 | #include "stdio_impl.h"
|
---|
2 | #include "locale_impl.h"
|
---|
3 | #include <wchar.h>
|
---|
4 | #include <limits.h>
|
---|
5 | #include <ctype.h>
|
---|
6 |
|
---|
7 | wint_t __fputwc_unlocked(wchar_t c, FILE *f)
|
---|
8 | {
|
---|
9 | char mbc[MB_LEN_MAX];
|
---|
10 | int l;
|
---|
11 | locale_t *ploc = &CURRENT_LOCALE, loc = *ploc;
|
---|
12 |
|
---|
13 | if (f->mode <= 0) fwide(f, 1);
|
---|
14 | *ploc = f->locale;
|
---|
15 |
|
---|
16 | if (isascii(c)) {
|
---|
17 | c = putc_unlocked(c, f);
|
---|
18 | } else if (f->wpos + MB_LEN_MAX < f->wend) {
|
---|
19 | l = wctomb((void *)f->wpos, c);
|
---|
20 | if (l < 0) c = WEOF;
|
---|
21 | else f->wpos += l;
|
---|
22 | } else {
|
---|
23 | l = wctomb(mbc, c);
|
---|
24 | if (l < 0 || __fwritex((void *)mbc, l, f) < l) c = WEOF;
|
---|
25 | }
|
---|
26 | if (c==WEOF) f->flags |= F_ERR;
|
---|
27 | *ploc = loc;
|
---|
28 | return c;
|
---|
29 | }
|
---|
30 |
|
---|
31 | wint_t fputwc(wchar_t c, FILE *f)
|
---|
32 | {
|
---|
33 | FLOCK(f);
|
---|
34 | c = __fputwc_unlocked(c, f);
|
---|
35 | FUNLOCK(f);
|
---|
36 | return c;
|
---|
37 | }
|
---|
38 |
|
---|
39 | weak_alias(__fputwc_unlocked, fputwc_unlocked);
|
---|
40 | weak_alias(__fputwc_unlocked, putwc_unlocked);
|
---|
Note:
See
TracBrowser
for help on using the repository browser.