aboutsummaryrefslogtreecommitdiffstats
path: root/gnu/libexec/uucp/uucico/send.c
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/libexec/uucp/uucico/send.c')
-rw-r--r--gnu/libexec/uucp/uucico/send.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/gnu/libexec/uucp/uucico/send.c b/gnu/libexec/uucp/uucico/send.c
index 63c9df660a8f..cf8b5b1bc98c 100644
--- a/gnu/libexec/uucp/uucico/send.c
+++ b/gnu/libexec/uucp/uucico/send.c
@@ -26,7 +26,7 @@
#include "uucp.h"
#if USE_RCS_ID
-const char send_rcsid[] = "$Id: send.c,v 1.46 1994/04/10 23:13:29 ian Rel $";
+const char send_rcsid[] = "$Id: send.c,v 1.2 1994/05/07 18:13:57 ache Exp $";
#endif
#include <errno.h>
@@ -346,9 +346,6 @@ flocal_send_fail (qtrans, qcmd, qdaemon, zwhy)
(void) fsysdep_did_work (qcmd->pseq);
- if (qtrans != NULL)
- usfree_send (qtrans);
-
return TRUE;
}
@@ -371,8 +368,12 @@ flocal_send_request (qtrans, qdaemon)
/* Make sure the file meets any remote size restrictions. */
if (qdaemon->cmax_receive != -1
&& qdaemon->cmax_receive < qinfo->cbytes)
- return flocal_send_fail (qtrans, &qtrans->s, qdaemon,
+ {
+ fret = flocal_send_fail (qtrans, &qtrans->s, qdaemon,
"too large for receiver");
+ usfree_send (qtrans);
+ return fret;
+ }
/* Make sure the file still exists--it may have been removed between
the conversation startup and now. After we have sent over the S
@@ -595,7 +596,10 @@ flocal_send_await_reply (qtrans, qdaemon, zdata, cdata)
{
if (! flocal_send_fail ((struct stransfer *) NULL, &qtrans->s,
qdaemon, zerr))
- return FALSE;
+ {
+ usfree_send (qtrans);
+ return FALSE;
+ }
}
/* If the protocol does not support multiple channels, we can
@@ -1036,6 +1040,8 @@ fremote_rec_fail_send (qtrans, qdaemon)
enum tfailure *ptinfo = (enum tfailure *) qtrans->pinfo;
const char *z;
boolean fret;
+ int ilocal = qtrans->ilocal;
+ int iremote = qtrans->iremote;
switch (*ptinfo)
{
@@ -1051,10 +1057,9 @@ fremote_rec_fail_send (qtrans, qdaemon)
break;
}
- fret = (*qdaemon->qproto->pfsendcmd) (qdaemon, z, qtrans->ilocal,
- qtrans->iremote);
xfree (qtrans->pinfo);
utransfree (qtrans);
+ fret = (*qdaemon->qproto->pfsendcmd) (qdaemon, z, ilocal, iremote);
return fret;
}