Exemplo n.º 1
0
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);
}
Exemplo n.º 2
0
Arquivo: ft_tag.c Projeto: Draeyo/FdF
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);
}