diff options
Diffstat (limited to 'lib/libfetch/file.c')
-rw-r--r-- | lib/libfetch/file.c | 87 |
1 files changed, 7 insertions, 80 deletions
diff --git a/lib/libfetch/file.c b/lib/libfetch/file.c index 15cb043f52b1..0c685ef34f81 100644 --- a/lib/libfetch/file.c +++ b/lib/libfetch/file.c @@ -25,98 +25,25 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: file.c,v 1.3 1998/12/16 10:24:55 des Exp $ + * $Id$ */ -#include <sys/param.h> -#include <sys/stat.h> - -#include <dirent.h> #include <stdio.h> #include <string.h> #include "fetch.h" -#include "common.h" FILE * -fetchGetFile(struct url *u, char *flags) +fetchGetFile(url_t *u, char *flags) { - FILE *f; - - f = fopen(u->doc, "r"); - - if (f == NULL) - _fetch_syserr(); - return f; + flags = flags; /* unused */ + return fopen(u->doc, "r"); } FILE * -fetchPutFile(struct url *u, char *flags) +fetchPutFile(url_t *u, char *flags) { - FILE *f; - if (strchr(flags, 'a')) - f = fopen(u->doc, "a"); - else - f = fopen(u->doc, "w"); - - if (f == NULL) - _fetch_syserr(); - return f; -} - -static int -_fetch_stat_file(char *fn, struct url_stat *us) -{ - struct stat sb; - - if (stat(fn, &sb) == -1) { - _fetch_syserr(); - return -1; - } - us->size = sb.st_size; - us->atime = sb.st_atime; - us->mtime = sb.st_mtime; - return 0; -} - -int -fetchStatFile(struct url *u, struct url_stat *us, char *flags) -{ - return _fetch_stat_file(u->doc, us); -} - -struct url_ent * -fetchListFile(struct url *u, char *flags) -{ - DIR *dir; - struct dirent *de; - struct url_stat us; - struct url_ent *ue; - int size, len; - char fn[MAXPATHLEN], *p; - int l; - - if ((dir = opendir(u->doc)) == NULL) { - _fetch_syserr(); - return NULL; - } - - ue = NULL; - strncpy(fn, u->doc, sizeof fn - 2); - fn[sizeof fn - 2] = 0; - strcat(fn, "/"); - p = strchr(fn, 0); - l = sizeof fn - strlen(fn) - 1; - - while ((de = readdir(dir)) != NULL) { - strncpy(p, de->d_name, l - 1); - p[l - 1] = 0; - if (_fetch_stat_file(fn, &us) == -1) - /* should I return a partial result, or abort? */ - break; - _fetch_add_entry(&ue, &size, &len, de->d_name, &us); - } - - return ue; + return fopen(u->doc, "a"); + else return fopen(u->doc, "w"); } |