| 302 | //----------------------------------------------------------------------------- |
| 303 | |
| 304 | Stream *ZipArchive::createNewFile(const char *filename, Compressor *method) |
| 305 | { |
| 306 | ZipEntry *ze = new ZipEntry; |
| 307 | ze->mIsDirectory = false; |
| 308 | ze->mCD.setFilename(filename); |
| 309 | insertEntry(ze); |
| 310 | |
| 311 | ZipTempStream *stream = new ZipTempStream(&ze->mCD); |
| 312 | if(stream->open()) |
| 313 | { |
| 314 | Stream *retStream = method->createWriteStream(&ze->mCD, stream); |
| 315 | if(retStream == NULL) |
| 316 | { |
| 317 | delete stream; |
| 318 | return NULL; |
| 319 | } |
| 320 | |
| 321 | ZipStatFilter *filter = new ZipStatFilter(&ze->mCD); |
| 322 | if(! filter->attachStream(retStream)) |
| 323 | { |
| 324 | delete filter; |
| 325 | delete retStream; |
| 326 | delete stream; |
| 327 | return NULL; |
| 328 | } |
| 329 | |
| 330 | ze->mCD.mCompressMethod = method->getMethod(); |
| 331 | ze->mCD.mInternalFlags |= CDFileOpen; |
| 332 | |
| 333 | return filter; |
| 334 | } |
| 335 | |
| 336 | return NULL; |
| 337 | } |
| 338 | |
| 339 | void ZipArchive::updateFile(ZipTempStream *stream) |
| 340 | { |
nothing calls this directly
no test coverage detected