conversation: Add CE_INT
Add a plain integer conversation element type.
This commit is contained in:
parent
2a0a6a5256
commit
4cc337383c
|
@ -143,6 +143,7 @@ conversation_element_list_name(wmem_allocator_t *allocator, conversation_element
|
|||
"string",
|
||||
"uint",
|
||||
"uint64",
|
||||
"int",
|
||||
};
|
||||
char *sep = "";
|
||||
wmem_strbuf_t *conv_hash_group = wmem_strbuf_new(allocator, "");
|
||||
|
@ -195,6 +196,9 @@ static char* conversation_element_list_values(conversation_element_t *elements)
|
|||
case CE_UINT64:
|
||||
g_string_append_printf(value_str, "%" G_GUINT64_FORMAT, cur_el->uint64_val);
|
||||
break;
|
||||
case CE_INT:
|
||||
g_string_append_printf(value_str, "%d", cur_el->int_val);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return g_string_free(value_str, FALSE);
|
||||
|
@ -368,6 +372,11 @@ conversation_hash_element_list(gconstpointer v)
|
|||
tmp_addr.data = &element->uint64_val;
|
||||
hash_val = add_address_to_hash(hash_val, &tmp_addr);
|
||||
break;
|
||||
case CE_INT:
|
||||
tmp_addr.len = (int) sizeof(element->int_val);
|
||||
tmp_addr.data = &element->int_val;
|
||||
hash_val = add_address_to_hash(hash_val, &tmp_addr);
|
||||
break;
|
||||
case CE_CONVERSATION_TYPE:
|
||||
tmp_addr.len = (int) sizeof(element->conversation_type_val);
|
||||
tmp_addr.data = &element->conversation_type_val;
|
||||
|
@ -426,6 +435,11 @@ conversation_match_element_list(gconstpointer v1, gconstpointer v2)
|
|||
return FALSE;
|
||||
}
|
||||
break;
|
||||
case CE_INT:
|
||||
if (element1->int_val != element2->int_val) {
|
||||
return FALSE;
|
||||
}
|
||||
break;
|
||||
case CE_CONVERSATION_TYPE:
|
||||
if (element1->conversation_type_val != element2->conversation_type_val) {
|
||||
return FALSE;
|
||||
|
|
|
@ -154,6 +154,7 @@ typedef enum {
|
|||
CE_STRING, /* string */
|
||||
CE_UINT, /* unsigned integer not representing a port */
|
||||
CE_UINT64, /* 64-bit unsigned integer */
|
||||
CE_INT, /* signed integer */
|
||||
} conversation_element_type;
|
||||
|
||||
/**
|
||||
|
@ -186,6 +187,7 @@ typedef struct conversation_element {
|
|||
const char *str_val;
|
||||
unsigned int uint_val;
|
||||
uint64_t uint64_val;
|
||||
int int_val;
|
||||
};
|
||||
} conversation_element_t;
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ fill_named_table(gpointer key, gpointer value _U_, gpointer user_data)
|
|||
int string_count = 1;
|
||||
int uint_count = 1;
|
||||
int uint64_count = 1;
|
||||
int int_count = 1;
|
||||
for (const conversation_element_t *cur_el = elements; ; cur_el++) {
|
||||
QString title;
|
||||
switch (cur_el->type) {
|
||||
|
@ -55,6 +56,9 @@ fill_named_table(gpointer key, gpointer value _U_, gpointer user_data)
|
|||
case CE_UINT64:
|
||||
title = QString("UInt64 %1").arg(uint64_count++);
|
||||
break;
|
||||
case CE_INT:
|
||||
title = QString("UInt %1").arg(int_count++);
|
||||
break;
|
||||
case CE_CONVERSATION_TYPE:
|
||||
html_table->append(QString("<th>Endpoint</th>"));
|
||||
goto title_done;
|
||||
|
@ -86,6 +90,9 @@ title_done:
|
|||
case CE_UINT64:
|
||||
val = QString::number(cur_el->uint64_val);
|
||||
break;
|
||||
case CE_INT:
|
||||
val = QString::number(cur_el->int_val);
|
||||
break;
|
||||
case CE_CONVERSATION_TYPE:
|
||||
html_table->append(QString("<td>%1</td>").arg(QString::number(cur_el->conversation_type_val)));
|
||||
goto val_done;
|
||||
|
|
Loading…
Reference in New Issue