From 500138cc3f1e5a6e02cb63616c4edcbe72e0a99a Mon Sep 17 00:00:00 2001 From: niels <> Date: Sun, 2 Nov 2025 17:30:59 +0100 Subject: [PATCH] fix relative_path to correctly strip working_dir prefix --- veejay-current/veejay-server/veejay/vj-misc.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/veejay-current/veejay-server/veejay/vj-misc.c b/veejay-current/veejay-server/veejay/vj-misc.c index fbcc75eb..c2dddf0d 100644 --- a/veejay-current/veejay-server/veejay/vj-misc.c +++ b/veejay-current/veejay-server/veejay/vj-misc.c @@ -104,14 +104,19 @@ static int is_it_usable(const char *file) return 0; } -static char *relative_path(filelist_t *filelist, const char *node) +static char *relative_path(filelist_t *filelist, const char *node) { - int len = strlen(filelist->working_dir); - if( node + len + 1 ) { - char *tmp = vj_strdup( node + len + 1); - return tmp; - } - return vj_strdup(node); + int len = strlen(filelist->working_dir); + + if (strncmp(node, filelist->working_dir, len) == 0) { + const char *rel = node + len; + if (*rel == '/' || *rel == '\\') { + rel++; + } + return vj_strdup(rel); + } + + return vj_strdup(node); } static int is_usable_file( filelist_t *filelist, const char *node, const char *filename )