Am 08.05.26 um 06:57 schrieb Kevin J. McCarthy:
[...]
However, the last, simplest version that Alex posted also bears note. I'm adding more context lines (breaking the patch) to make the whole thing clearer:

diff --git i/muttlib.c w/muttlib.c
index 59a48378..a9fe8779 100644
--- i/muttlib.c
+++ w/muttlib.c
@@ -1394,6 +1394,8 @@ void mutt_buffer_concat_path(BUFFER *d, const char*dir, const char *fname)
 {
   const char *fmt = "%s/%s";

   if (!*fname || (*dir && dir[strlen(dir)-1] == '/'))
     fmt = "%s%s";

+  fname += strspn(fname, "/");
+
   mutt_buffer_printf(d, fmt, dir, fname);
 }

I think this is basically equivalent to what you posted, Rene.

The only tests that were failing in Derek's list where those in which fname started with '/'.  So it clearly fixes that bug.

Fortunately I don't have to choose.  I had forgotten that there is another version of the function in lib.c: mutt_concat_path(). It's not called, but it should be fixed too.  And Alex's one-line fix applies easily there.


If it's not called, why not delete it?


Reply via email to