Line | Source Code | Coverage |
---|
1 | | - |
2 | | - |
3 | | - |
4 | | - |
5 | | - |
6 | | - |
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | QFilePrivate::QFilePrivate() | - |
12 | { | - |
13 | } | - |
14 | | - |
15 | QFilePrivate::~QFilePrivate() | - |
16 | { | - |
17 | } | - |
18 | | - |
19 | bool | - |
20 | QFilePrivate::openExternalFile(int flags, int fd, QFile::FileHandleFlags handleFlags) | - |
21 | { | - |
22 | | - |
23 | | - |
24 | | - |
25 | | - |
26 | | - |
27 | delete fileEngine; | - |
28 | fileEngine = 0; | - |
29 | QFSFileEngine *fe = new QFSFileEngine; | - |
30 | fileEngine = fe; | - |
31 | return fe->open(QIODevice::OpenMode(flags), fd, handleFlags); executed: return fe->open(QIODevice::OpenMode(flags), fd, handleFlags); Execution Count:30 | 30 |
32 | | - |
33 | } | - |
34 | | - |
35 | bool | - |
36 | QFilePrivate::openExternalFile(int flags, FILE *fh, QFile::FileHandleFlags handleFlags) | - |
37 | { | - |
38 | | - |
39 | | - |
40 | | - |
41 | | - |
42 | | - |
43 | delete fileEngine; | - |
44 | fileEngine = 0; | - |
45 | QFSFileEngine *fe = new QFSFileEngine; | - |
46 | fileEngine = fe; | - |
47 | return fe->open(QIODevice::OpenMode(flags), fh, handleFlags); executed: return fe->open(QIODevice::OpenMode(flags), fh, handleFlags); Execution Count:31 | 31 |
48 | | - |
49 | } | - |
50 | | - |
51 | QAbstractFileEngine *QFilePrivate::engine() const | - |
52 | { | - |
53 | if (!fileEngine) evaluated: !fileEngine yes Evaluation Count:26377 | yes Evaluation Count:195768 |
| 26377-195768 |
54 | fileEngine = QAbstractFileEngine::create(fileName); executed: fileEngine = QAbstractFileEngine::create(fileName); Execution Count:26377 | 26377 |
55 | return fileEngine; executed: return fileEngine; Execution Count:222145 | 222145 |
56 | } | - |
57 | QFile::QFile() | - |
58 | : QFileDevice(*new QFilePrivate, 0) | - |
59 | { | - |
60 | } executed: } Execution Count:157 | 157 |
61 | | - |
62 | | - |
63 | | - |
64 | QFile::QFile(QObject *parent) | - |
65 | : QFileDevice(*new QFilePrivate, parent) | - |
66 | { | - |
67 | } executed: } Execution Count:1 | 1 |
68 | | - |
69 | | - |
70 | | - |
71 | QFile::QFile(const QString &name) | - |
72 | : QFileDevice(*new QFilePrivate, 0) | - |
73 | { | - |
74 | QFilePrivate * const d = d_func(); | - |
75 | d->fileName = name; | - |
76 | } executed: } Execution Count:25098 | 25098 |
77 | | - |
78 | | - |
79 | | - |
80 | | - |
81 | QFile::QFile(const QString &name, QObject *parent) | - |
82 | : QFileDevice(*new QFilePrivate, parent) | - |
83 | { | - |
84 | QFilePrivate * const d = d_func(); | - |
85 | d->fileName = name; | - |
86 | } executed: } Execution Count:1 | 1 |
87 | | - |
88 | | - |
89 | | - |
90 | QFile::QFile(QFilePrivate &dd, QObject *parent) | - |
91 | : QFileDevice(dd, parent) | - |
92 | { | - |
93 | } executed: } Execution Count:1482 | 1482 |
94 | | - |
95 | | - |
96 | | - |
97 | | - |
98 | | - |
99 | QFile::~QFile() | - |
100 | { | - |
101 | } | - |
102 | | - |
103 | | - |
104 | | - |
105 | | - |
106 | | - |
107 | | - |
108 | | - |
109 | QString QFile::fileName() const | - |
110 | { | - |
111 | const QFilePrivate * const d = d_func(); | - |
112 | return d->engine()->fileName(QAbstractFileEngine::DefaultName); executed: return d->engine()->fileName(QAbstractFileEngine::DefaultName); Execution Count:3118 | 3118 |
113 | } | - |
114 | void | - |
115 | QFile::setFileName(const QString &name) | - |
116 | { | - |
117 | QFilePrivate * const d = d_func(); | - |
118 | if (isOpen()) { partially evaluated: isOpen() no Evaluation Count:0 | yes Evaluation Count:1325 |
| 0-1325 |
119 | QMessageLogger("io/qfile.cpp", 318, __PRETTY_FUNCTION__).warning("QFile::setFileName: File (%s) is already opened", | - |
120 | QString(fileName()).toLocal8Bit().constData()); | - |
121 | close(); | - |
122 | } | 0 |
123 | if(d->fileEngine) { evaluated: d->fileEngine yes Evaluation Count:1217 | yes Evaluation Count:108 |
| 108-1217 |
124 | delete d->fileEngine; | - |
125 | d->fileEngine = 0; | - |
126 | } executed: } Execution Count:1217 | 1217 |
127 | d->fileName = name; | - |
128 | } executed: } Execution Count:1325 | 1325 |
129 | bool | - |
130 | QFile::exists() const | - |
131 | { | - |
132 | const QFilePrivate * const d = d_func(); | - |
133 | | - |
134 | return (d->engine()->fileFlags(QAbstractFileEngine::FlagsMask | 4670 |
135 | | QAbstractFileEngine::FileFlag(0x1000000)) & QAbstractFileEngine::ExistsFlag); executed: return (d->engine()->fileFlags(QAbstractFileEngine::FlagsMask | QAbstractFileEngine::FileFlag(0x1000000)) & QAbstractFileEngine::ExistsFlag); Execution Count:4670 | 4670 |
136 | } | - |
137 | | - |
138 | | - |
139 | | - |
140 | | - |
141 | | - |
142 | | - |
143 | bool | - |
144 | QFile::exists(const QString &fileName) | - |
145 | { | - |
146 | return QFileInfo(fileName).exists(); executed: return QFileInfo(fileName).exists(); Execution Count:2915 | 2915 |
147 | } | - |
148 | QString | - |
149 | QFile::readLink() const | - |
150 | { | - |
151 | const QFilePrivate * const d = d_func(); | - |
152 | return d->engine()->fileName(QAbstractFileEngine::LinkName); executed: return d->engine()->fileName(QAbstractFileEngine::LinkName); Execution Count:2 | 2 |
153 | } | - |
154 | QString | - |
155 | QFile::readLink(const QString &fileName) | - |
156 | { | - |
157 | return QFileInfo(fileName).readLink(); executed: return QFileInfo(fileName).readLink(); Execution Count:1 | 1 |
158 | } | - |
159 | bool | - |
160 | QFile::remove() | - |
161 | { | - |
162 | QFilePrivate * const d = d_func(); | - |
163 | if (d->fileName.isEmpty()) { partially evaluated: d->fileName.isEmpty() no Evaluation Count:0 | yes Evaluation Count:5493 |
| 0-5493 |
164 | QMessageLogger("io/qfile.cpp", 495, __PRETTY_FUNCTION__).warning("QFile::remove: Empty or null file name"); | - |
165 | return false; never executed: return false; | 0 |
166 | } | - |
167 | unsetError(); | - |
168 | close(); | - |
169 | if(error() == QFile::NoError) { partially evaluated: error() == QFile::NoError yes Evaluation Count:5493 | no Evaluation Count:0 |
| 0-5493 |
170 | if (d->engine()->remove()) { evaluated: d->engine()->remove() yes Evaluation Count:4879 | yes Evaluation Count:614 |
| 614-4879 |
171 | unsetError(); | - |
172 | return true; executed: return true; Execution Count:4879 | 4879 |
173 | } | - |
174 | d->setError(QFile::RemoveError, d->fileEngine->errorString()); | - |
175 | } executed: } Execution Count:614 | 614 |
176 | return false; executed: return false; Execution Count:614 | 614 |
177 | } | - |
178 | bool | - |
179 | QFile::remove(const QString &fileName) | - |
180 | { | - |
181 | return QFile(fileName).remove(); executed: return QFile(fileName).remove(); Execution Count:4326 | 4326 |
182 | } | - |
183 | bool | - |
184 | QFile::rename(const QString &newName) | - |
185 | { | - |
186 | QFilePrivate * const d = d_func(); | - |
187 | if (d->fileName.isEmpty()) { partially evaluated: d->fileName.isEmpty() no Evaluation Count:0 | yes Evaluation Count:210 |
| 0-210 |
188 | QMessageLogger("io/qfile.cpp", 548, __PRETTY_FUNCTION__).warning("QFile::rename: Empty or null file name"); | - |
189 | return false; never executed: return false; | 0 |
190 | } | - |
191 | if (QFile(newName).exists()) { evaluated: QFile(newName).exists() yes Evaluation Count:6 | yes Evaluation Count:204 |
| 6-204 |
192 | | - |
193 | | - |
194 | | - |
195 | d->setError(QFile::RenameError, tr("Destination file exists")); | - |
196 | return false; executed: return false; Execution Count:6 | 6 |
197 | } | - |
198 | unsetError(); | - |
199 | close(); | - |
200 | if(error() == QFile::NoError) { partially evaluated: error() == QFile::NoError yes Evaluation Count:204 | no Evaluation Count:0 |
| 0-204 |
201 | if (d->engine()->rename(newName)) { evaluated: d->engine()->rename(newName) yes Evaluation Count:199 | yes Evaluation Count:5 |
| 5-199 |
202 | unsetError(); | - |
203 | | - |
204 | d->fileEngine->setFileName(newName); | - |
205 | d->fileName = newName; | - |
206 | return true; executed: return true; Execution Count:199 | 199 |
207 | } | - |
208 | | - |
209 | if (isSequential()) { evaluated: isSequential() yes Evaluation Count:1 | yes Evaluation Count:4 |
| 1-4 |
210 | d->setError(QFile::RenameError, tr("Will not rename sequential file using block copy")); | - |
211 | return false; executed: return false; Execution Count:1 | 1 |
212 | } | - |
213 | | - |
214 | QFile out(newName); | - |
215 | if (open(QIODevice::ReadOnly)) { partially evaluated: open(QIODevice::ReadOnly) yes Evaluation Count:4 | no Evaluation Count:0 |
| 0-4 |
216 | if (out.open(QIODevice::WriteOnly | QIODevice::Truncate)) { evaluated: out.open(QIODevice::WriteOnly | QIODevice::Truncate) yes Evaluation Count:1 | yes Evaluation Count:3 |
| 1-3 |
217 | bool error = false; | - |
218 | char block[4096]; | - |
219 | qint64 bytes; | - |
220 | while ((bytes = read(block, sizeof(block))) > 0) { evaluated: (bytes = read(block, sizeof(block))) > 0 yes Evaluation Count:1 | yes Evaluation Count:1 |
| 1 |
221 | if (bytes != out.write(block, bytes)) { partially evaluated: bytes != out.write(block, bytes) no Evaluation Count:0 | yes Evaluation Count:1 |
| 0-1 |
222 | d->setError(QFile::RenameError, out.errorString()); | - |
223 | error = true; | - |
224 | break; | 0 |
225 | } | - |
226 | } executed: } Execution Count:1 | 1 |
227 | if (bytes == -1) { partially evaluated: bytes == -1 no Evaluation Count:0 | yes Evaluation Count:1 |
| 0-1 |
228 | d->setError(QFile::RenameError, errorString()); | - |
229 | error = true; | - |
230 | } | 0 |
231 | if(!error) { partially evaluated: !error yes Evaluation Count:1 | no Evaluation Count:0 |
| 0-1 |
232 | if (!remove()) { partially evaluated: !remove() yes Evaluation Count:1 | no Evaluation Count:0 |
| 0-1 |
233 | d->setError(QFile::RenameError, tr("Cannot remove source file")); | - |
234 | error = true; | - |
235 | } executed: } Execution Count:1 | 1 |
236 | } executed: } Execution Count:1 | 1 |
237 | if (error) { partially evaluated: error yes Evaluation Count:1 | no Evaluation Count:0 |
| 0-1 |
238 | out.remove(); | - |
239 | } else { executed: } Execution Count:1 | 1 |
240 | d->fileEngine->setFileName(newName); | - |
241 | setPermissions(permissions()); | - |
242 | unsetError(); | - |
243 | setFileName(newName); | - |
244 | } | 0 |
245 | close(); | - |
246 | return !error; executed: return !error; Execution Count:1 | 1 |
247 | } | - |
248 | close(); | - |
249 | } executed: } Execution Count:3 | 3 |
250 | d->setError(QFile::RenameError, out.isOpen() ? errorString() : out.errorString()); | - |
251 | } executed: } Execution Count:3 | 3 |
252 | return false; executed: return false; Execution Count:3 | 3 |
253 | } | - |
254 | bool | - |
255 | QFile::rename(const QString &oldName, const QString &newName) | - |
256 | { | - |
257 | return QFile(oldName).rename(newName); executed: return QFile(oldName).rename(newName); Execution Count:7 | 7 |
258 | } | - |
259 | bool | - |
260 | QFile::link(const QString &linkName) | - |
261 | { | - |
262 | QFilePrivate * const d = d_func(); | - |
263 | if (d->fileName.isEmpty()) { partially evaluated: d->fileName.isEmpty() no Evaluation Count:0 | yes Evaluation Count:145 |
| 0-145 |
264 | QMessageLogger("io/qfile.cpp", 654, __PRETTY_FUNCTION__).warning("QFile::link: Empty or null file name"); | - |
265 | return false; never executed: return false; | 0 |
266 | } | - |
267 | QFileInfo fi(linkName); | - |
268 | if (d->engine()->link(fi.absoluteFilePath())) { partially evaluated: d->engine()->link(fi.absoluteFilePath()) yes Evaluation Count:145 | no Evaluation Count:0 |
| 0-145 |
269 | unsetError(); | - |
270 | return true; executed: return true; Execution Count:145 | 145 |
271 | } | - |
272 | d->setError(QFile::RenameError, d->fileEngine->errorString()); | - |
273 | return false; never executed: return false; | 0 |
274 | } | - |
275 | bool | - |
276 | QFile::link(const QString &fileName, const QString &linkName) | - |
277 | { | - |
278 | return QFile(fileName).link(linkName); executed: return QFile(fileName).link(linkName); Execution Count:143 | 143 |
279 | } | - |
280 | bool | - |
281 | QFile::copy(const QString &newName) | - |
282 | { | - |
283 | QFilePrivate * const d = d_func(); | - |
284 | if (d->fileName.isEmpty()) { partially evaluated: d->fileName.isEmpty() no Evaluation Count:0 | yes Evaluation Count:101 |
| 0-101 |
285 | QMessageLogger("io/qfile.cpp", 700, __PRETTY_FUNCTION__).warning("QFile::copy: Empty or null file name"); | - |
286 | return false; never executed: return false; | 0 |
287 | } | - |
288 | if (QFile(newName).exists()) { evaluated: QFile(newName).exists() yes Evaluation Count:3 | yes Evaluation Count:98 |
| 3-98 |
289 | | - |
290 | | - |
291 | | - |
292 | d->setError(QFile::CopyError, tr("Destination file exists")); | - |
293 | return false; executed: return false; Execution Count:3 | 3 |
294 | } | - |
295 | unsetError(); | - |
296 | close(); | - |
297 | if(error() == QFile::NoError) { partially evaluated: error() == QFile::NoError yes Evaluation Count:98 | no Evaluation Count:0 |
| 0-98 |
298 | if (d->engine()->copy(newName)) { partially evaluated: d->engine()->copy(newName) no Evaluation Count:0 | yes Evaluation Count:98 |
| 0-98 |
299 | unsetError(); | - |
300 | return true; never executed: return true; | 0 |
301 | } else { | - |
302 | bool error = false; | - |
303 | if(!open(QFile::ReadOnly)) { evaluated: !open(QFile::ReadOnly) yes Evaluation Count:1 | yes Evaluation Count:97 |
| 1-97 |
304 | error = true; | - |
305 | d->setError(QFile::CopyError, tr("Cannot open %1 for input").arg(d->fileName)); | - |
306 | } else { executed: } Execution Count:1 | 1 |
307 | QString fileTemplate = QLatin1String("%1/qt_temp.XXXXXX"); | - |
308 | | - |
309 | | - |
310 | | - |
311 | | - |
312 | | - |
313 | QTemporaryFile out(fileTemplate.arg(QFileInfo(newName).path())); | - |
314 | if (!out.open()) { partially evaluated: !out.open() no Evaluation Count:0 | yes Evaluation Count:97 |
| 0-97 |
315 | out.setFileTemplate(fileTemplate.arg(QDir::tempPath())); | - |
316 | if (!out.open()) never evaluated: !out.open() | 0 |
317 | error = true; never executed: error = true; | 0 |
318 | } | 0 |
319 | | - |
320 | if (error) { partially evaluated: error no Evaluation Count:0 | yes Evaluation Count:97 |
| 0-97 |
321 | out.close(); | - |
322 | close(); | - |
323 | d->setError(QFile::CopyError, tr("Cannot open for output")); | - |
324 | } else { | 0 |
325 | char block[4096]; | - |
326 | qint64 totalRead = 0; | - |
327 | while(!atEnd()) { evaluated: !atEnd() yes Evaluation Count:771 | yes Evaluation Count:97 |
| 97-771 |
328 | qint64 in = read(block, sizeof(block)); | - |
329 | if (in <= 0) partially evaluated: in <= 0 no Evaluation Count:0 | yes Evaluation Count:771 |
| 0-771 |
330 | break; | 0 |
331 | totalRead += in; | - |
332 | if(in != out.write(block, in)) { partially evaluated: in != out.write(block, in) no Evaluation Count:0 | yes Evaluation Count:771 |
| 0-771 |
333 | close(); | - |
334 | d->setError(QFile::CopyError, tr("Failure to write block")); | - |
335 | error = true; | - |
336 | break; | 0 |
337 | } | - |
338 | } executed: } Execution Count:771 | 771 |
339 | | - |
340 | if (totalRead != size()) { partially evaluated: totalRead != size() no Evaluation Count:0 | yes Evaluation Count:97 |
| 0-97 |
341 | | - |
342 | | - |
343 | error = true; | - |
344 | } | 0 |
345 | if (!error && !out.rename(newName)) { partially evaluated: !error yes Evaluation Count:97 | no Evaluation Count:0 |
partially evaluated: !out.rename(newName) no Evaluation Count:0 | yes Evaluation Count:97 |
| 0-97 |
346 | error = true; | - |
347 | close(); | - |
348 | d->setError(QFile::CopyError, tr("Cannot create %1 for output").arg(newName)); | - |
349 | } | 0 |
350 | | - |
351 | | - |
352 | | - |
353 | | - |
354 | if (!error) partially evaluated: !error yes Evaluation Count:97 | no Evaluation Count:0 |
| 0-97 |
355 | out.setAutoRemove(false); executed: out.setAutoRemove(false); Execution Count:97 | 97 |
356 | | - |
357 | } executed: } Execution Count:97 | 97 |
358 | } | - |
359 | if(!error) { evaluated: !error yes Evaluation Count:97 | yes Evaluation Count:1 |
| 1-97 |
360 | QFile::setPermissions(newName, permissions()); | - |
361 | close(); | - |
362 | unsetError(); | - |
363 | return true; executed: return true; Execution Count:97 | 97 |
364 | } | - |
365 | } executed: } Execution Count:1 | 1 |
366 | } | - |
367 | return false; executed: return false; Execution Count:1 | 1 |
368 | } | - |
369 | bool | - |
370 | QFile::copy(const QString &fileName, const QString &newName) | - |
371 | { | - |
372 | return QFile(fileName).copy(newName); executed: return QFile(fileName).copy(newName); Execution Count:92 | 92 |
373 | } | - |
374 | bool QFile::open(OpenMode mode) | - |
375 | { | - |
376 | QFilePrivate * const d = d_func(); | - |
377 | if (isOpen()) { partially evaluated: isOpen() no Evaluation Count:0 | yes Evaluation Count:20816 |
| 0-20816 |
378 | QMessageLogger("io/qfile.cpp", 821, __PRETTY_FUNCTION__).warning("QFile::open: File (%s) already open", QString(fileName()).toLocal8Bit().constData()); | - |
379 | return false; never executed: return false; | 0 |
380 | } | - |
381 | if (mode & Append) evaluated: mode & Append yes Evaluation Count:248 | yes Evaluation Count:20568 |
| 248-20568 |
382 | mode |= WriteOnly; executed: mode |= WriteOnly; Execution Count:248 | 248 |
383 | | - |
384 | unsetError(); | - |
385 | if ((mode & (ReadOnly | WriteOnly)) == 0) { partially evaluated: (mode & (ReadOnly | WriteOnly)) == 0 no Evaluation Count:0 | yes Evaluation Count:20816 |
| 0-20816 |
386 | QMessageLogger("io/qfile.cpp", 829, __PRETTY_FUNCTION__).warning("QIODevice::open: File access not specified"); | - |
387 | return false; never executed: return false; | 0 |
388 | } | - |
389 | | - |
390 | | - |
391 | if (d->engine()->open(mode | QIODevice::Unbuffered)) { evaluated: d->engine()->open(mode | QIODevice::Unbuffered) yes Evaluation Count:17731 | yes Evaluation Count:3085 |
| 3085-17731 |
392 | QIODevice::open(mode); | - |
393 | if (mode & Append) evaluated: mode & Append yes Evaluation Count:247 | yes Evaluation Count:17484 |
| 247-17484 |
394 | seek(size()); executed: seek(size()); Execution Count:247 | 247 |
395 | return true; executed: return true; Execution Count:17731 | 17731 |
396 | } | - |
397 | QFile::FileError err = d->fileEngine->error(); | - |
398 | if(err == QFile::UnspecifiedError) evaluated: err == QFile::UnspecifiedError yes Evaluation Count:164 | yes Evaluation Count:2921 |
| 164-2921 |
399 | err = QFile::OpenError; executed: err = QFile::OpenError; Execution Count:164 | 164 |
400 | d->setError(err, d->fileEngine->errorString()); | - |
401 | return false; executed: return false; Execution Count:3085 | 3085 |
402 | } | - |
403 | bool QFile::open(FILE *fh, OpenMode mode, FileHandleFlags handleFlags) | - |
404 | { | - |
405 | QFilePrivate * const d = d_func(); | - |
406 | if (isOpen()) { partially evaluated: isOpen() no Evaluation Count:0 | yes Evaluation Count:31 |
| 0-31 |
407 | QMessageLogger("io/qfile.cpp", 895, __PRETTY_FUNCTION__).warning("QFile::open: File (%s) already open", QString(fileName()).toLocal8Bit().constData()); | - |
408 | return false; never executed: return false; | 0 |
409 | } | - |
410 | if (mode & Append) partially evaluated: mode & Append no Evaluation Count:0 | yes Evaluation Count:31 |
| 0-31 |
411 | mode |= WriteOnly; never executed: mode |= WriteOnly; | 0 |
412 | unsetError(); | - |
413 | if ((mode & (ReadOnly | WriteOnly)) == 0) { partially evaluated: (mode & (ReadOnly | WriteOnly)) == 0 no Evaluation Count:0 | yes Evaluation Count:31 |
| 0-31 |
414 | QMessageLogger("io/qfile.cpp", 902, __PRETTY_FUNCTION__).warning("QFile::open: File access not specified"); | - |
415 | return false; never executed: return false; | 0 |
416 | } | - |
417 | if (d->openExternalFile(mode, fh, handleFlags)) { partially evaluated: d->openExternalFile(mode, fh, handleFlags) yes Evaluation Count:31 | no Evaluation Count:0 |
| 0-31 |
418 | QIODevice::open(mode); | - |
419 | if (!(mode & Append) && !isSequential()) { partially evaluated: !(mode & Append) yes Evaluation Count:31 | no Evaluation Count:0 |
evaluated: !isSequential() yes Evaluation Count:27 | yes Evaluation Count:4 |
| 0-31 |
420 | qint64 pos = (qint64)::ftello64(fh); | - |
421 | if (pos != -1) { partially evaluated: pos != -1 yes Evaluation Count:27 | no Evaluation Count:0 |
| 0-27 |
422 | | - |
423 | QIODevice::seek(pos); | - |
424 | } executed: } Execution Count:27 | 27 |
425 | } executed: } Execution Count:27 | 27 |
426 | return true; executed: return true; Execution Count:31 | 31 |
427 | } | - |
428 | return false; never executed: return false; | 0 |
429 | } | - |
430 | bool QFile::open(int fd, OpenMode mode, FileHandleFlags handleFlags) | - |
431 | { | - |
432 | QFilePrivate * const d = d_func(); | - |
433 | if (isOpen()) { partially evaluated: isOpen() no Evaluation Count:0 | yes Evaluation Count:30 |
| 0-30 |
434 | QMessageLogger("io/qfile.cpp", 954, __PRETTY_FUNCTION__).warning("QFile::open: File (%s) already open", QString(fileName()).toLocal8Bit().constData()); | - |
435 | return false; never executed: return false; | 0 |
436 | } | - |
437 | if (mode & Append) partially evaluated: mode & Append no Evaluation Count:0 | yes Evaluation Count:30 |
| 0-30 |
438 | mode |= WriteOnly; never executed: mode |= WriteOnly; | 0 |
439 | unsetError(); | - |
440 | if ((mode & (ReadOnly | WriteOnly)) == 0) { partially evaluated: (mode & (ReadOnly | WriteOnly)) == 0 no Evaluation Count:0 | yes Evaluation Count:30 |
| 0-30 |
441 | QMessageLogger("io/qfile.cpp", 961, __PRETTY_FUNCTION__).warning("QFile::open: File access not specified"); | - |
442 | return false; never executed: return false; | 0 |
443 | } | - |
444 | if (d->openExternalFile(mode, fd, handleFlags)) { partially evaluated: d->openExternalFile(mode, fd, handleFlags) yes Evaluation Count:30 | no Evaluation Count:0 |
| 0-30 |
445 | QIODevice::open(mode); | - |
446 | if (!(mode & Append) && !isSequential()) { partially evaluated: !(mode & Append) yes Evaluation Count:30 | no Evaluation Count:0 |
evaluated: !isSequential() yes Evaluation Count:24 | yes Evaluation Count:6 |
| 0-30 |
447 | qint64 pos = (qint64)::lseek64(fd, off64_t(0), 1); | - |
448 | if (pos != -1) { partially evaluated: pos != -1 yes Evaluation Count:24 | no Evaluation Count:0 |
| 0-24 |
449 | | - |
450 | QIODevice::seek(pos); | - |
451 | } executed: } Execution Count:24 | 24 |
452 | } executed: } Execution Count:24 | 24 |
453 | return true; executed: return true; Execution Count:30 | 30 |
454 | } | - |
455 | return false; never executed: return false; | 0 |
456 | } | - |
457 | | - |
458 | | - |
459 | | - |
460 | | - |
461 | bool QFile::resize(qint64 sz) | - |
462 | { | - |
463 | return QFileDevice::resize(sz); executed: return QFileDevice::resize(sz); Execution Count:730 | 730 |
464 | } | - |
465 | bool | - |
466 | QFile::resize(const QString &fileName, qint64 sz) | - |
467 | { | - |
468 | return QFile(fileName).resize(sz); executed: return QFile(fileName).resize(sz); Execution Count:3 | 3 |
469 | } | - |
470 | | - |
471 | | - |
472 | | - |
473 | | - |
474 | QFile::Permissions QFile::permissions() const | - |
475 | { | - |
476 | return QFileDevice::permissions(); executed: return QFileDevice::permissions(); Execution Count:226 | 226 |
477 | } | - |
478 | QFile::Permissions | - |
479 | QFile::permissions(const QString &fileName) | - |
480 | { | - |
481 | return QFile(fileName).permissions(); executed: return QFile(fileName).permissions(); Execution Count:9 | 9 |
482 | } | - |
483 | bool QFile::setPermissions(Permissions permissions) | - |
484 | { | - |
485 | return QFileDevice::setPermissions(permissions); executed: return QFileDevice::setPermissions(permissions); Execution Count:515 | 515 |
486 | } | - |
487 | | - |
488 | | - |
489 | | - |
490 | | - |
491 | | - |
492 | | - |
493 | | - |
494 | bool | - |
495 | QFile::setPermissions(const QString &fileName, Permissions permissions) | - |
496 | { | - |
497 | return QFile(fileName).setPermissions(permissions); executed: return QFile(fileName).setPermissions(permissions); Execution Count:119 | 119 |
498 | } | - |
499 | | - |
500 | | - |
501 | | - |
502 | | - |
503 | qint64 QFile::size() const | - |
504 | { | - |
505 | return QFileDevice::size(); executed: return QFileDevice::size(); Execution Count:122189 | 122189 |
506 | } | - |
507 | | - |
508 | | - |
509 | | - |
| | |