Exemple #1
0
void			number(void)
{
	if (sgt_printf()->flags.prec < 0 && sgt_printf()->flags.spec != 'f')
		sgt_printf()->flags.prec = 1;
	else if (sgt_printf()->flags.spec != 'f')
		sgt_printf()->flags.pad = ' ';
	if (sgt_printf()->flags.prec == 0 && sgt_printf()->flags.number.word == 0)
	{
		if ((sgt_printf()->flags.base == 8 && sgt_printf()->flags.alt)
			|| sgt_printf()->flags.spec == 'f'
			|| sgt_printf()->flags.spec == 'b')
			number_type();
	}
	else
	{
		number_type();
	}
	if (sgt_printf()->flags.spec == 'f' && sgt_printf()->flags.alt
		&& sgt_printf()->flags.prec == 0)
		sgt_printf()->work_buffer = concat2(sgt_printf()->work_buffer,
				ft_strlen(sgt_printf()->work_buffer), ".", 1);
	sgt_printf()->flags.prec = ft_max(0, sgt_printf()->flags.prec -
			ft_strlen(sgt_printf()->work_buffer));
	if (sgt_printf()->flags.left == false)
		s_not_left();
	else
		number_left();
}
Exemple #2
0
 static number_type quiet_NaN() { return number_type("nan"); }