X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=fish%2Frc.c;h=a2bde4ae1cca3d999ff002d1c89ad57f7c9cd275;hp=dbaf9535a954f7d793ff20d59490cefa09f0cfb4;hb=692f127447d399db21c2e93026d4d2b0ac1839d1;hpb=c372c7c23a298a940b8a0868396ef2ae0d824e4d diff --git a/fish/rc.c b/fish/rc.c index dbaf953..a2bde4a 100644 --- a/fish/rc.c +++ b/fish/rc.c @@ -177,14 +177,15 @@ rc_listen (void) char sockpath[128]; pid_t pid; struct sockaddr_un addr; - int sock, s, i; + int sock, s; + size_t i; FILE *fp; XDR xdr, xdr2; guestfish_hello hello; guestfish_call call; guestfish_reply reply; char **argv; - int argc; + size_t argc; memset (&hello, 0, sizeof hello); memset (&call, 0, sizeof call); @@ -197,7 +198,12 @@ rc_listen (void) if (pid > 0) { /* Parent process. */ - printf ("export GUESTFISH_PID=%d\n", pid); + + if (!remote_control_csh) + printf ("GUESTFISH_PID=%d; export GUESTFISH_PID\n", pid); + else + printf ("setenv GUESTFISH_PID %d\n", pid); + fflush (stdout); _exit (0); } @@ -307,7 +313,7 @@ rc_listen (void) /* Remote control client. */ int -rc_remote (int pid, const char *cmd, int argc, char *argv[], +rc_remote (int pid, const char *cmd, size_t argc, char *argv[], int exit_on_error) { guestfish_hello hello;