- fd_infos_t fd = xbt_new0(s_fd_infos_t, 1);
- fd->filename = strdup(link);
- fd->number = fd_value;
- fd->flags = fcntl(fd_value, F_GETFL) | fcntl(fd_value, F_GETFD) ;
- fd->current_position = lseek(fd_value, 0, SEEK_CUR);
- snapshot->current_fd = (fd_infos_t*) xbt_realloc(snapshot->current_fd, (total_fd + 1) * sizeof(fd_infos_t));
- snapshot->current_fd[total_fd] = fd;
- total_fd++;
+ s_fd_infos_t fd;
+ fd.filename = std::string(link);
+ fd.number = fd_value;
+ fd.flags = fcntl(fd_value, F_GETFL) | fcntl(fd_value, F_GETFD) ;
+ fd.current_position = lseek(fd_value, 0, SEEK_CUR);
+ fds.push_back(std::move(fd));