void	my_put_nbr_unsigned(unsigned int nb)
{
  int	mod;

  if (nb >= 10)
    {
      mod = nb % 10;
      nb = (nb - mod) / 10;
      my_put_nbr_unsigned(nb);
      my_putchar('0' + mod);
    }
  else
    my_putchar('0' + nb % 10);
}
Example #2
0
char		*format_u(va_list *arg, char *buf, t_opt *opt) {
  unsigned int	i;
  int		pad;
  
  i = va_arg(*arg, unsigned int);
  if (opt->pre == 0 && i == 0)
    return  (buf);
  pad = my_nbrlen_base(i, 10);
  if (i == 0)
    pad++;
  while (opt->pre != -1 && pad < opt->pre) {
    buf = add_char(buf, '0');
    pad++;
  }
  buf = my_put_nbr_unsigned(i, buf);
  return (buf);
}