#include <fcntl.h>
#include <unistd.h>

int     my_putstr(char *str);
int     aff_doc(char *path);

int     main(int argc, char **argv)
{
  int   i;
  int   err;
  int   ord;
  char  buf[512];

  if (argc == 1)
    {
      while (42)
        {
          ord = read(0, buf, 512);
          write(1, buf, ord);
        }
    }
  i = 1;
  while (i < argc)
    {
      err = aff_doc(argv[i]);
      if (err == 1)
        {
          return (0);
        }
      i = i + 1;
    }
  return (0);
}

int     aff_doc(char *path)
{
  int   fd;
  int   ord;
  char  buf[512];

  ord = 512;
  fd = open(path, O_RDONLY);
  if (fd == -1)
    {
      my_putstr("cat: ");
      my_putstr(path);
      my_putstr(" No such file or directory\n");
      return (0);
    }
  while (ord  == 512)
    {
      ord = read(fd, buf, 512);
      write(1, buf, ord);
    }
  close(fd);
  return (0);
}

