Example #1
0
void			ft_fill_data(t_ls *new_elem, struct stat *buf, s_data *data)
{
	t_ls		*tmp;
	
	data->blocks = data->blocks + (long long int)buf->st_blocks;
	free(data->blocks_disp);
	data->blocks_disp = NULL;
	data->blocks_disp = ft_longlongtoa(data->blocks);
	new_elem->type = ft_get_type(buf);
	new_elem->size = ft_get_size(buf);
	new_elem->nbr_hl = ft_get_hl(buf);
	new_elem->group = ft_get_group(buf);
	new_elem->owner = ft_get_owner(buf);
	new_elem->permission = ft_get_permission(new_elem, buf);
	new_elem->modification = ft_get_modification(buf);
	new_elem->name = ft_strcpy(data->file_to_open_name);
	new_elem->name_low = ft_to_lower(data->file_to_open_name);
	if (data->dev)
		ft_get_device(new_elem, buf);
	new_elem->next = NULL;
	if (data->ls)
	{
		tmp = data->ls;
		while (tmp->next)
			tmp = tmp->next;
		tmp->next = new_elem;
	}
	else
		data->ls = new_elem;
}
Example #2
0
void		ft_apply_a(s_data *data)
{
	data->blocks /= 2;
	if (!ft_has_option(data->options, 'a'))
	{
		data->blocks -= 8;
		data->ls = data->ls->next->next;
	}
	data->blocks_disp = ft_longlongtoa(data->blocks);
}