From 5657ff3d3438c29fd32201e8ef3f12e964e1d6c3 Mon Sep 17 00:00:00 2001 From: Klaas Freitag Date: Fri, 22 Mar 2013 16:29:04 +0100 Subject: [PATCH] Fix: set path correctly. --- src/csync_update.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/csync_update.c b/src/csync_update.c index a50d08af8c..3dff0a6722 100644 --- a/src/csync_update.c +++ b/src/csync_update.c @@ -90,6 +90,26 @@ static int _csync_detect_update(CSYNC *ctx, const char *file, return -1; } + path = file; + len = strlen(path); + switch (ctx->current) { + case LOCAL_REPLICA: + if (strlen(path) <= strlen(ctx->local.uri)) { + return -1; + } + path += strlen(ctx->local.uri) + 1; + break; + case REMOTE_REPLICA: + if (strlen(path) <= strlen(ctx->remote.uri)) { + return -1; + } + path += strlen(ctx->remote.uri) + 1; + break; + default: + path = NULL; + return -1; + break; + } h = _hash_of_file(ctx, file ); // FIXME: What if h == 0?