[v3] dumpcap: fix pathname for output file
Checks
Commit Message
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@networkplumber.org>
---
v3 - get rid of printf
app/dumpcap/main.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
Comments
On Thu, Oct 20, 2022 at 7:29 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> 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")
Cc: stable@dpdk.org
> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Applied, thanks.
@@ -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,13 @@ 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;
parse_opts(argc, argv);
dpdk_init();