fgetws.c\stdio\src - musl - musl - an implementation of the standard library for Linux-based systems

index : musl
musl - an implementation of the standard library for Linux-based systems
summary refs log tree commit diff
path: root/src/stdio/fgetws.c
blob: 195cb4355a14b10b05b0b50cf293456b5b7b4f75 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "stdio_impl.h"
#include <wchar.h>
wint_t __fgetwc_unlocked(FILE *);
wchar_t *fgetws(wchar_t *restrict s, int n, FILE *restrict f)
{
	wchar_t *p = s;
	if (!n--) return s;
	FLOCK(f);
	for (; n; n--) {
		wint_t c = __fgetwc_unlocked(f);
		if (c == WEOF) break;
		*p++ = c;
		if (c == '\n') break;
	}
	*p = 0;
	if (ferror(f)) p = s;
	FUNLOCK(f);
	return (p == s) ? NULL : s;
}
weak_alias(fgetws, fgetws_unlocked);
generated by cgit v1.2.1 (git 2.18.0) at 2025年09月06日 20:09:49 +0000

AltStyle によって変換されたページ (->オリジナル) /