diff options
author | ache <ache@FreeBSD.org> | 1996-11-14 09:51:47 +0000 |
---|---|---|
committer | ache <ache@FreeBSD.org> | 1996-11-14 09:51:47 +0000 |
commit | 77969d83adf0e54ed39b701c3b6a52abd708848b (patch) | |
tree | 743fd634de1111de9857601a8d68c17614975398 /lib/libftpio/ftpio.c | |
parent | a48acddc8fb03f1dae5c0e555514f1d7e1c879c7 (diff) | |
download | FreeBSD-src-77969d83adf0e54ed39b701c3b6a52abd708848b.zip FreeBSD-src-77969d83adf0e54ed39b701c3b6a52abd708848b.tar.gz |
Oops, back out previous optimization, don't work as I expect
(lack of sleep)
Diffstat (limited to 'lib/libftpio/ftpio.c')
-rw-r--r-- | lib/libftpio/ftpio.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/lib/libftpio/ftpio.c b/lib/libftpio/ftpio.c index 447d71a..df8e659 100644 --- a/lib/libftpio/ftpio.c +++ b/lib/libftpio/ftpio.c @@ -357,17 +357,25 @@ ftpPutURL(char *url, char *user, char *passwd, int *retcode) { char host[255], name[255]; int port; - FILE *fp, *fp2; + static FILE *fp = NULL; + FILE *fp2; if (retcode) *retcode = 0; + if (fp) { /* Close previous managed connection */ + fclose(fp); + fp = NULL; + } if (get_url_info(url, host, &port, name) == SUCCESS) { fp = ftpLogin(host, user, passwd, port, 0, retcode); if (fp) { fp2 = ftpPut(fp, name); - if (!fp2 && retcode) - *retcode = ftpErrno(fp); - fclose(fp); + if (!fp2) { + if (retcode) + *retcode = ftpErrno(fp); + fclose(fp); + fp = NULL; + } return fp2; } } |