Used by DPM_get_blob
| 2972 | |
| 2973 | // Used by DPM_get_blob |
| 2974 | void blb::getFromPage(USHORT length, const UCHAR* data) |
| 2975 | { |
| 2976 | if (blb_level == 0) |
| 2977 | { |
| 2978 | blb_space_remaining = length - BLH_SIZE; |
| 2979 | if (length) |
| 2980 | memcpy(getBuffer(), data, length); |
| 2981 | } |
| 2982 | else |
| 2983 | { |
| 2984 | if (!blb_pages) |
| 2985 | blb_pages = vcl::newVector(*blb_transaction->tra_pool, 0); |
| 2986 | fb_assert(length % sizeof(ULONG) == 0); |
| 2987 | blb_pages->resize(length / sizeof(ULONG)); |
| 2988 | memcpy(blb_pages->memPtr(), data, length); |
| 2989 | } |
| 2990 | } |
| 2991 | |
| 2992 | // Used by DPM_store_blob |
| 2993 | void blb::storeToPage(USHORT* length, Firebird::Array<UCHAR>& buffer, const UCHAR** data, void* stack) |