struct sol_file_reader * sol_file_reader_open(const char *filename) { int fd = -1; fd = open(filename, O_RDONLY | O_CLOEXEC); if (fd < 0) return NULL; return sol_file_reader_from_fd(fd); }
SOL_API struct sol_file_reader * sol_file_reader_open(const char *filename) { struct sol_file_reader *fr; int fd; SOL_NULL_CHECK(filename, NULL); if (*filename == '\0') { SOL_WRN("File name shouldn't be empty"); return NULL; } fd = open(filename, O_RDONLY | O_CLOEXEC); if (fd < 0) return NULL; fr = sol_file_reader_from_fd(fd); close(fd); return fr; }