mirror of
https://github.com/upa/mscp.git
synced 2026-02-16 10:54:47 +08:00
fix wrong dst path for source path under '/'
When a source file path is /FILE, its dest path would be dst/ILE. This commit fixes this issue (#8).
This commit is contained in:
16
src/path.c
16
src/path.c
@@ -106,10 +106,18 @@ static int resolve_dst_path(const char *src_file_path, char *dst_file_path,
|
||||
mscp_set_error("dirname: %s", strerrno());
|
||||
return -1;
|
||||
}
|
||||
if (strlen(prefix) == 1 && prefix[0] == '.')
|
||||
offset = 0;
|
||||
else
|
||||
offset = strlen(prefix) + 1;
|
||||
|
||||
offset = strlen(prefix) + 1;
|
||||
if (strlen(prefix) == 1) { /* corner cases */
|
||||
switch (prefix[0]) {
|
||||
case '.':
|
||||
offset = 0;
|
||||
break;
|
||||
case '/':
|
||||
offset = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!a->src_path_is_dir && !a->dst_path_is_dir) {
|
||||
/* src path is file. dst path is (1) file, or (2) does not exist.
|
||||
|
||||
Reference in New Issue
Block a user