qhttpmultipart.cpp

Absolute File Name:/home/qt/qt5_coco/qt5/qtbase/src/network/access/qhttpmultipart.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2-
3QHttpPart::QHttpPart() : d(new QHttpPartPrivate)-
4{-
5}
executed 36 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
36
6-
7-
8-
9-
10QHttpPart::QHttpPart(const QHttpPart &other) : d(other.d)-
11{-
12}
executed 51 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
51
13-
14-
15-
16-
17QHttpPart::~QHttpPart()-
18{-
19 d = 0;-
20}
executed 72 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
72
21-
22-
23-
24-
25QHttpPart &QHttpPart::operator=(const QHttpPart &other)-
26{-
27 d = other.d;-
28 return
never executed: return *this;
*this;
never executed: return *this;
0
29}-
30bool QHttpPart::operator==(const QHttpPart &other) const-
31{-
32 return
never executed: return d == other.d || *d == *other.d;
d == other.d || *d == *other.d;
never executed: return d == other.d || *d == *other.d;
0
33}-
34void QHttpPart::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)-
35{-
36 d->setCookedHeader(header, value);-
37}
executed 72 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
72
38void QHttpPart::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)-
39{-
40 d->setRawHeader(headerName, headerValue);-
41}
executed 26 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
26
42void QHttpPart::setBody(const QByteArray &body)-
43{-
44 d->setBody(body);-
45}
executed 18 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
18
46void QHttpPart::setBodyDevice(QIODevice *device)-
47{-
48 d->setBodyDevice(device);-
49}
executed 31 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
31
50QHttpMultiPart::QHttpMultiPart(QObject *parent) : QObject(*new QHttpMultiPartPrivate, parent)-
51{-
52 QHttpMultiPartPrivate * const d = d_func();-
53 d->contentType = MixedType;-
54}
executed 27 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
27
55-
56-
57-
58-
59-
60-
61-
62QHttpMultiPart::QHttpMultiPart(QHttpMultiPart::ContentType contentType, QObject *parent) : QObject(*new QHttpMultiPartPrivate, parent)-
63{-
64 QHttpMultiPartPrivate * const d = d_func();-
65 d->contentType = contentType;-
66}
executed 8 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
8
67-
68-
69-
70-
71QHttpMultiPart::~QHttpMultiPart()-
72{-
73}-
74-
75-
76-
77-
78void QHttpMultiPart::append(const QHttpPart &httpPart)-
79{-
80 d_func()->parts.append(httpPart);-
81}
executed 51 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
51
82void QHttpMultiPart::setContentType(QHttpMultiPart::ContentType contentType)-
83{-
84 d_func()->contentType = contentType;-
85}
executed 21 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
21
86-
87-
88-
89-
90-
91-
92QByteArray QHttpMultiPart::boundary() const-
93{-
94 return
executed 135 times by 2 tests: return d_func()->boundary;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
d_func()->boundary;
executed 135 times by 2 tests: return d_func()->boundary;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
135
95}-
96void QHttpMultiPart::setBoundary(const QByteArray &boundary)-
97{-
98 d_func()->boundary = boundary;-
99}
never executed: end of block
0
100qint64 QHttpPartPrivate::bytesAvailable() const-
101{-
102 checkHeaderCreated();-
103 qint64 bytesAvailable = header.count();-
104 if (bodyDevice
bodyDeviceDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
105 bytesAvailable += bodyDevice->bytesAvailable() - readPointer;-
106 }
never executed: end of block
else {
0
107 bytesAvailable += body.count() - readPointer;-
108 }
never executed: end of block
0
109-
110 return
never executed: return qMax(bytesAvailable, (qint64) 0);
qMax(bytesAvailable, (qint64) 0);
never executed: return qMax(bytesAvailable, (qint64) 0);
0
111}-
112-
113qint64 QHttpPartPrivate::readData(char *data, qint64 maxSize)-
114{-
115 checkHeaderCreated();-
116 qint64 bytesRead = 0;-
117 qint64 headerDataCount = header.count();-
118-
119-
120 if (readPointer < headerDataCount
readPointer < headerDataCountDescription
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1004 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
) {
36-1004
121 bytesRead = qMin(headerDataCount - readPointer, maxSize);-
122 const char *headerData = header.constData();-
123 memcpy(data, headerData + readPointer, bytesRead);-
124 readPointer += bytesRead;-
125 }
executed 36 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
36
126-
127 if (bytesRead < maxSize
bytesRead < maxSizeDescription
TRUEevaluated 1040 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEnever evaluated
) {
0-1040
128 if (bodyDevice
bodyDeviceDescription
TRUEevaluated 888 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 152 times by 1 test
Evaluated by:
  • tst_QNetworkReply
) {
152-888
129 qint64 dataBytesRead = bodyDevice->read(data + bytesRead, maxSize - bytesRead);-
130 if (dataBytesRead == -1
dataBytesRead == -1Description
TRUEnever evaluated
FALSEevaluated 888 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
)
0-888
131 return
never executed: return -1;
-1;
never executed: return -1;
0
132 bytesRead += dataBytesRead;-
133 readPointer += dataBytesRead;-
134 }
executed 888 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
else {
888
135 qint64 contentBytesRead = qMin(body.count() - readPointer + headerDataCount, maxSize - bytesRead);-
136 const char *contentData = body.constData();-
137-
138-
139 memcpy(data + bytesRead, contentData + readPointer - headerDataCount, contentBytesRead);-
140 bytesRead += contentBytesRead;-
141 readPointer += contentBytesRead;-
142 }
executed 152 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
152
143 }-
144 return
executed 1040 times by 2 tests: return bytesRead;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
bytesRead;
executed 1040 times by 2 tests: return bytesRead;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
1040
145}-
146-
147qint64 QHttpPartPrivate::size() const-
148{-
149 checkHeaderCreated();-
150 qint64 size = header.count();-
151 if (bodyDevice
bodyDeviceDescription
TRUEevaluated 2396 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 576 times by 1 test
Evaluated by:
  • tst_QNetworkReply
) {
576-2396
152 size += bodyDevice->size();-
153 }
executed 2396 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
else {
2396
154 size += body.count();-
155 }
executed 576 times by 1 test: end of block
Executed by:
  • tst_QNetworkReply
576
156 return
executed 2972 times by 2 tests: return size;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
size;
executed 2972 times by 2 tests: return size;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
2972
157}-
158-
159bool QHttpPartPrivate::reset()-
160{-
161 bool ret = true;-
162 if (bodyDevice
bodyDeviceDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
163 if (!bodyDevice->reset()
!bodyDevice->reset()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
164 ret = false;
never executed: ret = false;
0
165 readPointer = 0;-
166 return
never executed: return ret;
ret;
never executed: return ret;
0
167}-
168void QHttpPartPrivate::checkHeaderCreated() const-
169{-
170 if (!headerCreated
!headerCreatedDescription
TRUEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 3986 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
) {
26-3986
171-
172 QList<QPair<QByteArray, QByteArray> > fields = allRawHeaders();-
173 QList<QPair<QByteArray, QByteArray> >::const_iterator it = fields.constBegin();-
174 for (; it != fields.constEnd()
it != fields.constEnd()Description
TRUEevaluated 70 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
; ++it)
26-70
175 header += it->first + ": " + it->second + "\r\n";
executed 70 times by 2 tests: header += it->first + ": " + it->second + "\r\n";
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
70
176 header += "\r\n";-
177 headerCreated = true;-
178 }
executed 26 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
26
179}
executed 4012 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
4012
180-
181namespace { namespace Q_QGS_seedCreatedStorage { typedef QThreadStorage<bool *> Type; QBasicAtomicInt guard = { QtGlobalStatic::Uninitialized }; __attribute__((visibility("hidden"))) inline Type *innerFunction() { struct HolderBase { ~HolderBase() noexcept { if (guard.load() == QtGlobalStatic::Initialized
guard.load() =...c::InitializedDescription
TRUEevaluated 1 time by 1 test
Evaluated by:
  • tst_spdy - unknown status
FALSEnever evaluated
) guard.store(QtGlobalStatic::Destroyed);
executed 1 time by 1 test: guard.store(QtGlobalStatic::Destroyed);
Executed by:
  • tst_spdy - unknown status
}
executed 1 time by 1 test: end of block
Executed by:
  • tst_spdy - unknown status
}; static struct Holder : public HolderBase { Type value; Holder() noexcept(noexcept(Type ())) : value () { guard.store(QtGlobalStatic::Initialized); } } holder; return
executed 37 times by 2 tests: return &holder.value;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
&holder.value;
executed 37 times by 2 tests: return &holder.value;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
} } } static QGlobalStatic<QThreadStorage<bool *>, Q_QGS_seedCreatedStorage::innerFunction, Q_QGS_seedCreatedStorage::guard> seedCreatedStorage;;
0-37
182-
183QHttpMultiPartPrivate::QHttpMultiPartPrivate() : contentType(QHttpMultiPart::MixedType), device(new QHttpMultiPartIODevice(this))-
184{-
185 if (!seedCreatedStorage()->hasLocalData()
!seedCreatedSt...hasLocalData()Description
TRUEevaluated 2 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 33 times by 1 test
Evaluated by:
  • tst_QNetworkReply
) {
2-33
186 qsrand(QTime(0,0,0).msecsTo(QTime::currentTime()) ^ reinterpret_cast<quintptr>(this));-
187 seedCreatedStorage()->setLocalData(new bool(true));-
188 }
executed 2 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
2
189-
190 boundary = QByteArray("boundary_.oOo._")-
191 + QByteArray::number(qrand()).toBase64()-
192 + QByteArray::number(qrand()).toBase64()-
193 + QByteArray::number(qrand()).toBase64();-
194-
195-
196 if (boundary.count() > 70
boundary.count() > 70Description
TRUEnever evaluated
FALSEevaluated 35 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
)
0-35
197 boundary = boundary.left(70);
never executed: boundary = boundary.left(70);
0
198}
executed 35 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
35
199-
200qint64 QHttpMultiPartIODevice::size() const-
201{-
202-
203-
204 if (deviceSize == -1
deviceSize == -1Description
TRUEevaluated 24 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 3638 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
) {
24-3638
205 qint64 currentSize = 0;-
206 qint64 boundaryCount = multiPart->boundary.count();-
207 for (int a = 0; a < multiPart->parts.count()
a < multiPart->parts.count()Description
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 24 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
; a++) {
24-36
208 partOffsets.append(currentSize);-
209-
210-
211 currentSize += boundaryCount + 4 + multiPart->parts.at(a).d->size() + 2;-
212 }
executed 36 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
36
213 currentSize += boundaryCount + 6;-
214 deviceSize = currentSize;-
215 }
executed 24 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
24
216 return
executed 3662 times by 2 tests: return deviceSize;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
deviceSize;
executed 3662 times by 2 tests: return deviceSize;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
3662
217}-
218-
219bool QHttpMultiPartIODevice::isSequential() const-
220{-
221 for (int a = 0; a < multiPart->parts.count()
a < multiPart->parts.count()Description
TRUEevaluated 9288 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 3684 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
; a++) {
3684-9288
222 QIODevice *device = multiPart->parts.at(a).d->bodyDevice;-
223-
224-
225 if (device
deviceDescription
TRUEevaluated 8016 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1272 times by 1 test
Evaluated by:
  • tst_QNetworkReply
&& device->isSequential()
device->isSequential()Description
TRUEnever evaluated
FALSEevaluated 8016 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
)
0-8016
226 return
never executed: return true;
true;
never executed: return true;
0
227 }
executed 9288 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
9288
228 return
executed 3684 times by 2 tests: return false;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
false;
executed 3684 times by 2 tests: return false;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
3684
229}-
230-
231bool QHttpMultiPartIODevice::reset()-
232{-
233 for (int a = 0; a < multiPart->parts.count()
a < multiPart->parts.count()Description
TRUEnever evaluated
FALSEnever evaluated
; a++)
0
234 if (!multiPart->parts[a].d->reset()
!multiPart->pa...[a].d->reset()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
235 return
never executed: return false;
false;
never executed: return false;
0
236 readPointer = 0;-
237 return
never executed: return true;
true;
never executed: return true;
0
238}-
239qint64 QHttpMultiPartIODevice::readData(char *data, qint64 maxSize)-
240{-
241 qint64 bytesRead = 0, index = 0;-
242-
243-
244 while (index < multiPart->parts.count()
index < multiP...>parts.count()Description
TRUEevaluated 1860 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 8 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
&&
8-1860
245 readPointer >= partOffsets.at(index) + multiPart->parts.at(index).d->size()
readPointer >=...ry.count() + 6Description
TRUEevaluated 838 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1022 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
838-1022
246 + multiPart->boundary.count() + 6
readPointer >=...ry.count() + 6Description
TRUEevaluated 838 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1022 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
)
838-1022
247 index++;
executed 838 times by 2 tests: index++;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
838
248-
249-
250 while (bytesRead < maxSize
bytesRead < maxSizeDescription
TRUEevaluated 1066 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1004 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
&& index < multiPart->parts.count()
index < multiP...>parts.count()Description
TRUEevaluated 1040 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
) {
26-1066
251-
252-
253 QByteArray boundaryData = "--" + multiPart->boundary + "\r\n";-
254 qint64 boundaryCount = boundaryData.count();-
255 qint64 partIndex = readPointer - partOffsets.at(index);-
256 if (partIndex < boundaryCount
partIndex < boundaryCountDescription
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1004 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
) {
36-1004
257 qint64 boundaryBytesRead = qMin(boundaryCount - partIndex, maxSize - bytesRead);-
258 memcpy(data + bytesRead, boundaryData.constData() + partIndex, boundaryBytesRead);-
259 bytesRead += boundaryBytesRead;-
260 readPointer += boundaryBytesRead;-
261 partIndex += boundaryBytesRead;-
262 }
executed 36 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
36
263-
264-
265 if (bytesRead < maxSize
bytesRead < maxSizeDescription
TRUEevaluated 1040 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEnever evaluated
&& partIndex >= boundaryCount
partIndex >= boundaryCountDescription
TRUEevaluated 1040 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEnever evaluated
&& partIndex < boundaryCount + multiPart->parts.at(index).d->size()
partIndex < bo...dex).d->size()Description
TRUEevaluated 1040 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEnever evaluated
) {
0-1040
266 qint64 dataBytesRead = multiPart->parts[index].d->readData(data + bytesRead, maxSize - bytesRead);-
267 if (dataBytesRead == -1
dataBytesRead == -1Description
TRUEnever evaluated
FALSEevaluated 1040 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
)
0-1040
268 return
never executed: return -1;
-1;
never executed: return -1;
0
269 bytesRead += dataBytesRead;-
270 readPointer += dataBytesRead;-
271 partIndex += dataBytesRead;-
272 }
executed 1040 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
1040
273-
274-
275 if (bytesRead < maxSize
bytesRead < maxSizeDescription
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1004 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
&& partIndex >= boundaryCount + multiPart->parts.at(index).d->size()
partIndex >= b...dex).d->size()Description
TRUEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEnever evaluated
) {
0-1004
276 if (bytesRead == maxSize - 1
bytesRead == maxSize - 1Description
TRUEnever evaluated
FALSEevaluated 36 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
)
0-36
277 return
never executed: return bytesRead;
bytesRead;
never executed: return bytesRead;
0
278 memcpy(data + bytesRead, "\r\n", 2);-
279 bytesRead += 2;-
280 readPointer += 2;-
281 index++;-
282 }
executed 36 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
36
283 }
executed 1040 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
1040
284-
285 if (bytesRead < maxSize
bytesRead < maxSizeDescription
TRUEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEevaluated 1004 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
&& index == multiPart->parts.count()
index == multi...>parts.count()Description
TRUEevaluated 26 times by 2 tests
Evaluated by:
  • tst_QNetworkReply
  • tst_Spdy
FALSEnever evaluated
) {
0-1004
286 QByteArray finalBoundary = "--" + multiPart->boundary + "--\r\n";-
287 qint64 boundaryIndex = readPointer + finalBoundary.count() - size();-
288 qint64 lastBoundaryBytesRead = qMin(finalBoundary.count() - boundaryIndex, maxSize - bytesRead);-
289 memcpy(data + bytesRead, finalBoundary.constData() + boundaryIndex, lastBoundaryBytesRead);-
290 bytesRead += lastBoundaryBytesRead;-
291 readPointer += lastBoundaryBytesRead;-
292 }
executed 26 times by 2 tests: end of block
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
26
293 return
executed 1030 times by 2 tests: return bytesRead;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
bytesRead;
executed 1030 times by 2 tests: return bytesRead;
Executed by:
  • tst_QNetworkReply
  • tst_Spdy
1030
294}-
295-
296qint64 QHttpMultiPartIODevice::writeData(const char *data, qint64 maxSize)-
297{-
298 (void)data;;-
299 (void)maxSize;;-
300 return
never executed: return -1;
-1;
never executed: return -1;
0
301}-
302-
303-
304-
Switch to Source codePreprocessed file

Generated by Squish Coco Non-Commercial 4.3.0-BETA-master-30-08-2018-4cb69e9