char *ft_ullitoa(unsigned long long n) { char *s; if (!(s = (char *)malloc(sizeof(char) * 2))) return (NULL); if (n >= 10) s = ft_strjoin(ft_ullitoa(n / 10), ft_ullitoa(n % 10)); else { s[0] = n + '0'; s[1] = '\0'; } return (s); }
void ft_is_ptr(t_params *params, va_list ap) { size_t value; char *c_value; value = va_arg(ap, UL); c_value = ft_ullitoa(value, 16); c_value = ft_max_ptr(c_value, params, value); ft_putstr(c_value); SLEN = ft_strlen(c_value); free(c_value); free(SSTR); }
int ft_lencalc(wint_t c) { char *bin; int bits; bin = ft_ullitoa(c, 2); bits = ft_strlen(bin); free(bin); if (bits < 8) return (1); else if (bits < 12) return (2); else if (bits < 17) return (3); return (4); }
char *ft_mask_wstr(LL value) { int bits; char *bin; bin = ft_ullitoa(value, 2); bits = ft_strlen(bin); if (bits < 8) return (ft_fill(ft_strdup(MASK8), bin)); else if (bits < 12) return (ft_fill(ft_strdup(MASK16), bin)); else if (bits < 17) return (ft_fill(ft_strdup(MASK24), bin)); else return (ft_fill(ft_strdup(MASK32), bin)); }