err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline != '2')
{
- free (respline);
+ xfree (respline);
return FTPSRVERR;
}
- free (respline);
+ xfree (respline);
/* Send USER username. */
request = ftp_request ("USER", acc);
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
/* An unprobable possibility of logging without a password. */
if (*respline == '2')
{
- free (respline);
+ xfree (respline);
return FTPOK;
}
/* Else, only response 3 is appropriate. */
if (*respline != '3')
{
- free (respline);
+ xfree (respline);
return FTPLOGREFUSED;
}
#ifdef USE_OPIE
else
{
bad:
- free (respline);
+ xfree (respline);
return FTPLOGREFUSED;
}
if ((cp = calculate_skey_response (skey_sequence, cp, pass)) == 0)
}
}
#endif /* USE_OPIE */
- free (respline);
+ xfree (respline);
/* Send PASS password. */
request = ftp_request ("PASS", pass);
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline != '2')
{
- free (respline);
+ xfree (respline);
return FTPLOGINC;
}
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline != '2')
{
- free (respline);
+ xfree (respline);
return FTPPORTERR;
}
- free (respline);
+ xfree (respline);
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get the server response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline != '2')
{
- free (respline);
+ xfree (respline);
return FTPNOPASV;
}
/* Parse the request. */
else if (i < 5)
{
/* When on the last number, anything can be a terminator. */
- free (respline);
+ xfree (respline);
return FTPINVPASV;
}
}
- free (respline);
+ xfree (respline);
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline != '2')
{
- free (respline);
+ xfree (respline);
return FTPUNKNOWNTYPE;
}
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline == '5')
{
- free (respline);
+ xfree (respline);
return FTPNSFOD;
}
if (*respline != '2')
{
- free (respline);
+ xfree (respline);
return FTPRERR;
}
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline != '3')
{
- free (respline);
+ xfree (respline);
return FTPRESTFAIL;
}
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline == '5')
{
- free (respline);
+ xfree (respline);
return FTPNSFOD;
}
if (*respline != '1')
{
- free (respline);
+ xfree (respline);
return FTPRERR;
}
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate respone. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline == '5')
{
- free (respline);
+ xfree (respline);
return FTPNSFOD;
}
if (*respline != '1')
{
- free (respline);
+ xfree (respline);
return FTPRERR;
}
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline == '5')
{
- free (respline);
+ xfree (respline);
return FTPSRVERR;
}
else
*host_type = ST_OTHER;
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
if (nwritten < 0)
{
- free (request);
+ xfree (request);
return WRITEFAILED;
}
- free (request);
+ xfree (request);
/* Get appropriate response. */
err = ftp_response (rbuf, &respline);
if (err != FTPOK)
{
- free (respline);
+ xfree (respline);
return err;
}
if (*respline == '5')
{
- free (respline);
+ xfree (respline);
return FTPSRVERR;
}
strtok (respline, "\"");
request = strtok (NULL, "\"");
- /* Has the `pwd' been already allocated? Free! */
- if (*pwd) free (*pwd);
+ /* Has the `pwd' been already allocated? Free! */
+ FREE_MAYBE (*pwd);
*pwd = xstrdup (request);
- free (respline);
+ xfree (respline);
/* All OK. */
return FTPOK;
}