#include // for __IMPL #include // for fflush, FILE, fclose, stderr, stdin, stdout #include // for close int fclose(FILE *stream) { if (fflush(stream) == -1) return -1; if (stream != stdin && stream != stdout && stream != stderr) { if (close(__IMPL(stream)->fd) == -1) return -1; } return 0; }