static int print_spaces(t_a *arg, int len) { int sp; int prefix_len; sp = 0; prefix_len = 0; arg->flag.di && arg->type == 'o' ? prefix_len = 1 : 0; arg->flag.di && (arg->type == 'x' || arg->type == 'X') ? prefix_len = 2 : 0; arg->prec.prec = (arg->prec.prec > len ? arg->prec.prec : len); arg->type == 'o' && arg->flag.di && arg->prec.pt ? arg->prec.prec -= prefix_len : 0; arg->width -= arg->prec.prec + prefix_len; while (!arg->flag.mn && arg->width > 0 && sp++) { arg->flag.zr ? write(arg->out, "0", 1) : write(arg->out, " ", 1); arg->width--; } (arg->flag.zr || arg->prec.pt) && arg->flag.di ? sp += prfx(arg) : 0; while ((arg->prec.prec - len) > 0) { write(arg->out, "0", 1); arg->prec.prec--; sp++; } !(arg->flag.zr || arg->prec.pt) && arg->flag.di ? sp += prfx(arg) : 0; return (sp); }
// In the main method, we refer to the prototyped function int main(void) { // Since prfx is forward referenced, it will call the code below main. prfx(); }