Ejemplo n.º 1
0
void	my_printnbr(int fd, int nbr, char *base)
{
  if (nbr < 0)
    {
      my_fdputchar(fd, '-');
      nbr *= -1;
    }
  if (nbr >= my_strlen(base))
    {
      my_printnbr(fd, nbr / my_strlen(base), base);
      my_printnbr(fd, nbr % my_strlen(base), base);
    }
  else
    my_fdputchar(fd, base[nbr]);
}
Ejemplo n.º 2
0
int	my_print_flag(int fd, char *str_flag, va_list *ap)
{
  int	i;
  int	ret;

  i = 0;
  ret = 0;
  if (str_flag[0] == '%')
    my_fdputchar(fd, '%');
  else
    {
      while ((g_interf + i)->flag && ret == 0)
	{
	  if (my_strcmp((g_interf + i)->flag, str_flag) == 0)
	    ret = (g_interf + i)->print(fd, ap);
	  i += 1;
	}
      if (ret == 0)
	{
	  my_putchar('%');
	  my_putstr(str_flag);
	}
    }
  return (ret);
}
Ejemplo n.º 3
0
int		my_fdprintf(int fd, const char *format, ...)
{
  int		i;
  int		written;
  va_list	params;

  i = 0;
  written = 0;
  if (format == NULL)
    return (-1);
  va_start(params, format);
  while (format[i])
    {
      if (format[i] == '%' && format[++i])
	written += my_print_flag(fd, my_getflag(format + i, &i), &params);
      else
	{
	  my_fdputchar(fd, format[i]);
	  written += 1;
	}
      i += 1;
    }
  va_end(params);
  return (written);
}
Ejemplo n.º 4
0
Archivo: cd.c Proyecto: ExPl0siF/42sh
void	error_cd(char **tabx, char *home, t_cmd *cmd)
{
  char	*path;

  cmd->retour = 1;
  if (size_wordtab(tabx) > 1)
    path = tabx[1];
  else
    path = home;
  if (access(path, F_OK) == 0)
    {
      my_fdputstr("bash: cd: ", cmd->fdout);
      my_fdputstr(path, cmd->fdout);
      my_fdputstr("/: Permission denied ", cmd->fdout);
      my_fdputchar('\n', cmd->fdout);
    }
  else
    {
      my_fdputstr("bash: cd: ", cmd->fdout);
      my_fdputstr(path, cmd->fdout);
      my_fdputstr(": No such file or directory", cmd->fdout);
      my_fdputchar('\n', cmd->fdout);
    }
}