cc -pthread -Wall -Wextra -Werror=implicit-function-declaration wchar/ungetwc.c -o wchar/ungetwc -D_GNU_SOURCE -D_BSD_SOURCE -D_ALL_SOURCE -D_DEFAULT_SOURCE -lm -lpthread -lrt -lintl -liconv wchar/ungetwc.c: In function ‘main’: wchar/ungetwc.c:12:14: error: implicit declaration of function ‘fputws’; did you mean ‘fputs’? [-Wimplicit-function-declaration] 12 | if ( fputws(L"foo", fp) == -1 ) | ^~~~~~ | fputs wchar/ungetwc.c:18:14: error: implicit declaration of function ‘ungetwc’; did you mean ‘ungetc’? [-Wimplicit-function-declaration] 18 | if ( ungetwc(L'X', fp) == WEOF ) | ^~~~~~~ | ungetc wchar/ungetwc.c:18:32: warning: comparison of integer expressions of different signedness: ‘int’ and ‘unsigned int’ [-Wsign-compare] 18 | if ( ungetwc(L'X', fp) == WEOF ) | ^~ wchar/ungetwc.c:21:15: error: implicit declaration of function ‘fgetws’; did you mean ‘fgets’? [-Wimplicit-function-declaration] 21 | if ( !fgetws(out, sizeof(out)/sizeof(out[0]), fp) ) | ^~~~~~ | fgets