Last change
on this file was 337, checked in by coas-nagasima, 6 years ago |
ASP3版ECNLを追加
|
-
Property svn:eol-style
set to
native
-
Property svn:mime-type
set to
text/x-csrc;charset=UTF-8
|
File size:
519 bytes
|
Rev | Line | |
---|
[337] | 1 | #include "stdio_impl.h"
|
---|
| 2 | #include "locale_impl.h"
|
---|
| 3 | #include <wchar.h>
|
---|
| 4 |
|
---|
| 5 | int fputws(const wchar_t *restrict ws, FILE *restrict f)
|
---|
| 6 | {
|
---|
| 7 | unsigned char buf[BUFSIZ];
|
---|
| 8 | size_t l=0;
|
---|
| 9 | locale_t *ploc = &CURRENT_LOCALE, loc = *ploc;
|
---|
| 10 |
|
---|
| 11 | FLOCK(f);
|
---|
| 12 |
|
---|
| 13 | fwide(f, 1);
|
---|
| 14 | *ploc = f->locale;
|
---|
| 15 |
|
---|
| 16 | while (ws && (l = wcsrtombs((void *)buf, (void*)&ws, sizeof buf, 0))+1 > 1)
|
---|
| 17 | if (__fwritex(buf, l, f) < l) {
|
---|
| 18 | FUNLOCK(f);
|
---|
| 19 | *ploc = loc;
|
---|
| 20 | return -1;
|
---|
| 21 | }
|
---|
| 22 |
|
---|
| 23 | FUNLOCK(f);
|
---|
| 24 |
|
---|
| 25 | *ploc = loc;
|
---|
| 26 | return l; /* 0 or -1 */
|
---|
| 27 | }
|
---|
| 28 |
|
---|
| 29 | weak_alias(fputws, fputws_unlocked);
|
---|
Note:
See
TracBrowser
for help on using the repository browser.