diff options
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -405,7 +405,16 @@ main (int argc, char *argv[]) { if (len >= size) { break; } - memcpy (p, argv[i], len+1); + char resolved[PATH_MAX]; + // need to resolve path here, because remote doesn't know current + // path of this process + if (argv[i][0] != '-' && realpath (argv[i], resolved)) { + len = strlen (resolved); + memcpy (p, resolved, len+1); + } + else { + memcpy (p, argv[i], len+1); + } p += len; size -= len; } |