MCPcopy Create free account
hub / github.com/PDAL/PDAL / CheckedFile

Method CheckedFile

plugins/e57/libE57Format/src/CheckedFile.cpp:183–223  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

181};
182
183CheckedFile::CheckedFile( const ustring &fileName, Mode mode, ReadChecksumPolicy policy ) :
184 fileName_( fileName ), checkSumPolicy_( policy )
185{
186 switch ( mode )
187 {
188 case Read:
189 {
190#if defined( _MSC_VER )
191 constexpr int readFlags = O_RDONLY | O_BINARY;
192#else
193 constexpr int readFlags = O_RDONLY;
194#endif
195
196 fd_ = open64( fileName_, readFlags, 0 );
197
198 readOnly_ = true;
199
200 physicalLength_ = lseek64( 0LL, SEEK_END );
201 lseek64( 0, SEEK_SET );
202
203 logicalLength_ = physicalToLogical( physicalLength_ );
204 }
205 break;
206
207 case Write:
208 {
209 // File truncated to zero length if already exists
210
211#if defined( _MSC_VER )
212 constexpr int writeFlags = O_RDWR | O_CREAT | O_TRUNC | O_BINARY;
213 constexpr int writeMode = S_IREAD | S_IWRITE;
214#else
215 constexpr int writeFlags = O_RDWR | O_CREAT | O_TRUNC;
216 constexpr int writeMode = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
217#endif
218
219 fd_ = open64( fileName_, writeFlags, writeMode );
220 }
221 break;
222 }
223}
224
225CheckedFile::CheckedFile( const char *input, uint64_t size, ReadChecksumPolicy policy ) :
226 fileName_( "<StreamBuffer>" ), checkSumPolicy_( policy )

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected