| 370 | } |
| 371 | |
| 372 | void StatusVector::ImplStatusVector::appendTo(IStatus* dest) const throw() |
| 373 | { |
| 374 | if (hasData()) |
| 375 | { |
| 376 | ImplStatusVector tmpVector(dest); |
| 377 | ImplStatusVector newVector(getKind(), getCode()); |
| 378 | |
| 379 | if (newVector.appendErrors(&tmpVector)) |
| 380 | { |
| 381 | if (newVector.appendErrors(this)) |
| 382 | { |
| 383 | if (newVector.appendWarnings(&tmpVector)) |
| 384 | newVector.appendWarnings(this); |
| 385 | } |
| 386 | } |
| 387 | |
| 388 | // take special care about strings safety |
| 389 | // that's why tmpStatus is needed here |
| 390 | AutoPtr<IStatus, SimpleDispose> tmpStatus(dest->clone()); |
| 391 | newVector.copyTo(tmpStatus); |
| 392 | |
| 393 | dest->setErrors(tmpStatus->getErrors()); |
| 394 | dest->setWarnings(tmpStatus->getWarnings()); |
| 395 | } |
| 396 | } |
| 397 | |
| 398 | Gds::Gds(ISC_STATUS s) throw() : |
| 399 | StatusVector(isc_arg_gds, s) { } |
no test coverage detected