int fonct_o(t_env *env) { ARGLEN = ft_arglen(env); //ft_putnbr(env->arglen); if (FNDFLAGS[9] == 1) x_prec(env); else { if (FNDFLAGS[2] == -1 && FNDFLAGS[1] == -1 && NBR != -1) // pas de - et nbr pas de 0 { if (FNDFLAGS[0] == 1) NBR = NBR - 1; RET = RET + ft_putspace(NBR - env->arglen); } if (FNDFLAGS[2] != 1 && FNDFLAGS[1] == 1 && NBR != -1) RET = RET + ft_putzero2(NBR - env->arglen); if (FNDFLAGS[0] == 1 && (unsigned long int)ARG != 0) RET = RET + ft_putzero2(1); RET = RET + ft_which_putoctal(env); // ft_putnbr(RET); if (FNDFLAGS[2] == 1 && NBR != -1 && NBR > env->arglen) // - et nbr { if (FNDFLAGS[0] == 1) NBR = NBR - 1; RET = RET + ft_putspace(NBR - env->arglen); } } //ft_putnbr(RET); return (1); }
int fonct_ss(t_env *env) { if (ARG != NULL) ARGLEN = ft_wstrlen((wchar_t *)ARG); if (FNDFLAGS[9] == 1) x_prec(env); else { if (ARG == NULL) { RET += ft_putstr("(null)"); return (0); } if (FNDFLAGS[2] == -1 && NBR > ARGLEN) { if (FNDFLAGS[1] == 1) RET = RET + ft_putzero2(NBR - ARGLEN); else RET = RET + ft_putspace(NBR - ARGLEN); } RET = RET + ft_put_w_str((wchar_t *)ARG); if (FNDFLAGS[2] == 1 && NBR > ARGLEN) RET = RET + ft_putspace(NBR - ARGLEN); } return (0); }
static void x_prec(t_env *env) { if (NBRPREC != -1) { inter_xprec(env); if (FNDFLAGS[9] == 1 && NBRPREC != -1) RET = RET + ft_put_wn_str((wchar_t *)ARG, NBRPREC); else RET = RET + ft_put_w_str((wchar_t *)ARG); if (FNDFLAGS[2] == 1 && NBR != -1 && NBRPREC != -1) { if (NBRPREC > ARGLEN) RET = RET + ft_putspace(NBR - ARGLEN); else RET = RET + ft_putspace(NBR - NBRPREC); } } else { if (FNDFLAGS[1] == 1) RET = RET + ft_putzero2(NBR); else RET = RET + ft_putspace(NBR); } }
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; }
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_show_l(t_files *files, t_lenmax max) { ft_putstr(files->modes); ft_putspace(max.links, files->links); ft_spaceput(max.user, files->user); ft_spaceput(max.group - 2, files->group); ft_putspace(max.size, files->size); ft_putspace(max.month, files->month); ft_putspace(max.number, files->number); ft_putspace(max.hour, files->hour); ft_putstr(" "); }
void print_percent(t_env *env) { if (FNDFLAGS[2] == -1 && NBR != -1) { if (FNDFLAGS[1] == 1) RET = RET + ft_putzero2(NBR - 1); else RET = RET + ft_putspace(NBR - 1); } RET = RET + ft_putchar('%'); if (FNDFLAGS[2] == 1 && NBR != -1) RET = RET + ft_putspace(NBR - 1); }
static void x_prec(t_env *env) { if (NBRPREC != -1) { if (FNDFLAGS[2] != 1 && NBR > ARGLEN && NBRPREC < ARGLEN ) RET = RET + ft_putspace(NBR - ARGLEN); else if (FNDFLAGS[2] != 1 && NBR > ARGLEN && NBRPREC < NBR ) RET = RET + ft_putspace(NBR - NBRPREC); if (NBRPREC != -1 && NBRPREC > ARGLEN )//. RET = RET + ft_putzero2(NBRPREC - ARGLEN); RET = RET + ft_which_putnbr(env); if (FNDFLAGS[2] == 1 && NBRPREC != -1 && NBR != -1)//. RET = RET + ft_putspace(NBR - NBRPREC); } }
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); } }
void print_groups(t_stat *stat, char *maxs) { struct passwd *usr; struct group *grp; usr = getpwuid(stat->st_uid); if (usr != NULL) ft_putstrleft(usr->pw_name, (maxs) ? maxs[1] : 0); else ft_putnbrleft(stat->st_uid, (maxs) ? maxs[1] : 0); ft_putspace(2); grp = getgrgid(stat->st_gid); if (grp != NULL) ft_putstrleft(grp->gr_name, (maxs) ? maxs[2] : 0); ft_putspace(2); }
static void ft_check_env(t_env *env) { if (NBR != -1) { if (FNDFLAGS[1] == 1 && FNDFLAGS[2] == -1) ft_putzero3(env); else RET = RET + ft_putspace(env->nbr - 1); } }
static void inter_xprec(t_env *env) { NBRPREC = ft_wnstrlen((wchar_t *)ARG, NBRPREC); if (FNDFLAGS[2] == -1 && NBR != -1) { if (NBRPREC > ARGLEN && NBR > ARGLEN) { if (FNDFLAGS[1] == 1) RET = RET + ft_putzero2(NBR - ARGLEN); else RET = RET + ft_putspace(NBR - ARGLEN); } else if (NBRPREC != -1 && NBR > NBRPREC) { if (FNDFLAGS[1] == 1) RET = RET + ft_putzero2(NBR - NBRPREC); else RET = RET + ft_putspace(NBR - NBRPREC); } } }
int fonct_O(t_env *env) { env->arglen = ft_nbrlenO(ft_octalnbr((unsigned long int)ARG)); /* ft_putstr(">>ret02>>"); ft_putnbr(ARGLEN); ft_putstr("<<"); */ if (FNDFLAGS[9] == 1) x_prec(env); else { if (FNDFLAGS[2] == -1 && FNDFLAGS[1] == -1 && NBR != -1) // pas de - et nbr pas de 0 { if (FNDFLAGS[0] == 1) NBR = NBR - 1; RET = RET + ft_putspace(NBR - env->arglen); } if (FNDFLAGS[2] != 1 && FNDFLAGS[1] == 1 && NBR != -1) RET = RET + ft_putzero2(NBR - env->arglen); if (FNDFLAGS[0] == 1) RET = RET + ft_putzero2(1); if (FNDFLAGS[7] == 1) RET = RET + ft_puttest((unsigned long int)ARG);//RET = RET + ft_puttest((long int)ARG); else RET = RET + ft_puttest((unsigned long int)ARG); // ft_putnbr(RET); if (FNDFLAGS[2] == 1 && NBR != -1 && NBR > env->arglen) // - et nbr { if (FNDFLAGS[0] == 1) NBR = NBR - 1; RET = RET + ft_putspace(NBR - env->arglen); } } //ft_putnbr(RET); return (1); }
int fonct_u(t_env *env) { //int *tab[5]; env->arglen = ft_arglen(env); //ft_putnbr(env->arglen); if (FNDFLAGS[9] == 1) x_prec(env); else { if (FNDFLAGS[2] == -1 && FNDFLAGS[1] == -1 && NBR > ARGLEN) // pas de - et nbr pas de 0 RET = RET + ft_putspace(NBR - env->arglen); if (FNDFLAGS[2] != 1 && FNDFLAGS[1] == 1 && NBR != -1) RET = RET + ft_putzero2(NBR - env->arglen); RET = RET + ft_which_putnbr(env); // ft_putnbr(RET); if (FNDFLAGS[2] == 1 && NBR != -1 && NBR > env->arglen && FNDFLAGS[9] == -1) // - et nbr RET = RET + ft_putspace(NBR - env->arglen); } //ft_putnbr(RET); return (1); }
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); } }
static void ft_flag_prec(t_env *env) { FNDFLAGS[1] = -1; if ((int)ARG == 0 && NBR == -1 && NBRPREC == -1) return ; before_nbrd_prec(env); if ((int)ARG == 0 && NBRPREC == -1) { } else if (env->putneg == 1) ft_which_putnbrnegd(env); else ft_which_putnbrd(env); if (NBR != -1 && FNDFLAGS[2] == 1) { if (FNDFLAGS[3] == 1) NBR = NBR - 1; RET = RET + ft_putspace(NBR - NBRPREC); } }
static void x_prec(t_env *env) { if (NBRPREC != -1 ) { if (FNDFLAGS[2] == -1 && NBR > ARGLEN && NBRPREC < ARGLEN ) RET = RET + ft_putspace(NBR - ARGLEN); else if (FNDFLAGS[2] == -1 && NBR > ARGLEN && NBRPREC < NBR ) RET = RET + ft_putspace(NBR - NBRPREC); if (NBRPREC > env->arglen )//. RET = RET + ft_putzero2(NBRPREC - env->arglen); //ft_putstr(">>"); RET = RET + ft_which_putoctal(env); //ft_putstr("<<"); if (FNDFLAGS[2] == 1 && FNDFLAGS[9] == 1 && NBR > NBRPREC)// - RET = RET + ft_putspace(NBR - NBRPREC); } else if(NBR != -1) { if (FNDFLAGS[0] == 1) { if ((unsigned long int)ARG != 0) { RET = RET + ft_putspace(NBR - 1 - ARGLEN); RET = RET + ft_putchar('0'); } else RET = RET + ft_putspace(NBR - 1); //ft_putstr(">>"); RET = RET + ft_which_putoctal(env); //ft_putstr("<<"); } else RET = RET + ft_putspace(NBR); } else if (FNDFLAGS[0] == 1) { if ((unsigned long int)ARG != 0) RET = RET + ft_putchar('0'); RET = RET + ft_which_putoctal(env); } }