Beispiel #1
0
int					handle_o_zero_d(intmax_t d, t_data *t, t_conv *c)
{
	if (t->o_zero && d < 0 && !t->prec && !t->width &&
			return_char(c->b_t_conv, '.'))
		return (ft_strlen(ft_itoa_ll(d)));
	else if (d < 0 && t->prec)
		return (neg_and_prec(d, t));
	else if (d == 0 && !t->prec && return_char(c->b_t_conv, '.'))
	{
		if (t->width)
			ft_putchar(' ');
		return (t->width ? 1 : 0);
	}
	else if (t->o_zero && t->width && d < 0 && !t->o_minus)
		return (c->d ? ft_strlen((ft_itoa_ll(d))) :
				t->width - ft_strlen(ft_itoa_ll(d)) + 1);
	else
		ft_putnbr_ll(d);
	return (ft_strlen(ft_itoa_ll(d)));
}
Beispiel #2
0
int					handle_width_u(int len, t_data *t, uintmax_t d, t_conv *c)
{
	int			i;
	char		ch;
	int			ret;

	ch = ' ';
	if (t->o_zero && !t->o_minus)
		ch = '0';
	ret = 0;
	ret += t->width - len;
	if (t->prec > len)
		ret = t->width - (len - (len - t->prec));
	i = ret;
	if (i < 0 || (t->width > t->prec && return_char(c->b_t_conv, '.') &&
				d == 0))
		return (0);
	while (i--)
		ft_putchar(ch);
	return (ret);
}
Beispiel #3
0
void return_input() {
	return_char(input_char); //vraceni znaku na vstup
}