Beispiel #1
0
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);
}
Beispiel #2
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);
}