| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | /* Copyright (C) 2004       Manuel Novoa III    <mjn3@codepoet.org> * * GNU Library General Public License (LGPL) version 2 or later. * * Dedicated to Toni.  See uClibc/DEDICATION.mjn3 for details. */#include "_stdio.h"#ifdef __DO_UNLOCKEDwchar_t *fgetws_unlocked(wchar_t *__restrict ws, int n,						   FILE *__restrict stream){	register wchar_t *p = ws;	wint_t wi;	__STDIO_STREAM_VALIDATE(stream);	while ((n > 1)		   && ((wi = fgetwc_unlocked(stream)) != WEOF)		   && ((*p++ = wi) != '\n')		   ) {		--n;	}	if (p == ws) {		/* TODO -- should we set errno? *//*  		if (n <= 0) { *//*  			errno = EINVAL; *//*  		} */		return NULL;	}	*p = 0;	return ws;}libc_hidden_def(fgetws_unlocked)#ifndef __UCLIBC_HAS_THREADS__strong_alias(fgetws_unlocked,fgetws)#endif#elif defined __UCLIBC_HAS_THREADS__wchar_t *fgetws(wchar_t *__restrict ws, int n, FILE *__restrict stream){	wchar_t *retval;	__STDIO_AUTO_THREADLOCK_VAR;	__STDIO_AUTO_THREADLOCK(stream);	retval = fgetws_unlocked(ws, n, stream);	__STDIO_AUTO_THREADUNLOCK(stream);	return retval;}#endif
 |