comparison src/file-io.cc @ 334:6000e81b72b4

[project @ 1994-02-06 00:59:02 by jwe]
author jwe
date Sun, 06 Feb 1994 00:59:02 +0000
parents 6a81b9fb7957
children 04d377033730
comparison
equal deleted inserted replaced
333:b1cc443f0bd1 334:6000e81b72b4
65 const char *name (void) const; 65 const char *name (void) const;
66 FILE *fptr (void) const; 66 FILE *fptr (void) const;
67 const char *mode (void) const; 67 const char *mode (void) const;
68 68
69 private: 69 private:
70 int _number; 70 int file_number;
71 char *_name; 71 char *file_name;
72 FILE *_fptr; 72 FILE *file_fptr;
73 char *_mode; 73 char *file_mode;
74 }; 74 };
75 75
76 file_info::file_info (void) 76 file_info::file_info (void)
77 { 77 {
78 _number = -1; 78 file_number = -1;
79 _name = (char *) NULL; 79 file_name = (char *) NULL;
80 _fptr = (FILE *) NULL; 80 file_fptr = (FILE *) NULL;
81 _mode = (char *) NULL; 81 file_mode = (char *) NULL;
82 } 82 }
83 83
84 file_info::file_info (int n, const char *nm, FILE *t, const char *md) 84 file_info::file_info (int n, const char *nm, FILE *t, const char *md)
85 { 85 {
86 _number = n; 86 file_number = n;
87 _name = strsave (nm); 87 file_name = strsave (nm);
88 _fptr = t; 88 file_fptr = t;
89 _mode = strsave (md); 89 file_mode = strsave (md);
90 } 90 }
91 91
92 file_info::file_info (const file_info& f) 92 file_info::file_info (const file_info& f)
93 { 93 {
94 _number = f._number; 94 file_number = f._number;
95 _name = strsave (f._name); 95 file_name = strsave (f._name);
96 _fptr = f._fptr; 96 file_fptr = f._fptr;
97 _mode = strsave (f._mode); 97 file_mode = strsave (f._mode);
98 } 98 }
99 99
100 file_info& 100 file_info&
101 file_info::operator = (const file_info& f) 101 file_info::operator = (const file_info& f)
102 { 102 {
103 if (this != & f) 103 if (this != & f)
104 { 104 {
105 _number = f._number; 105 file_number = f._number;
106 delete [] _name; 106 delete [] file_name;
107 _name = strsave (f._name); 107 file_name = strsave (f.file_name);
108 _fptr = f._fptr; 108 file_fptr = f.file_fptr;
109 delete [] _mode; 109 delete [] file_mode;
110 _mode = strsave (f._mode); 110 file_mode = strsave (f.file_mode);
111 } 111 }
112 return *this; 112 return *this;
113 } 113 }
114 114
115 file_info::~file_info (void) 115 file_info::~file_info (void)
116 { 116 {
117 delete [] _name; 117 delete [] file_name;
118 delete [] _mode; 118 delete [] file_mode;
119 } 119 }
120 120
121 int 121 int
122 file_info::number (void) const 122 file_info::number (void) const
123 { 123 {
124 return _number; 124 return file_number;
125 } 125 }
126 126
127 const char * 127 const char *
128 file_info::name (void) const 128 file_info::name (void) const
129 { 129 {
130 return _name; 130 return file_name;
131 } 131 }
132 132
133 FILE * 133 FILE *
134 file_info::fptr (void) const 134 file_info::fptr (void) const
135 { 135 {
136 return _fptr; 136 return file_fptr;
137 } 137 }
138 138
139 const char * 139 const char *
140 file_info::mode (void) const 140 file_info::mode (void) const
141 { 141 {
142 return _mode; 142 return file_mode;
143 } 143 }
144 144
145 145
146 // double linked list containing relevant information about open files 146 // double linked list containing relevant information about open files
147 static DLList <file_info> file_list; 147 static DLList <file_info> file_list;
148 148
149 void 149 void
150 initialize_file_io (void) 150 initialize_file_io (void)
151 { 151 {
152 file_info _stdin (0, "stdin", stdin, "r"); 152 file_info octave_stdin (0, "stdin", stdin, "r");
153 file_info _stdout (1, "stdout", stdout, "w"); 153 file_info octave_stdout (1, "stdout", stdout, "w");
154 file_info _stderr (2, "stderr", stderr, "w"); 154 file_info octave_stderr (2, "stderr", stderr, "w");
155 155
156 file_list.append (_stdin); 156 file_list.append (octave_stdin);
157 file_list.append (_stdout); 157 file_list.append (octave_stdout);
158 file_list.append (_stderr); 158 file_list.append (octave_stderr);
159 159
160 file_count = 3; 160 file_count = 3;
161 } 161 }
162 162
163 Pix 163 Pix