#include "stdio_impl.h"
#include <fcntl.h>
#include <string.h>
#include <errno.h>

FILE* fopen(const char* restrict filename, const char* restrict mode) {
  FILE* f;
  int fd;
  int flags;

  /* Check for valid initial mode character */
  if (!strchr("rwa", *mode)) {
    errno = EINVAL;
    return 0;
  }

  /* Compute the flags to pass to open() */
  flags = __fmodeflags(mode);

  fd = sys_open(filename, flags, 0666);
  if (fd < 0)
    return 0;
  if (flags & O_CLOEXEC)
    __syscall(SYS_fcntl, fd, F_SETFD, FD_CLOEXEC);

  f = __fdopen(fd, mode);
  if (f)
    return f;

  __syscall(SYS_close, fd);
  return 0;
}
