X-Git-Url: http://nitlanguage.org diff --git a/c_src/file_nit.c b/c_src/file_nit.c index 44c0558..f6a6987 100644 --- a/c_src/file_nit.c +++ b/c_src/file_nit.c @@ -6,20 +6,23 @@ * * This file is free software, which comes along with NIT. This software is * distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; - * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A * PARTICULAR PURPOSE. You can modify it is you want, provided this header * is kept unaltered, and a notification of the changes is added. * You are allowed to redistribute it and sell it, alone or is a part of * another product. */ -#define _POSIX_C_SOURCE 1 #include #include #include #include #include #include +#include +#include + +#include "file_nit.h" int string_NativeString_NativeString_file_exists_0(char *f){ FILE *hdl = fopen(f,"r"); @@ -52,3 +55,21 @@ void *file_NativeFile_NativeFile_file_stat_0(FILE *f){ extern int string_NativeString_NativeString_file_delete_0(char *f){ return (remove(f) == 0); } + +int file_stdin_poll_in_(void) { + struct pollfd fd = {0, POLLIN, 0}; + int res = poll(&fd, 1, 0); + if (res == -1) { + perror("Error poll stdin"); + exit(EXIT_FAILURE); + } + return res > 0; +} + +FILE* file_int_fdtostream(int fd, char* mode){ + return fdopen(fd, mode); +} + +int file_NativeFile_NativeFile_set_buffering_type_0(FILE* f, int buf_sz, int mode){ + return setvbuf(f, NULL, mode, buf_sz); +}