Sysdig Bridge: Make sure we fetch the correct field info.

Fetch the current field number's type and format instead of the first
field's.
This commit is contained in:
Gerald Combs 2022-02-17 10:39:41 -08:00
parent 3ae5ccbe52
commit 90bd33e4e2
1 changed files with 7 additions and 8 deletions

View File

@ -51,7 +51,6 @@ void destroy_sinsp_span(sinsp_span_t *sinsp_span) {
delete(sinsp_span); delete(sinsp_span);
} }
#include <iostream>
/* /*
* Populate a source_plugin_info struct with the symbols coming from a library loaded via libsinsp * Populate a source_plugin_info struct with the symbols coming from a library loaded via libsinsp
*/ */
@ -136,7 +135,7 @@ bool get_sinsp_source_field_info(sinsp_source_info_t *ssi, unsigned field_num, s
return false; return false;
} }
const filtercheck_field_info *ffi = ssi->source->fields(); const filtercheck_field_info *ffi = &ssi->source->fields()[field_num];
switch (ffi->m_type) { switch (ffi->m_type) {
case PT_CHARBUF: case PT_CHARBUF:
@ -163,13 +162,13 @@ bool get_sinsp_source_field_info(sinsp_source_info_t *ssi, unsigned field_num, s
field->display_format = SFDF_UNKNOWN; field->display_format = SFDF_UNKNOWN;
} }
g_strlcpy(field->abbrev, ffi[field_num].m_name, sizeof(ffi[field_num].m_name)); g_strlcpy(field->abbrev, ffi->m_name, sizeof(ffi->m_name));
g_strlcpy(field->display, ffi[field_num].m_display, sizeof(ffi[field_num].m_display)); g_strlcpy(field->display, ffi->m_display, sizeof(ffi->m_display));
g_strlcpy(field->description, ffi[field_num].m_description, sizeof(ffi[field_num].m_description)); g_strlcpy(field->description, ffi->m_description, sizeof(ffi->m_description));
field->is_hidden = ffi[field_num].m_flags & EPF_TABLE_ONLY; field->is_hidden = ffi->m_flags & EPF_TABLE_ONLY;
field->is_info = ffi[field_num].m_flags & EPF_INFO_PROP; field->is_info = ffi->m_flags & EPF_INFO;
field->is_conversation = ffi[field_num].m_flags & EPF_CONVERSATION_PROP; field->is_conversation = ffi->m_flags & EPF_CONVERSATION;
return true; return true;
} }