dfilter: Store expanded text

This commit is contained in:
João Valverde 2022-03-28 00:21:53 +01:00
parent a1299d63d9
commit 9ee9b40b64
4 changed files with 7 additions and 5 deletions

View File

@ -130,8 +130,6 @@ main(int argc, char **argv)
/* Get filter text */
text = get_args_as_string(argc, argv, 1);
printf("Filter: %s\n", text);
/* Compile it */
if (!dfilter_compile(text, &df, &err_msg)) {
fprintf(stderr, "dftest: %s\n", err_msg);
@ -141,8 +139,6 @@ main(int argc, char **argv)
exit(2);
}
printf("\n");
if (df == NULL)
printf("Filter is empty\n");
else

View File

@ -26,6 +26,7 @@ struct epan_dfilter {
int *interesting_fields;
int num_interesting_fields;
GPtrArray *deprecated;
char *expanded_text;
};
typedef struct {

View File

@ -205,6 +205,7 @@ dfilter_free(dfilter_t *df)
g_free(df->registers);
g_free(df->attempted_load);
g_free(df->free_registers);
g_free(df->expanded_text);
g_free(df);
}
@ -444,6 +445,7 @@ dfilter_compile_real(const gchar *text, dfilter_t **dfp,
dfw->insns = NULL;
dfilter->interesting_fields = dfw_interesting_fields(dfw,
&dfilter->num_interesting_fields);
dfilter->expanded_text = ws_strdup(expanded_text);
/* Initialize run-time space */
dfilter->num_registers = dfw->next_register;

View File

@ -188,7 +188,10 @@ dfvm_dump(FILE *f, dfilter_t *df)
dfvm_value_t *arg1, *arg2, *arg3, *arg4;
char *arg1_str, *arg2_str, *arg3_str, *arg4_str;
fprintf(f, "Instructions:\n");
fprintf(f, "Filter: %s\n", df->expanded_text);
fprintf(f, "\nInstructions:\n");
length = df->insns->len;
for (id = 0; id < length; id++) {