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; }
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); }