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); }
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); }