From a08df3d7fda6c30a69ddf634555267c97a3c06d9 Mon Sep 17 00:00:00 2001 From: borouhin Date: Mon, 27 Aug 2018 03:43:49 +0300 Subject: [PATCH] Resolve handling of maximum path length calculation (Issue #134) (#135) * Update the handling of maximum path length calculation --- src/sync.d | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sync.d b/src/sync.d index 2f8add60..7b94be26 100644 --- a/src/sync.d +++ b/src/sync.d @@ -950,6 +950,8 @@ final class SyncEngine // 400 Character Limit for OneDrive Business / Office 365 // 430 Character Limit for OneDrive Personal auto maxPathLength = 0; + import std.range : walkLength; + import std.uni : byGrapheme; if (accountType == "business"){ // Business Account maxPathLength = 400; @@ -958,7 +960,7 @@ final class SyncEngine maxPathLength = 430; } - if(encodeComponent(path).length < maxPathLength){ + if(path.byGrapheme.walkLength < maxPathLength){ // path is less than maxPathLength if (isSymlink(path)) {