void ft_printchar(char c, t_stock *stock) { int size; int spacenum; size = 1; spacenum = 0; if (stock->size_min > 2147483647) stock->size_min = 0; if (stock->size_min > size) spacenum = stock->size_min - size; if ((stock->flags & 1) == 1) { ft_putchar(c); ft_putspace(spacenum); } else { if ((stock->flags & 2) == 0) ft_putspace(spacenum); else ft_putzero(spacenum, stock, 'c'); ft_putchar(c); } stock->i += spacenum + 1; }
void ft_printoctal(uintmax_t nbr, t_stock *stock) { int spacenum; int size; spacenum = 0; size = ft_nbrsizeoctal(nbr); if (stock->size_min > size && stock->size_min <= 2147483647) spacenum = stock->size_min - size; if ((stock->flags & 16) != 0) spacenum -= 1; if ((stock->flags & 1) == 0) { if ((stock->flags & 2) == 0) ft_putspace(spacenum); else ft_putzero(spacenum, stock, 'c'); ft_printadd(stock, 'o'); ft_converttooctal(nbr); } else { ft_printadd(stock, 'o'); ft_converttooctal(nbr); ft_putspace(spacenum); } stock->i += spacenum + size; }
static void before_nbr(t_env *env) { if (FNDFLAGS[1] == -1 && NBR != -1 && NBR > ft_nbrlen((int)ARG)) { if (FNDFLAGS[3] == 1 && (int)ARG > 0) NBR = NBR - 1; NBR = NBR - ft_nbrlen((int)ARG); RET = RET + ft_putspace(NBR); } else if (FNDFLAGS[4] == 1 && FNDFLAGS[3] == -1 && ((int)ARG >= 0)) { RET = RET + ft_putchar(' '); NBR = NBR - 1; } if ((FNDFLAGS[3] == 1) && ((int)ARG >= 0)) { if (env->putneg != 1) { RET = RET + ft_putchar('+'); NBR = NBR - 1; } } if (NBR != -1 && NBR > ft_nbrlen((int)ARG)) { if (FNDFLAGS[1] == 1 && FNDFLAGS[2] != 1) ft_putzero(env); } }
static void after_nbr(t_env *env) { if ((FNDFLAGS[4] == 1 && NBR == -1)) if ((int)ARG > 0) RET = RET + ft_putchar(' '); if (NBR != -1 && NBR > ft_nbrlen((int)ARG)) { if (FNDFLAGS[2] == -1 && (FNDFLAGS[3] == 1) && ((int)ARG > 0)) NBR = NBR - 1; if (FNDFLAGS[1] == 1 && FNDFLAGS[2] != 1) ft_putzero(env); else RET = RET + ft_putspace(NBR - ARGLEN); } }