void ft_casts(void *d, t_struct *details) { ft_recasts(d, details); ft_rerecasts(d, details); if ((details->conv == 'c' && details->mod == 'l') || \ details->conv == 'C') ft_conv_c_uni((long long)(wint_t)d, details); else if (details->conv == 'c') ft_conv_c((long long)(int)d, details); else if ((details->mod == 'l' && details->conv == 's') || \ details->conv == 'S') ft_conv_s_uni((wchar_t*)d, details); else if (details->conv == 's') ft_conv_s((char*)d, details); else if (details->conv == 'u' && details->mod == 'h') ft_conv_u((unsigned long long)(unsigned short)d, details); else if (details->conv == 'u' && details->mod == 'h' + 'h') ft_conv_u((unsigned long long)(unsigned char)d, details); else if (details->conv == 'u' && details->mod == 'l' + 'l') ft_conv_u((unsigned long long)d, details); else if (details->conv == 'u' && details->mod == 'j') ft_conv_u((unsigned long long)(uintmax_t)d, details); else if (details->conv == 'u' && details->mod == 'z') ft_conv_u((unsigned long long)(size_t)d, details); else if (details->conv == 'u' && details->mod == 0) ft_conv_u((unsigned long long)(unsigned int)d, details); }
int ft_tag(va_list ap, t_print *lst) { int j; j = 0; if (lst->conv == '%') j = ft_noconv(lst); else if (lst->conv == 's' || lst->conv == 'S') j = ft_conv_s(ap, lst); else if (lst->conv == 'd' || lst->conv == 'i' || lst->conv == 'D') j = ft_conv_d(ap, lst); else if (lst->conv == 'x' || lst->conv == 'X') j = ft_conv_x(ap, lst); else if (lst->conv == 'c' || lst->conv == 'C') j = ft_conv_c(ap, lst); else if (lst->conv == 'o' || lst->conv == 'O') j = ft_conv_o(ap, lst); else if (lst->conv == 'p') j = ft_conv_p(ap, lst); else if (lst->conv == 'u' || lst->conv == 'U') j = ft_conv_u(ap, lst); free_all(lst); return (j); }