about summary refs log tree commit diff
path: root/src/stdio/fwide.c
blob: 8bab634ae0b50ad4245d38b52c00c8e1762c6ab5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <wchar.h>
#include "stdio_impl.h"
#include "locale_impl.h"

int fwide(FILE *f, int mode)
{
	FLOCK(f);
	if (mode) {
		if (!f->locale) f->locale = MB_CUR_MAX==1
			? C_LOCALE : UTF8_LOCALE;
		if (!f->mode) f->mode = mode>0 ? 1 : -1;
	}
	mode = f->mode;
	FUNLOCK(f);
	return mode;
}