[PATCH v2] dumpcap: fix pathname for output file

Stephen Hemminger stephen at networkplumber.org
Wed Oct 19 20:52:44 CEST 2022


When dumpcap is run with a longer path name such as when
testing, the file prefix would be computed incorrectly.

Also, print out the resulting filename which is what
similar wireshark program does.

Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application")
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
v2 - get rid of debug printf

 app/dumpcap/main.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c
index e0a3477d912f..9f716b1fbe43 100644
--- a/app/dumpcap/main.c
+++ b/app/dumpcap/main.c
@@ -637,6 +637,7 @@ static dumpcap_out_t create_output(void)
 	else {
 		mode_t mode = group_read ? 0640 : 0600;
 
+		fprintf(stderr, "File: %s\n", output_name);
 		fd = open(output_name, O_WRONLY | O_CREAT, mode);
 		if (fd < 0)
 			rte_exit(EXIT_FAILURE, "Can not open \"%s\": %s\n",
@@ -784,8 +785,14 @@ int main(int argc, char **argv)
 	struct rte_ring *r;
 	struct rte_mempool *mp;
 	dumpcap_out_t out;
+	char *p;
 
-	progname = argv[0];
+	p = strrchr(argv[0], '/');
+	if (p == NULL)
+		progname = argv[0];
+	else
+		progname = p + 1;
+	printf("progname = '%s'\n", progname);
 
 	parse_opts(argc, argv);
 	dpdk_init();
-- 
2.35.1



More information about the dev mailing list