Mercurial > hg > octave-nkf
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 |