summaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-29 15:56:37 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-11-29 15:56:37 +0100
commit5ddc0764e33e948869623381bf115b3fc2c5be0d (patch)
tree3ee4d235a6d0dd4062a67ea00db80371e5f996b0 /main.c
parent0c68fb081fd86c35b3f69cafdeebd555934eeba0 (diff)
parentb0842cab06bfe598487c8f1b744c526850a98314 (diff)
Merge branch 'master' into guiplug
Conflicts: main.c
Diffstat (limited to 'main.c')
-rw-r--r--main.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/main.c b/main.c
index 252c403d..9f35dc1a 100644
--- a/main.c
+++ b/main.c
@@ -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;
}