summaryrefslogtreecommitdiff
path: root/print.c
diff options
context:
space:
mode:
authorFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2022-01-20 19:26:22 +0100
committerFrancois-Xavier Le Bail <devel.fx.lebail@orange.fr>2022-01-22 13:19:33 +0100
commit6d854639ea6702adc7fcb077361ae00d2229f875 (patch)
treefe7ae49ab53bcecf8262cbeb18f53f6ba4f38553 /print.c
parent26c266dca507a6e2f6db31196dfbc19ce83a3279 (diff)
downloadtcpdump-6d854639ea6702adc7fcb077361ae00d2229f875.tar.gz
autoconf: Enhance the --enable-instrument-functions result output
It prints now, by default, also the static functions names. To configure the printing of only the global functions names, as before: $ make instrument_global To go back to print all the functions names: $ make instrument_all In case of truncation, the indentation level is reset to its previous level in pretty_print_packet(). [skip ci]
Diffstat (limited to 'print.c')
-rw-r--r--print.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/print.c b/print.c
index be487f66..b1c81dd6 100644
--- a/print.c
+++ b/print.c
@@ -310,6 +310,7 @@ get_if_printer(int type)
#ifdef ENABLE_INSTRUMENT_FUNCTIONS
extern int profile_func_level;
+static int pretty_print_packet_level = -1;
#endif
void
@@ -322,6 +323,11 @@ pretty_print_packet(netdissect_options *ndo, const struct pcap_pkthdr *h,
if (ndo->ndo_print_sampling && packets_captured % ndo->ndo_print_sampling != 0)
return;
+#ifdef ENABLE_INSTRUMENT_FUNCTIONS
+ if (pretty_print_packet_level == -1)
+ pretty_print_packet_level = profile_func_level;
+#endif
+
if (ndo->ndo_packet_number)
ND_PRINT("%5u ", packets_captured);
@@ -411,8 +417,8 @@ pretty_print_packet(netdissect_options *ndo, const struct pcap_pkthdr *h,
/* Print the full packet */
ndo->ndo_ll_hdr_len = 0;
#ifdef ENABLE_INSTRUMENT_FUNCTIONS
- /* truncation => reassignment, currently: 1 (main is 0) */
- profile_func_level = 1;
+ /* truncation => reassignment */
+ profile_func_level = pretty_print_packet_level;
#endif
break;
}