int ft_print_d(t_printf info, int len, int nbr, char *add) { info.value = ft_tild(&info, &len); if (info.rpad) return (ft_print_rd(info, len, nbr, add)); if (info.value[0] == '-') { ft_memmove(info.value, info.value + 1, len); --len; add = "-"; } if (!nbr && info.is_preci) len = 0; info.lpad -= ft_strlen(add); if (info.pad == '0') { info.preci += info.lpad; info.lpad = 0; } info.preci = (info.preci < len ? len : info.preci); while (info.lpad-- - info.preci > 0) ft_fwrite(&(info.pad), 1); ft_fwrite(add, ft_strlen(add)); while (info.preci-- - len > 0) ft_fwrite("0", 1); ft_fwrite(info.value, len); return (0); }
char *final_line(char *line, t_env *e) { char *result; result = line; if (!ft_strchr(line, '"')) result = clear_line(line); if (ft_strchr(line, '~') && e && ft_in_env(e, "HOME")) result = ft_tild(line, e); return (result); }