| 679 | /*****************************************************************************/ |
| 680 | |
| 681 | int STORMAPI SCompImplode(void * pvOutBuffer, int * pcbOutBuffer, void * pvInBuffer, int cbInBuffer) |
| 682 | { |
| 683 | int cbOutBuffer; |
| 684 | |
| 685 | // Check for valid parameters |
| 686 | if(!pcbOutBuffer || *pcbOutBuffer < cbInBuffer || !pvOutBuffer || !pvInBuffer) |
| 687 | { |
| 688 | SetLastError(ERROR_INVALID_PARAMETER); |
| 689 | return 0; |
| 690 | } |
| 691 | |
| 692 | // Perform the compression |
| 693 | cbOutBuffer = *pcbOutBuffer; |
| 694 | Compress_PKLIB(pvOutBuffer, &cbOutBuffer, pvInBuffer, cbInBuffer, NULL, 0); |
| 695 | |
| 696 | // If the compression was unsuccessful, copy the data as-is |
| 697 | if(cbOutBuffer >= *pcbOutBuffer) |
| 698 | { |
| 699 | memcpy(pvOutBuffer, pvInBuffer, cbInBuffer); |
| 700 | cbOutBuffer = *pcbOutBuffer; |
| 701 | } |
| 702 | |
| 703 | *pcbOutBuffer = cbOutBuffer; |
| 704 | return 1; |
| 705 | } |
| 706 | |
| 707 | /*****************************************************************************/ |
| 708 | /* */ |
nothing calls this directly
no test coverage detected