X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=fish%2Frc.c;h=31f5c6473bc543e7dcadfdff76fb3a5c12a8fe4d;hb=be7cb789069afc93e7c1b0e7a1a9a293dc846d45;hp=2d2f22778a29a18ce8155593786b697fd4ad0da9;hpb=633ae13c80d40b0f30db73e520c08cf365d2f8a3;p=libguestfs.git diff --git a/fish/rc.c b/fish/rc.c index 2d2f227..31f5c64 100644 --- a/fish/rc.c +++ b/fish/rc.c @@ -13,7 +13,7 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ #include @@ -71,6 +71,7 @@ receive_stdout (int s) } /* Don't specify a source */ + memset (&msg, 0, sizeof msg); msg.msg_name = NULL; msg.msg_namelen = 0; @@ -118,6 +119,7 @@ send_stdout (int s) char buf[1]; /* Don't specify a destination */ + memset (&msg, 0, sizeof msg); msg.msg_name = NULL; msg.msg_namelen = 0; @@ -198,7 +200,12 @@ rc_listen (void) if (pid > 0) { /* Parent process. */ - printf ("GUESTFISH_PID=%d; export GUESTFISH_PID\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); } @@ -279,7 +286,7 @@ rc_listen (void) } /* Run the command. */ - reply.r = issue_command (call.cmd, argv, NULL); + reply.r = issue_command (call.cmd, argv, NULL, 0); xdr_free ((xdrproc_t) xdr_guestfish_call, (char *) &call);