diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2002-01-20 19:52:25 +0000 | 
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2002-01-20 19:52:25 +0000 | 
| commit | e0583e0c2385421bb28207e39afeaf23b7f1ddb1 (patch) | |
| tree | 03a49454524af79f7a0d2b6833858bb448d054d0 /lib/libfetch/ftp.c | |
| parent | c3869e4bf101cfdadf3df20222b538724185e181 (diff) | |
Notes
Diffstat (limited to 'lib/libfetch/ftp.c')
| -rw-r--r-- | lib/libfetch/ftp.c | 8 | 
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c index 64d37b288028..36e95c31cf7e 100644 --- a/lib/libfetch/ftp.c +++ b/lib/libfetch/ftp.c @@ -911,7 +911,7 @@ FILE *  _ftp_request(struct url *url, const char *op, struct url_stat *us,  	     struct url *purl, const char *flags)  { -    int cd; +    int cd, oflag;      /* check if we should use HTTP instead */      if (purl && strcasecmp(purl->scheme, SCHEME_HTTP) == 0) { @@ -945,9 +945,13 @@ _ftp_request(struct url *url, const char *op, struct url_stat *us,      /* just a stat */      if (strcmp(op, "STAT") == 0)  	return (FILE *)1; /* bogus return value */ +    if (strcmp(op, "STOR") == 0 || strcmp(op, "APPE") == 0) +	oflag = O_WRONLY; +    else +	oflag = O_RDONLY;      /* initiate the transfer */ -    return _ftp_transfer(cd, op, url->doc, O_RDONLY, url->offset, flags); +    return _ftp_transfer(cd, op, url->doc, oflag, url->offset, flags);  }  /*  | 
