/* -*-c-*-
*
- * $Id: sw_rsh.c,v 1.8 2004/04/08 01:52:19 mdw Exp $
+ * $Id$
*
* Run remote commands
*
void swvprintf(sw_remote *r, const char *format, va_list ap)
{
dstr d = DSTR_INIT;
- dstr_vputf(&d, format, ap);
+ dstr_vputf(&d, format, &ap);
pksend(r, PKTYPE_DATA, d.buf, d.len);
dstr_destroy(&d);
}
va_start(ap, format);
dstr_putf(&d, "%s [remote]: ", QUIS);
- dstr_vputf(&d, format, ap);
+ dstr_vputf(&d, format, &ap);
dstr_putc(&d, '\n');
dstr_putz(&d);
va_end(ap);
sym_table t;
sym_create(&t);
env_import(&t, env);
- if (env != environ) {
+ if (env[0] && env != environ) {
free(env);
env_import(&t, environ);
}
r.fdin = 0;
r.fdout = 1;
- /* --- Read packets from the remote host --- */
+ /* --- Object if stdin is a terminal --- */
+
+ if (isatty(STDIN_FILENO)) {
+ die(EXIT_FAILURE,
+ "don't use the `--remote' option unless "
+ "you know what you're doing.");
+ }
+
+ /* --- Read packets from the remote host --- */
for (;;) {
int t = pkrecv(&r);