]> cygwin.com Git - cygwin-apps/setup.git/blame - nio-file.cc
2001-11-13 Robert Collins <rbtcollins@hotmail.com>
[cygwin-apps/setup.git] / nio-file.cc
CommitLineData
23c9e63c
DD
1/*
2 * Copyright (c) 2000, Red Hat, Inc.
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * A copy of the GNU General Public License can be found at
10 * http://www.gnu.org/
11 *
12 * Written by DJ Delorie <dj@cygnus.com>
13 *
14 */
15
16/* The purpose of this file is to manage access to files stored on the
17 local disk (i.e. "downloading" setup.ini). Called from netio.cc */
18
b24c88b3
RC
19#if 0
20static const char *cvsid =
21 "\n%%% $Id$\n";
22#endif
8507f105 23
23c9e63c
DD
24#include "win32.h"
25#include <stdio.h>
26#include <sys/types.h>
27#include <sys/stat.h>
28#include <errno.h>
29#include "netio.h"
30#include "nio-file.h"
31#include "resource.h"
32#include "msg.h"
c46a33a9 33#include "filemanip.h"
88bcaf07 34
b24c88b3
RC
35NetIO_File::NetIO_File (char *Purl):
36NetIO (Purl)
23c9e63c 37{
23c9e63c
DD
38 fd = fopen (path, "rb");
39 if (fd)
40 {
b24c88b3 41 file_size = get_file_size (path);
23c9e63c
DD
42 }
43 else
44 {
b24c88b3 45 const char *err = strerror (errno);
23c9e63c
DD
46 if (!err)
47 err = "(unknown error)";
48 note (IDS_ERR_OPEN_READ, path, err);
49 }
50}
51
52NetIO_File::~NetIO_File ()
53{
54 if (fd)
b24c88b3 55 fclose ((FILE *) fd);
23c9e63c
DD
56}
57
58int
59NetIO_File::ok ()
60{
61 return fd ? 1 : 0;
62}
63
64int
65NetIO_File::read (char *buf, int nbytes)
66{
b24c88b3 67 return fread (buf, 1, nbytes, (FILE *) fd);
23c9e63c 68}
This page took 0.033231 seconds and 5 git commands to generate.