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(); }
static number_type quiet_NaN() { return number_type("nan"); }