From 46418225ffcb80dd53069e43c1081f0e1538fcc0 Mon Sep 17 00:00:00 2001 From: Doug Felt Date: Thu, 27 Apr 2017 15:02:41 -0700 Subject: [PATCH] Quiet warning caused by const argument to basename. The cases in which this warning is legitimate are failing cases for us anyway, so just cast away const to silence this warning. --- waveflag.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/waveflag.c b/waveflag.c index 605b9b1a7..3c234e0af 100644 --- a/waveflag.c +++ b/waveflag.c @@ -409,7 +409,12 @@ wave_flag (const char *filename, const char *out_prefix) *out = '\0'; strcat (out, out_prefix); // diff from upstream. we call this a bit differently, filename might not be in cwd. - strcat (out, basename(filename)); + + // basename wants a non-const argument. The problem here is paths that end in a + // slash, POSIX basename removes them while GNU just returns a pointer to that + // slash. Since this is supposed to be a filename such input is illegal for us. + // We're already not checking for overflow of the output buffer anyway... + strcat (out, basename((char *) filename)); cairo_surface_write_to_png (cairo_get_target (cr), out); cairo_destroy (cr);