Skip to content

Commit 274d96b

Browse files
ekoopspoiana
authored andcommitted
refactor(userspace/libsinsp): use refences in fd_to_scap()
Signed-off-by: Leonardo Di Giovanna <[email protected]>
1 parent 902fcdc commit 274d96b

File tree

1 file changed

+32
-34
lines changed

1 file changed

+32
-34
lines changed

userspace/libsinsp/thread_manager.cpp

Lines changed: 32 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -37,50 +37,48 @@ static void copy_ipv6_address(uint32_t (&dest)[4], const uint32_t (&src)[4]) {
3737
dest[3] = src[3];
3838
}
3939

40-
static void fd_to_scap(scap_fdinfo* dst, sinsp_fdinfo* src) {
41-
dst->type = src->m_type;
42-
dst->ino = src->m_ino;
43-
dst->fd = src->m_fd;
40+
static void fd_to_scap(scap_fdinfo& dst, const sinsp_fdinfo& src) {
41+
dst.type = src.m_type;
42+
dst.ino = src.m_ino;
43+
dst.fd = src.m_fd;
4444

45-
switch(dst->type) {
45+
switch(dst.type) {
4646
case SCAP_FD_IPV4_SOCK:
47-
dst->info.ipv4info.sip = src->m_sockinfo.m_ipv4info.m_fields.m_sip;
48-
dst->info.ipv4info.dip = src->m_sockinfo.m_ipv4info.m_fields.m_dip;
49-
dst->info.ipv4info.sport = src->m_sockinfo.m_ipv4info.m_fields.m_sport;
50-
dst->info.ipv4info.dport = src->m_sockinfo.m_ipv4info.m_fields.m_dport;
51-
dst->info.ipv4info.l4proto = src->m_sockinfo.m_ipv4info.m_fields.m_l4proto;
47+
dst.info.ipv4info.sip = src.m_sockinfo.m_ipv4info.m_fields.m_sip;
48+
dst.info.ipv4info.dip = src.m_sockinfo.m_ipv4info.m_fields.m_dip;
49+
dst.info.ipv4info.sport = src.m_sockinfo.m_ipv4info.m_fields.m_sport;
50+
dst.info.ipv4info.dport = src.m_sockinfo.m_ipv4info.m_fields.m_dport;
51+
dst.info.ipv4info.l4proto = src.m_sockinfo.m_ipv4info.m_fields.m_l4proto;
5252
break;
5353
case SCAP_FD_IPV4_SERVSOCK:
54-
dst->info.ipv4serverinfo.ip = src->m_sockinfo.m_ipv4serverinfo.m_ip;
55-
dst->info.ipv4serverinfo.port = src->m_sockinfo.m_ipv4serverinfo.m_port;
56-
dst->info.ipv4serverinfo.l4proto = src->m_sockinfo.m_ipv4serverinfo.m_l4proto;
54+
dst.info.ipv4serverinfo.ip = src.m_sockinfo.m_ipv4serverinfo.m_ip;
55+
dst.info.ipv4serverinfo.port = src.m_sockinfo.m_ipv4serverinfo.m_port;
56+
dst.info.ipv4serverinfo.l4proto = src.m_sockinfo.m_ipv4serverinfo.m_l4proto;
5757
break;
5858
case SCAP_FD_IPV6_SOCK:
59-
copy_ipv6_address(dst->info.ipv6info.sip, src->m_sockinfo.m_ipv6info.m_fields.m_sip.m_b);
60-
copy_ipv6_address(dst->info.ipv6info.dip, src->m_sockinfo.m_ipv6info.m_fields.m_dip.m_b);
61-
dst->info.ipv6info.sport = src->m_sockinfo.m_ipv6info.m_fields.m_sport;
62-
dst->info.ipv6info.dport = src->m_sockinfo.m_ipv6info.m_fields.m_dport;
63-
dst->info.ipv6info.l4proto = src->m_sockinfo.m_ipv6info.m_fields.m_l4proto;
59+
copy_ipv6_address(dst.info.ipv6info.sip, src.m_sockinfo.m_ipv6info.m_fields.m_sip.m_b);
60+
copy_ipv6_address(dst.info.ipv6info.dip, src.m_sockinfo.m_ipv6info.m_fields.m_dip.m_b);
61+
dst.info.ipv6info.sport = src.m_sockinfo.m_ipv6info.m_fields.m_sport;
62+
dst.info.ipv6info.dport = src.m_sockinfo.m_ipv6info.m_fields.m_dport;
63+
dst.info.ipv6info.l4proto = src.m_sockinfo.m_ipv6info.m_fields.m_l4proto;
6464
break;
6565
case SCAP_FD_IPV6_SERVSOCK:
66-
copy_ipv6_address(dst->info.ipv6serverinfo.ip, src->m_sockinfo.m_ipv6serverinfo.m_ip.m_b);
67-
dst->info.ipv6serverinfo.port = src->m_sockinfo.m_ipv6serverinfo.m_port;
68-
dst->info.ipv6serverinfo.l4proto = src->m_sockinfo.m_ipv6serverinfo.m_l4proto;
66+
copy_ipv6_address(dst.info.ipv6serverinfo.ip, src.m_sockinfo.m_ipv6serverinfo.m_ip.m_b);
67+
dst.info.ipv6serverinfo.port = src.m_sockinfo.m_ipv6serverinfo.m_port;
68+
dst.info.ipv6serverinfo.l4proto = src.m_sockinfo.m_ipv6serverinfo.m_l4proto;
6969
break;
7070
case SCAP_FD_UNIX_SOCK:
71-
dst->info.unix_socket_info.source = src->m_sockinfo.m_unixinfo.m_fields.m_source;
72-
dst->info.unix_socket_info.destination = src->m_sockinfo.m_unixinfo.m_fields.m_dest;
73-
strlcpy(dst->info.unix_socket_info.fname,
74-
src->m_name.c_str(),
75-
sizeof(dst->info.unix_socket_info.fname));
71+
dst.info.unix_socket_info.source = src.m_sockinfo.m_unixinfo.m_fields.m_source;
72+
dst.info.unix_socket_info.destination = src.m_sockinfo.m_unixinfo.m_fields.m_dest;
73+
strlcpy(dst.info.unix_socket_info.fname,
74+
src.m_name.c_str(),
75+
sizeof(dst.info.unix_socket_info.fname));
7676
break;
7777
case SCAP_FD_FILE_V2:
78-
dst->info.regularinfo.open_flags = src->m_openflags;
79-
strlcpy(dst->info.regularinfo.fname,
80-
src->m_name.c_str(),
81-
sizeof(dst->info.regularinfo.fname));
82-
dst->info.regularinfo.dev = src->m_dev;
83-
dst->info.regularinfo.mount_id = src->m_mount_id;
78+
dst.info.regularinfo.open_flags = src.m_openflags;
79+
strlcpy(dst.info.regularinfo.fname, src.m_name.c_str(), sizeof(dst.info.regularinfo.fname));
80+
dst.info.regularinfo.dev = src.m_dev;
81+
dst.info.regularinfo.mount_id = src.m_mount_id;
8482
break;
8583
case SCAP_FD_FIFO:
8684
case SCAP_FD_FILE:
@@ -97,7 +95,7 @@ static void fd_to_scap(scap_fdinfo* dst, sinsp_fdinfo* src) {
9795
case SCAP_FD_IOURING:
9896
case SCAP_FD_MEMFD:
9997
case SCAP_FD_PIDFD:
100-
strlcpy(dst->info.fname, src->m_name.c_str(), sizeof(dst->info.fname));
98+
strlcpy(dst.info.fname, src.m_name.c_str(), sizeof(dst.info.fname));
10199
break;
102100
default:
103101
ASSERT(false);
@@ -718,7 +716,7 @@ void sinsp_thread_manager::dump_threads_to_file(scap_dumper_t* dumper) {
718716
//
719717
// Populate the fd info
720718
//
721-
fd_to_scap(scfdinfo, &info);
719+
fd_to_scap(*scfdinfo, info);
722720

723721
//
724722
// Add the new fd to the scap table.

0 commit comments

Comments
 (0)