|
Lines 74-79
Link Here
|
| 74 |
#define I_SHELL 20 |
74 |
#define I_SHELL 20 |
| 75 |
#define I_SYMLINK 21 |
75 |
#define I_SYMLINK 21 |
| 76 |
#define I_VERSION 22 |
76 |
#define I_VERSION 22 |
|
|
77 |
#define I_GETLINK 23 |
| 77 |
struct CMD { |
78 |
struct CMD { |
| 78 |
const char *c; |
79 |
const char *c; |
|
Lines 91-96
Link Here
|
| 91 |
{ "exit", I_QUIT }, |
92 |
{ "exit", I_QUIT }, |
| 92 |
{ "get", I_GET }, |
93 |
{ "get", I_GET }, |
| 93 |
{ "mget", I_GET }, |
94 |
{ "mget", I_GET }, |
|
|
95 |
{ "getlink", I_GETLINK }, |
| 94 |
{ "help", I_HELP }, |
96 |
{ "help", I_HELP }, |
| 95 |
{ "lcd", I_LCHDIR }, |
97 |
{ "lcd", I_LCHDIR }, |
| 96 |
{ "lchdir", I_LCHDIR }, |
98 |
{ "lchdir", I_LCHDIR }, |
|
Lines 126-131
Link Here
|
| 126 |
printf("chown own path Change owner of file 'path' to 'ow |
128 |
printf("chown own path Change owner of file 'path' to 'ow |
| 127 |
printf("help Display this help text\n"); |
129 |
printf("help Display this help text\n"); |
| 128 |
printf("get remote-path [local-path] Download file\n"); |
130 |
printf("get remote-path [local-path] Download file\n"); |
|
|
131 |
printf("getlink remote-path Download symlink\n"); |
| 129 |
printf("lls [ls-options [path]] Display local directory listing\n" |
132 |
printf("lls [ls-options [path]] Display local directory listing\n" |
| 130 |
printf("ln oldpath newpath Symlink remote file\n"); |
133 |
printf("ln oldpath newpath Symlink remote file\n"); |
| 131 |
printf("lmkdir path Create local directory\n"); |
134 |
printf("lmkdir path Create local directory\n"); |
|
Lines 582-587
Link Here
|
| 582 |
case I_CHDIR: |
585 |
case I_CHDIR: |
| 583 |
case I_LCHDIR: |
586 |
case I_LCHDIR: |
| 584 |
case I_LMKDIR: |
587 |
case I_LMKDIR: |
|
|
588 |
case I_GETLINK: |
| 585 |
/* Get pathname (mandatory) */ |
589 |
/* Get pathname (mandatory) */ |
| 586 |
if (get_pathname(&cp, path1)) |
590 |
if (get_pathname(&cp, path1)) |
| 587 |
return(-1); |
591 |
return(-1); |
|
Lines 683-688
Link Here
|
| 683 |
path2 = make_absolute(path2, *pwd); |
687 |
path2 = make_absolute(path2, *pwd); |
| 684 |
err = do_symlink(conn, path1, path2); |
688 |
err = do_symlink(conn, path1, path2); |
| 685 |
break; |
689 |
break; |
|
|
690 |
case I_GETLINK: |
| 691 |
path1 = make_absolute(path1, *pwd); |
| 692 |
err = do_getlink(conn, path1); |
| 693 |
break; |
| 686 |
case I_RM: |
694 |
case I_RM: |
| 687 |
path1 = make_absolute(path1, *pwd); |
695 |
path1 = make_absolute(path1, *pwd); |
| 688 |
remote_glob(conn, path1, GLOB_NOCHECK, NULL, &g); |
696 |
remote_glob(conn, path1, GLOB_NOCHECK, NULL, &g); |